Revision: 201023
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Fri, 11 Jun 2010 15:32:35 +0300
changeset 71 dd83586b62d6
parent 66 8873e6835f7b
child 80 b4bf7a662141
Revision: 201023 Kit: 2010123
authenticationservices/authenticationserver/group/security_authserver.mrp
authorisation/userpromptservice/group/security_ups.mrp
authorisation/userpromptutils/group/security_ups_utils.mrp
bld.inf
contentmgmt/cafrecogniserconfig/ABLD.BAT
contentmgmt/cafrecogniserconfig/security_reccafconfig.mrp
contentmgmt/cafstreamingsupport/group/security_streamingcaf.mrp
contentmgmt/contentaccessfwfordrm/group/security_caf2.mrp
contentmgmt/referencedrmagent/RefTestAgent/group/ABLD.BAT
contentmgmt/referencedrmagent/RefTestAgent/group/security_rta.mrp
contentmgmt/referencedrmagent/RefTestAgent/localsdp/inc/sdpcodecstringconstants.h
crypto/weakcrypto/bwins/HASHu.def
crypto/weakcrypto/bwins/PBE_v2U.def
crypto/weakcrypto/bwins/RANDOMU.DEF
crypto/weakcrypto/bwins/TPADDINGSERVERU.DEF
crypto/weakcrypto/bwins/cryptographyU.def
crypto/weakcrypto/bwins/cryptography_eka2U.def
crypto/weakcrypto/bwins/cryptoswitchU.def
crypto/weakcrypto/bwins/randsvru.def
crypto/weakcrypto/eabi/PBE_v2U.def
crypto/weakcrypto/eabi/cryptographyU.DEF
crypto/weakcrypto/eabi/cryptography_eka2U.def
crypto/weakcrypto/eabi/hashU.DEF
crypto/weakcrypto/eabi/randomU.DEF
crypto/weakcrypto/eabi/randsvrU.DEF
crypto/weakcrypto/group/How_To_Build_Strong_Crypto.txt
crypto/weakcrypto/group/README.txt
crypto/weakcrypto/group/README_POST_94_MCL_BRANCH.txt
crypto/weakcrypto/group/bld.inf
crypto/weakcrypto/group/crypto.mmh
crypto/weakcrypto/group/crypto.mmp
crypto/weakcrypto/group/cryptolib.mmp
crypto/weakcrypto/group/cryptoswitch.mmp
crypto/weakcrypto/group/doxyfile
crypto/weakcrypto/group/hash.mmp
crypto/weakcrypto/group/pbe.mmp
crypto/weakcrypto/group/random.mmp
crypto/weakcrypto/group/randsvr.mmp
crypto/weakcrypto/group/security_crypto_strong.history.xml
crypto/weakcrypto/group/security_crypto_strong.mrp
crypto/weakcrypto/group/security_crypto_weak.history.xml
crypto/weakcrypto/group/security_crypto_weak.mrp
crypto/weakcrypto/group/tasymmetric.mmp
crypto/weakcrypto/group/tbigint.mmp
crypto/weakcrypto/group/thash.mmp
crypto/weakcrypto/group/tpaddingServer.mmp
crypto/weakcrypto/group/tpbe.mmp
crypto/weakcrypto/group/tpkcs5kdf.mmp
crypto/weakcrypto/group/trandom.mmp
crypto/weakcrypto/group/tsymmetric.mmp
crypto/weakcrypto/source/asymmetric/asymmetric.cpp
crypto/weakcrypto/source/asymmetric/dh.cpp
crypto/weakcrypto/source/asymmetric/dhkeys.cpp
crypto/weakcrypto/source/asymmetric/dsakeys.cpp
crypto/weakcrypto/source/asymmetric/dsasigner.cpp
crypto/weakcrypto/source/asymmetric/dsaverifier.cpp
crypto/weakcrypto/source/asymmetric/rsadecryptor.cpp
crypto/weakcrypto/source/asymmetric/rsaencryptor.cpp
crypto/weakcrypto/source/asymmetric/rsafunction.cpp
crypto/weakcrypto/source/asymmetric/rsafunction.h
crypto/weakcrypto/source/asymmetric/rsakeys.cpp
crypto/weakcrypto/source/asymmetric/rsasigner.cpp
crypto/weakcrypto/source/asymmetric/rsaverifier.cpp
crypto/weakcrypto/source/bigint/algorithms.cpp
crypto/weakcrypto/source/bigint/algorithms.h
crypto/weakcrypto/source/bigint/bigint.cpp
crypto/weakcrypto/source/bigint/gcchelp.cpp
crypto/weakcrypto/source/bigint/mont.cpp
crypto/weakcrypto/source/bigint/mont.h
crypto/weakcrypto/source/bigint/primes.cpp
crypto/weakcrypto/source/bigint/primes.h
crypto/weakcrypto/source/bigint/rinteger.cpp
crypto/weakcrypto/source/bigint/stackinteger.h
crypto/weakcrypto/source/bigint/vchelp.cpp
crypto/weakcrypto/source/bigint/windowslider.cpp
crypto/weakcrypto/source/bigint/windowslider.h
crypto/weakcrypto/source/bigint/words.h
crypto/weakcrypto/source/common/cryptostrength.cpp
crypto/weakcrypto/source/common/inlines.h
crypto/weakcrypto/source/common/keyidentifierutil.cpp
crypto/weakcrypto/source/cryptoswitch/cryptography_stubs.h
crypto/weakcrypto/source/cryptoswitch/cryptoswitch.cpp
crypto/weakcrypto/source/hash/hash.cpp
crypto/weakcrypto/source/hash/hashinc.h
crypto/weakcrypto/source/hash/hmac.cpp
crypto/weakcrypto/source/hash/md2.cpp
crypto/weakcrypto/source/hash/md4.cpp
crypto/weakcrypto/source/hash/md5.cpp
crypto/weakcrypto/source/hash/sha1.cpp
crypto/weakcrypto/source/hash/sha2.cpp
crypto/weakcrypto/source/hash/sha224and256.cpp
crypto/weakcrypto/source/hash/sha224and256.h
crypto/weakcrypto/source/hash/sha384and512.cpp
crypto/weakcrypto/source/hash/sha384and512.h
crypto/weakcrypto/source/hash/shacommon.h
crypto/weakcrypto/source/padding/padding.cpp
crypto/weakcrypto/source/padding/pkcs7.cpp
crypto/weakcrypto/source/pbe/pbe.cpp
crypto/weakcrypto/source/pbe/pbedata.cpp
crypto/weakcrypto/source/pbe/pbefactory.cpp
crypto/weakcrypto/source/pbe/pbencryptor.cpp
crypto/weakcrypto/source/pbe/pbencryptorset.cpp
crypto/weakcrypto/source/pbe/pbeset.cpp
crypto/weakcrypto/source/pbe/pbesymmetricfactory.cpp
crypto/weakcrypto/source/pbe/pbesymmetricfactory.h
crypto/weakcrypto/source/pkcs12kdf/GenTestDKs.java
crypto/weakcrypto/source/pkcs12kdf/Pkcs12Pbe.java
crypto/weakcrypto/source/pkcs12kdf/pkcs12kdf.cpp
crypto/weakcrypto/source/pkcs5kdf/pkcs5kdf.cpp
crypto/weakcrypto/source/random/random.cpp
crypto/weakcrypto/source/random/randsvr.cpp
crypto/weakcrypto/source/random/threadrandom.cpp
crypto/weakcrypto/source/symmetric/3des.cpp
crypto/weakcrypto/source/symmetric/arc4.cpp
crypto/weakcrypto/source/symmetric/bufferedtransformation.cpp
crypto/weakcrypto/source/symmetric/cbcmode.cpp
crypto/weakcrypto/source/symmetric/des.cpp
crypto/weakcrypto/source/symmetric/des.inl
crypto/weakcrypto/source/symmetric/destables.h
crypto/weakcrypto/source/symmetric/mstreamcipher.cpp
crypto/weakcrypto/source/symmetric/nullcipher.cpp
crypto/weakcrypto/source/symmetric/rc2.cpp
crypto/weakcrypto/source/symmetric/rc2table.h
crypto/weakcrypto/source/symmetric/rijndael.cpp
crypto/weakcrypto/source/symmetric/rijndaeltables.h
crypto/weakcrypto/strong/bld.inf
crypto/weakcrypto/strong/strong_crypto.mmp
crypto/weakcrypto/test/performancetests.mdl
crypto/weakcrypto/test/run_tests.bat
crypto/weakcrypto/test/tasymmetric/cryptopp/exponentiate.cpp
crypto/weakcrypto/test/tasymmetric/cryptopp/exponentiate32.dsp
crypto/weakcrypto/test/tasymmetric/cryptopp/exponentiate32.dsw
crypto/weakcrypto/test/tasymmetric/performancetest.cpp
crypto/weakcrypto/test/tasymmetric/performancetest.h
crypto/weakcrypto/test/tasymmetric/script_gen/Makefile
crypto/weakcrypto/test/tasymmetric/script_gen/dsa_test.c
crypto/weakcrypto/test/tasymmetric/script_gen/gen_dsakey.c
crypto/weakcrypto/test/tasymmetric/script_gen/gen_random.c
crypto/weakcrypto/test/tasymmetric/script_gen/gen_rsakey.c
crypto/weakcrypto/test/tasymmetric/script_gen/keys.c
crypto/weakcrypto/test/tasymmetric/script_gen/keys.h
crypto/weakcrypto/test/tasymmetric/script_gen/rsa_test.c
crypto/weakcrypto/test/tasymmetric/script_gen/utils.c
crypto/weakcrypto/test/tasymmetric/script_gen/utils.h
crypto/weakcrypto/test/tasymmetric/scripts/asymmetricPerformance.txt
crypto/weakcrypto/test/tasymmetric/scripts/tasymmetrictests.txt
crypto/weakcrypto/test/tasymmetric/tasymmetricmain.cpp
crypto/weakcrypto/test/tasymmetric/tbrokenrandom.cpp
crypto/weakcrypto/test/tasymmetric/tbrokenrandom.h
crypto/weakcrypto/test/tasymmetric/tdhvector.cpp
crypto/weakcrypto/test/tasymmetric/tdhvector.h
crypto/weakcrypto/test/tasymmetric/tdsaprimegen.cpp
crypto/weakcrypto/test/tasymmetric/tdsaprimegen.h
crypto/weakcrypto/test/tasymmetric/tdsasignfb.cpp
crypto/weakcrypto/test/tasymmetric/tdsasignfb.h
crypto/weakcrypto/test/tasymmetric/tdsavector.cpp
crypto/weakcrypto/test/tasymmetric/tdsavector.h
crypto/weakcrypto/test/tasymmetric/trsaencryptfb.cpp
crypto/weakcrypto/test/tasymmetric/trsaencryptfb.h
crypto/weakcrypto/test/tasymmetric/trsaparams.cpp
crypto/weakcrypto/test/tasymmetric/trsaparams.h
crypto/weakcrypto/test/tasymmetric/trsasignfb.cpp
crypto/weakcrypto/test/tasymmetric/trsasignfb.h
crypto/weakcrypto/test/tasymmetric/trsavector.cpp
crypto/weakcrypto/test/tasymmetric/trsavector.h
crypto/weakcrypto/test/tasymmetric/tsignatureinput.cpp
crypto/weakcrypto/test/tasymmetric/tsignatureinput.h
crypto/weakcrypto/test/tasymmetric/tvectortest.cpp
crypto/weakcrypto/test/tasymmetric/tvectortest.h
crypto/weakcrypto/test/tasymmetric/tvectorutils.cpp
crypto/weakcrypto/test/tasymmetric/tvectorutils.h
crypto/weakcrypto/test/tbigint/scripts/tbasicmathstests.txt
crypto/weakcrypto/test/tbigint/scripts/tconstructiontests.txt
crypto/weakcrypto/test/tbigint/scripts/tmontgomerytests.txt
crypto/weakcrypto/test/tbigint/scripts/tperformancetests.txt
crypto/weakcrypto/test/tbigint/scripts/tprimefailuretests.txt
crypto/weakcrypto/test/tbigint/scripts/tprimegen.txt
crypto/weakcrypto/test/tbigint/scripts/tprimetests.txt
crypto/weakcrypto/test/tbigint/scripts/tprimetests2.txt
crypto/weakcrypto/test/tbigint/tbasicmathsfb.cpp
crypto/weakcrypto/test/tbigint/tbasicmathsfb.h
crypto/weakcrypto/test/tbigint/tbasicmathsvector.cpp
crypto/weakcrypto/test/tbigint/tbasicmathsvector.h
crypto/weakcrypto/test/tbigint/tbigint.h
crypto/weakcrypto/test/tbigint/tbigintmain.cpp
crypto/weakcrypto/test/tbigint/tconstructionfb.cpp
crypto/weakcrypto/test/tbigint/tconstructionfb.h
crypto/weakcrypto/test/tbigint/tconstructionvector.cpp
crypto/weakcrypto/test/tbigint/tconstructionvector.h
crypto/weakcrypto/test/tbigint/tmontgomeryfb.cpp
crypto/weakcrypto/test/tbigint/tmontgomeryfb.h
crypto/weakcrypto/test/tbigint/tmontgomeryperformance.cpp
crypto/weakcrypto/test/tbigint/tmontgomeryperformance.h
crypto/weakcrypto/test/tbigint/tmontgomeryvector.cpp
crypto/weakcrypto/test/tbigint/tmontgomeryvector.h
crypto/weakcrypto/test/tbigint/tprimegen.cpp
crypto/weakcrypto/test/tbigint/tprimegen.h
crypto/weakcrypto/test/tbigint/tprimegenperformance.cpp
crypto/weakcrypto/test/tbigint/tprimegenperformance.h
crypto/weakcrypto/test/tbigint/tprimegenvector.cpp
crypto/weakcrypto/test/tbigint/tprimegenvector.h
crypto/weakcrypto/test/tbigint/tprimevector.cpp
crypto/weakcrypto/test/tbigint/tprimevector.h
crypto/weakcrypto/test/tbigint/tprimevectorperformance.cpp
crypto/weakcrypto/test/tbigint/tprimevectorperformance.h
crypto/weakcrypto/test/tbigint/tutils.cpp
crypto/weakcrypto/test/tbigint/tutils.h
crypto/weakcrypto/test/thash/hashtestutils.cpp
crypto/weakcrypto/test/thash/hashtestutils.h
crypto/weakcrypto/test/thash/testdata/448bit_data.txt
crypto/weakcrypto/test/thash/testdata/512bit_data.txt
crypto/weakcrypto/test/thash/testdata/512bitdata_largerkey.txt
crypto/weakcrypto/test/thash/testdata/hmacmd2.dat
crypto/weakcrypto/test/thash/testdata/hmacmd4.dat
crypto/weakcrypto/test/thash/testdata/hmacmd5.dat
crypto/weakcrypto/test/thash/testdata/hmacsha1.dat
crypto/weakcrypto/test/thash/testdata/hmacsha224.dat
crypto/weakcrypto/test/thash/testdata/hmacsha256.dat
crypto/weakcrypto/test/thash/testdata/hmacsha384.dat
crypto/weakcrypto/test/thash/testdata/hmacsha512.dat
crypto/weakcrypto/test/thash/testdata/largerthanblocksizedata_key.txt
crypto/weakcrypto/test/thash/testdata/md2.dat
crypto/weakcrypto/test/thash/testdata/md4.dat
crypto/weakcrypto/test/thash/testdata/md4_largedata1.txt
crypto/weakcrypto/test/thash/testdata/md4_largedata2.txt
crypto/weakcrypto/test/thash/testdata/md4_largedata3.txt
crypto/weakcrypto/test/thash/testdata/md5.dat
crypto/weakcrypto/test/thash/testdata/sha1.dat
crypto/weakcrypto/test/thash/testdata/sha224.dat
crypto/weakcrypto/test/thash/testdata/sha256.dat
crypto/weakcrypto/test/thash/testdata/sha384.dat
crypto/weakcrypto/test/thash/testdata/sha512.dat
crypto/weakcrypto/test/thash/thash.cpp
crypto/weakcrypto/test/tpadding/scripts/tpadSSLv3.ini
crypto/weakcrypto/test/tpadding/scripts/tpadding.script
crypto/weakcrypto/test/tpadding/scripts/tpaddingnone.ini
crypto/weakcrypto/test/tpadding/scripts/tpaddingudeb.script
crypto/weakcrypto/test/tpadding/scripts/tpadpkcs7.ini
crypto/weakcrypto/test/tpadding/tpaddingNone.cpp
crypto/weakcrypto/test/tpadding/tpaddingNone.h
crypto/weakcrypto/test/tpadding/tpaddingPKCS1.cpp
crypto/weakcrypto/test/tpadding/tpaddingPKCS1.h
crypto/weakcrypto/test/tpadding/tpaddingPKCS7.cpp
crypto/weakcrypto/test/tpadding/tpaddingPKCS7.h
crypto/weakcrypto/test/tpadding/tpaddingSSLv3.cpp
crypto/weakcrypto/test/tpadding/tpaddingSSLv3.h
crypto/weakcrypto/test/tpadding/tpaddingServer.cpp
crypto/weakcrypto/test/tpadding/tpaddingServer.h
crypto/weakcrypto/test/tpadding/tpaddingTestSteps.cpp
crypto/weakcrypto/test/tpadding/tpaddingTestSteps.h
crypto/weakcrypto/test/tpbe/Data/pkcs12-first.dat
crypto/weakcrypto/test/tpbe/Data/pkcs5-orig.dat
crypto/weakcrypto/test/tpbe/Data/strong.dat
crypto/weakcrypto/test/tpbe/Data/weak.dat
crypto/weakcrypto/test/tpbe/scripts/tpbetests_v2.txt
crypto/weakcrypto/test/tpbe/tactionelement.cpp
crypto/weakcrypto/test/tpbe/tactionelement.h
crypto/weakcrypto/test/tpbe/tactionset.cpp
crypto/weakcrypto/test/tpbe/tactionset.h
crypto/weakcrypto/test/tpbe/tactionsetreadpfs.cpp
crypto/weakcrypto/test/tpbe/tactionsetreadpfs.h
crypto/weakcrypto/test/tpbe/tactionsetwritepfs.cpp
crypto/weakcrypto/test/tpbe/tactionsetwritepfs.h
crypto/weakcrypto/test/tpbe/texternpbeparams.cpp
crypto/weakcrypto/test/tpbe/texternpbeparams.h
crypto/weakcrypto/test/tpbe/tpbe.h
crypto/weakcrypto/test/tpbe/tpbemain.cpp
crypto/weakcrypto/test/tpkcs5kdf/scripts/tpkcs12kdftests.txt
crypto/weakcrypto/test/tpkcs5kdf/tactionderivekey.cpp
crypto/weakcrypto/test/tpkcs5kdf/tactionderivekey.h
crypto/weakcrypto/test/tpkcs5kdf/tpkcs5kdfmain.cpp
crypto/weakcrypto/test/trandom/t_random.cpp
crypto/weakcrypto/test/trandom/t_random.mmp
crypto/weakcrypto/test/trandom/testdata/3des.dat
crypto/weakcrypto/test/trandom/testdata/3des2cbc.dat
crypto/weakcrypto/test/trandom/testdata/3des2cfb.dat
crypto/weakcrypto/test/trandom/testdata/3des2ecb.dat
crypto/weakcrypto/test/trandom/testdata/3des2ofb.dat
crypto/weakcrypto/test/trandom/testdata/3des3cbc.dat
crypto/weakcrypto/test/trandom/testdata/3des3cfb.dat
crypto/weakcrypto/test/trandom/testdata/3des3ecb.dat
crypto/weakcrypto/test/trandom/testdata/3des3ofb.dat
crypto/weakcrypto/test/trandom/testdata/3descbc.dat
crypto/weakcrypto/test/trandom/testdata/3descfb.dat
crypto/weakcrypto/test/trandom/testdata/3desecb.dat
crypto/weakcrypto/test/trandom/testdata/3desofb.dat
crypto/weakcrypto/test/trandom/testdata/bsafetest.dat
crypto/weakcrypto/test/trandom/testdata/des.dat
crypto/weakcrypto/test/trandom/testdata/descbc.dat
crypto/weakcrypto/test/trandom/testdata/descfb.dat
crypto/weakcrypto/test/trandom/testdata/desecb.dat
crypto/weakcrypto/test/trandom/testdata/desofb.dat
crypto/weakcrypto/test/trandom/testdata/function.dat
crypto/weakcrypto/test/trandom/testdata/hmacmd2.dat
crypto/weakcrypto/test/trandom/testdata/hmacmd5.dat
crypto/weakcrypto/test/trandom/testdata/hmacsha.dat
crypto/weakcrypto/test/trandom/testdata/hmacsha1.dat
crypto/weakcrypto/test/trandom/testdata/md2.dat
crypto/weakcrypto/test/trandom/testdata/md5.dat
crypto/weakcrypto/test/trandom/testdata/oom.dat
crypto/weakcrypto/test/trandom/testdata/rc2cbc.dat
crypto/weakcrypto/test/trandom/testdata/rc2cfb.dat
crypto/weakcrypto/test/trandom/testdata/rc2ecb.dat
crypto/weakcrypto/test/trandom/testdata/rc2ofb.dat
crypto/weakcrypto/test/trandom/testdata/rc4.dat
crypto/weakcrypto/test/trandom/testdata/rc5cbc.dat
crypto/weakcrypto/test/trandom/testdata/rc5cfb.dat
crypto/weakcrypto/test/trandom/testdata/rc5ecb.dat
crypto/weakcrypto/test/trandom/testdata/rc5ofb.dat
crypto/weakcrypto/test/trandom/testdata/rsa.dat
crypto/weakcrypto/test/trandom/testdata/script.dat
crypto/weakcrypto/test/trandom/testdata/sha.dat
crypto/weakcrypto/test/trandom/testdata/sha1.dat
crypto/weakcrypto/test/trandom/testdata/vector.dat
crypto/weakcrypto/test/tsymmetric/cryptotestaction.cpp
crypto/weakcrypto/test/tsymmetric/cryptotestaction.h
crypto/weakcrypto/test/tsymmetric/scripts/AESECBVectorsScript.txt
crypto/weakcrypto/test/tsymmetric/scripts/AESECB_KAT_VK.txt
crypto/weakcrypto/test/tsymmetric/scripts/AESECB_KAT_VT.txt
crypto/weakcrypto/test/tsymmetric/scripts/AESMonteCarloDecryptCBC128.txt
crypto/weakcrypto/test/tsymmetric/scripts/AESMonteCarloDecryptCBC192.txt
crypto/weakcrypto/test/tsymmetric/scripts/AESMonteCarloDecryptCBC256.txt
crypto/weakcrypto/test/tsymmetric/scripts/AESMonteCarloDecryptECB128.txt
crypto/weakcrypto/test/tsymmetric/scripts/AESMonteCarloDecryptECB192.txt
crypto/weakcrypto/test/tsymmetric/scripts/AESMonteCarloDecryptECB256.txt
crypto/weakcrypto/test/tsymmetric/scripts/AESMonteCarloEncryptCBC128.txt
crypto/weakcrypto/test/tsymmetric/scripts/AESMonteCarloEncryptCBC192.txt
crypto/weakcrypto/test/tsymmetric/scripts/AESMonteCarloEncryptCBC256.txt
crypto/weakcrypto/test/tsymmetric/scripts/AESMonteCarloEncryptECB128.txt
crypto/weakcrypto/test/tsymmetric/scripts/AESMonteCarloEncryptECB192.txt
crypto/weakcrypto/test/tsymmetric/scripts/AESMonteCarloEncryptECB256.txt
crypto/weakcrypto/test/tsymmetric/scripts/symmetricOOMtests.txt
crypto/weakcrypto/test/tsymmetric/scripts/tsymmetricperformancetests.txt
crypto/weakcrypto/test/tsymmetric/scripts/tsymmetrictests.txt
crypto/weakcrypto/test/tsymmetric/tactionincremental.cpp
crypto/weakcrypto/test/tsymmetric/tactionincremental.h
crypto/weakcrypto/test/tsymmetric/tactionmontecarlo.cpp
crypto/weakcrypto/test/tsymmetric/tactionmontecarlo.h
crypto/weakcrypto/test/tsymmetric/tactionvector.cpp
crypto/weakcrypto/test/tsymmetric/tactionvector.h
crypto/weakcrypto/test/tsymmetric/tperformancetest.cpp
crypto/weakcrypto/test/tsymmetric/tperformancetest.h
crypto/weakcrypto/test/tsymmetric/tsymmetricmain.cpp
crypto/weakcryptospi/group/ABLD.BAT
crypto/weakcryptospi/group/security_cryptospi_strong.mrp
crypto/weakcryptospi/group/security_cryptospi_weak.mrp
cryptomgmtlibs/cryptotokenfw/group/security_cryptotokens.mrp
cryptomgmtlibs/securitycommonutils/group/security_commonutils.mrp
cryptomgmtlibs/securitytestfw/group/security_testframework.mrp
cryptomgmtlibs/securityutils/group/security_common.mrp
cryptoplugins/cryptospiplugins/group/security_cryptospi_plugins.mrp
cryptoservices/asnpkcs/group/security_asnpkcs.mrp
cryptoservices/certificateandkeymgmt/group/security_certman.mrp
cryptoservices/filebasedcertificateandkeystores/group/security_filetokens.mrp
cryptoservices/filebasedcertificateandkeystores/test/keytool/keytool.cpp
security_info/security_metadata/security_metadata.mrp
securityanddataprivacytools/securityconfig/group/security_config.mrp
securityanddataprivacytools/securitytools/certapp/utils/openssl_license.cpp
securityanddataprivacytools/securitytools/group/security_tools.mrp
--- a/authenticationservices/authenticationserver/group/security_authserver.mrp	Thu May 27 14:32:46 2010 +0300
+++ b/authenticationservices/authenticationserver/group/security_authserver.mrp	Fri Jun 11 15:32:35 2010 +0300
@@ -1,19 +1,3 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: 
-#
-
 component	security_authserver
 source	\sf\os\security\authenticationservices\authenticationserver
 binary	\sf\os\security\authenticationservices\authenticationserver\group	all
--- a/authorisation/userpromptservice/group/security_ups.mrp	Thu May 27 14:32:46 2010 +0300
+++ b/authorisation/userpromptservice/group/security_ups.mrp	Fri Jun 11 15:32:35 2010 +0300
@@ -1,18 +1,3 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: 
-#
 
 component	security_ups
 source	\sf\os\security\authorisation\userpromptservice\bwins
--- a/authorisation/userpromptutils/group/security_ups_utils.mrp	Thu May 27 14:32:46 2010 +0300
+++ b/authorisation/userpromptutils/group/security_ups_utils.mrp	Fri Jun 11 15:32:35 2010 +0300
@@ -1,18 +1,3 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: 
-#
 
 component	security_ups_utils
 source	\sf\os\security\authorisation\userpromptutils
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bld.inf	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,80 @@
+/*
+* Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* BLD.INF
+* Builds for the sdp subsystem 
+* This is the bld.inf file for building the secuirity subsystem.  It works for
+* both beech and cedar, using the appropriate macros (if defined) to determine
+* what gets built.
+*
+*/
+
+
+/**
+ @file
+*/
+
+#ifndef TOOLS2
+// Disable everything except security_tools for TOOLS2 target
+
+#include "cryptomgmtlibs/securityutils/group/bld.inf"
+#include "cryptomgmtlibs/securitycommonutils/group/bld.inf"
+#ifdef SYMBIAN_CRYPTOSPI
+	#include "crypto/weakcryptospi/group/bld.inf"
+	#include "crypto/weakcryptospi/strong/bld.inf"	
+	#include "cryptoplugins/cryptospiplugins/group/bld.inf"	
+#else
+	#ifndef __SECURITY_COVERAGE_BUILD__
+		#include "crypto/weakcrypto/group/bld.inf"
+		#include "crypto/weakcrypto/strong/bld.inf"	
+	#endif
+
+#endif
+
+#include "cryptomgmtlibs/cryptotokenfw/group/bld.inf"
+#include "cryptoservices/asnpkcs/group/bld.inf"
+#include "cryptoservices/certificateandkeymgmt/group/bld.inf"
+
+// DEF139848 fix - Forward Propogation from Symtb9.1 - Illegal dependency from OCSP to HTTP.
+//#include "mw/securitysrv/pkiutilities/ocsp/group/bld.inf"
+
+#include "cryptoservices/filebasedcertificateandkeystores/group/bld.inf"
+#include "securityanddataprivacytools/securityconfig/group/bld.inf"
+#include "cryptomgmtlibs/securitytestfw/group/bld.inf"
+#include "contentmgmt/cafrecogniserconfig/bld.inf"
+#ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
+#include "contentmgmt/referencedrmagent/refcafhelper/group/bld.inf"
+#endif //SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
+#include "contentmgmt/contentaccessfwfordrm/group/bld.inf"
+#include "contentmgmt/cafstreamingsupport/group/bld.inf"
+#include "contentmgmt/referencedrmagent/RefTestAgent/group/bld.inf"
+
+#ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
+#include "contentmgmt/mtputils/group/bld.inf"
+#endif //SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
+
+#include "authorisation/userpromptservice/group/bld.inf"
+#include "authorisation/userpromptutils/group/bld.inf"
+
+
+#ifdef SYMBIAN_AUTH_SERVER
+#include "authenticationservices/authenticationserver/group/bld.inf"
+#endif
+
+#endif //TOOLS2
+
+// Only the certapp build with TOOLS2
+#include "securityanddataprivacytools/securitytools/group/bld.inf"
+
+
--- a/contentmgmt/cafrecogniserconfig/ABLD.BAT	Thu May 27 14:32:46 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-@ECHO OFF
-
-REM Bldmake-generated batch file - ABLD.BAT
-REM ** DO NOT EDIT **
-
-perl -S ABLD.PL "\sf\os\security\contentmgmt\cafrecogniserconfig\\" %1 %2 %3 %4 %5 %6 %7 %8 %9
-if errorlevel==1 goto CheckPerl
-goto End
-
-:CheckPerl
-perl -v >NUL
-if errorlevel==1 echo Is Perl, version 5.003_07 or later, installed?
-goto End
-
-:End
--- a/contentmgmt/cafrecogniserconfig/security_reccafconfig.mrp	Thu May 27 14:32:46 2010 +0300
+++ b/contentmgmt/cafrecogniserconfig/security_reccafconfig.mrp	Fri Jun 11 15:32:35 2010 +0300
@@ -1,19 +1,3 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: 
-#
-
 component		security_reccafconfig
 binary			\sf\os\security\contentmgmt\cafrecogniserconfig all
 exports			\sf\os\security\contentmgmt\cafrecogniserconfig security_caf2
--- a/contentmgmt/cafstreamingsupport/group/security_streamingcaf.mrp	Thu May 27 14:32:46 2010 +0300
+++ b/contentmgmt/cafstreamingsupport/group/security_streamingcaf.mrp	Fri Jun 11 15:32:35 2010 +0300
@@ -1,19 +1,3 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: 
-#
-
 component		security_streamingcaf
 source			\sf\os\security\contentmgmt\cafstreamingsupport
 binary			\sf\os\security\contentmgmt\cafstreamingsupport\group all
--- a/contentmgmt/contentaccessfwfordrm/group/security_caf2.mrp	Thu May 27 14:32:46 2010 +0300
+++ b/contentmgmt/contentaccessfwfordrm/group/security_caf2.mrp	Fri Jun 11 15:32:35 2010 +0300
@@ -1,19 +1,3 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: 
-#
-
 component		security_caf2
 
 source			\sf\os\security\contentmgmt\contentaccessfwfordrm\BWINS
--- a/contentmgmt/referencedrmagent/RefTestAgent/group/ABLD.BAT	Thu May 27 14:32:46 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-@ECHO OFF
-
-REM Bldmake-generated batch file - ABLD.BAT
-REM ** DO NOT EDIT **
-
-perl -S ABLD.PL "\sf\os\security\contentmgmt\referencedrmagent\RefTestAgent\group\\" %1 %2 %3 %4 %5 %6 %7 %8 %9
-if errorlevel==1 goto CheckPerl
-goto End
-
-:CheckPerl
-perl -v >NUL
-if errorlevel==1 echo Is Perl, version 5.003_07 or later, installed?
-goto End
-
-:End
--- a/contentmgmt/referencedrmagent/RefTestAgent/group/security_rta.mrp	Thu May 27 14:32:46 2010 +0300
+++ b/contentmgmt/referencedrmagent/RefTestAgent/group/security_rta.mrp	Fri Jun 11 15:32:35 2010 +0300
@@ -1,19 +1,3 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: 
-#
-
 component		security_rta
 binary			\sf\os\security\contentmgmt\referencedrmagent\RefTestAgent\group all
 exports			\sf\os\security\contentmgmt\referencedrmagent\RefTestAgent\group security_caf2
--- a/contentmgmt/referencedrmagent/RefTestAgent/localsdp/inc/sdpcodecstringconstants.h	Thu May 27 14:32:46 2010 +0300
+++ b/contentmgmt/referencedrmagent/RefTestAgent/localsdp/inc/sdpcodecstringconstants.h	Fri Jun 11 15:32:35 2010 +0300
@@ -1,19 +1,3 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
 // Autogenerated from epoc32/build/cafstreamingsupport/c_f439661e83f96b9c/localsdpcodec_dll/sdpcodecstringconstants.st by the stringtable tool - Do not edit
 
 #ifndef STRINGTABLE_SdpCodecStringConstants
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/bwins/HASHu.def	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,86 @@
+EXPORTS
+	??0CMessageDigest@@IAE@ABV0@@Z @ 1 NONAME ; protected: __thiscall CMessageDigest::CMessageDigest(class CMessageDigest const &)
+	??0CMessageDigest@@IAE@XZ @ 2 NONAME ; protected: __thiscall CMessageDigest::CMessageDigest(void)
+	??1CHMAC@@UAE@XZ @ 3 NONAME ; public: virtual __thiscall CHMAC::~CHMAC(void)
+	??1CMD2@@UAE@XZ @ 4 NONAME ; public: virtual __thiscall CMD2::~CMD2(void)
+	??1CMD5@@UAE@XZ @ 5 NONAME ; public: virtual __thiscall CMD5::~CMD5(void)
+	??1CMessageDigest@@UAE@XZ @ 6 NONAME ; public: virtual __thiscall CMessageDigest::~CMessageDigest(void)
+	??1CSHA1@@UAE@XZ @ 7 NONAME ; public: virtual __thiscall CSHA1::~CSHA1(void)
+	??1CSHA@@UAE@XZ @ 8 NONAME ; public: virtual __thiscall CSHA::~CSHA(void)
+	?BlockSize@CHMAC@@UAEHXZ @ 9 NONAME ; public: virtual int __thiscall CHMAC::BlockSize(void)
+	?BlockSize@CMD2@@UAEHXZ @ 10 NONAME ; public: virtual int __thiscall CMD2::BlockSize(void)
+	?BlockSize@CMD5@@UAEHXZ @ 11 NONAME ; public: virtual int __thiscall CMD5::BlockSize(void)
+	?BlockSize@CSHA1@@UAEHXZ @ 12 NONAME ; public: virtual int __thiscall CSHA1::BlockSize(void)
+	?BlockSize@CSHA@@UAEHXZ @ 13 NONAME ; public: virtual int __thiscall CSHA::BlockSize(void)
+	?CopyL@CHMAC@@UAEPAVCMessageDigest@@XZ @ 14 NONAME ; public: virtual class CMessageDigest * __thiscall CHMAC::CopyL(void)
+	?CopyL@CMD2@@UAEPAVCMessageDigest@@XZ @ 15 NONAME ; public: virtual class CMessageDigest * __thiscall CMD2::CopyL(void)
+	?CopyL@CMD5@@UAEPAVCMessageDigest@@XZ @ 16 NONAME ; public: virtual class CMessageDigest * __thiscall CMD5::CopyL(void)
+	?CopyL@CSHA1@@UAEPAVCMessageDigest@@XZ @ 17 NONAME ; public: virtual class CMessageDigest * __thiscall CSHA1::CopyL(void)
+	?CopyL@CSHA@@UAEPAVCMessageDigest@@XZ @ 18 NONAME ; public: virtual class CMessageDigest * __thiscall CSHA::CopyL(void)
+	?Hash@CHMAC@@UAE?AVTPtrC8@@ABVTDesC8@@@Z @ 19 NONAME ; public: virtual class TPtrC8  __thiscall CHMAC::Hash(class TDesC8 const &)
+	?Hash@CMD2@@UAE?AVTPtrC8@@ABVTDesC8@@@Z @ 20 NONAME ; public: virtual class TPtrC8  __thiscall CMD2::Hash(class TDesC8 const &)
+	?Hash@CMD5@@UAE?AVTPtrC8@@ABVTDesC8@@@Z @ 21 NONAME ; public: virtual class TPtrC8  __thiscall CMD5::Hash(class TDesC8 const &)
+	?Hash@CSHA1@@UAE?AVTPtrC8@@ABVTDesC8@@@Z @ 22 NONAME ; public: virtual class TPtrC8  __thiscall CSHA1::Hash(class TDesC8 const &)
+	?Hash@CSHA@@UAE?AVTPtrC8@@ABVTDesC8@@@Z @ 23 NONAME ; public: virtual class TPtrC8  __thiscall CSHA::Hash(class TDesC8 const &)
+	?HashSize@CHMAC@@UAEHXZ @ 24 NONAME ; public: virtual int __thiscall CHMAC::HashSize(void)
+	?HashSize@CMD2@@UAEHXZ @ 25 NONAME ; public: virtual int __thiscall CMD2::HashSize(void)
+	?HashSize@CMD5@@UAEHXZ @ 26 NONAME ; public: virtual int __thiscall CMD5::HashSize(void)
+	?HashSize@CSHA1@@UAEHXZ @ 27 NONAME ; public: virtual int __thiscall CSHA1::HashSize(void)
+	?HashSize@CSHA@@UAEHXZ @ 28 NONAME ; public: virtual int __thiscall CSHA::HashSize(void)
+	?NewL@CHMAC@@SAPAV1@ABVTDesC8@@PAVCMessageDigest@@@Z @ 29 NONAME ; public: static class CHMAC * __cdecl CHMAC::NewL(class TDesC8 const &,class CMessageDigest *)
+	?NewL@CMD2@@SAPAV1@XZ @ 30 NONAME ; public: static class CMD2 * __cdecl CMD2::NewL(void)
+	?NewL@CMD5@@SAPAV1@XZ @ 31 NONAME ; public: static class CMD5 * __cdecl CMD5::NewL(void)
+	?NewL@CSHA1@@SAPAV1@XZ @ 32 NONAME ; public: static class CSHA1 * __cdecl CSHA1::NewL(void)
+	?NewL@CSHA@@SAPAV1@XZ @ 33 NONAME ; public: static class CSHA * __cdecl CSHA::NewL(void)
+	?ReplicateL@CHMAC@@UAEPAVCMessageDigest@@XZ @ 34 NONAME ; public: virtual class CMessageDigest * __thiscall CHMAC::ReplicateL(void)
+	?ReplicateL@CMD2@@UAEPAVCMessageDigest@@XZ @ 35 NONAME ; public: virtual class CMessageDigest * __thiscall CMD2::ReplicateL(void)
+	?ReplicateL@CMD5@@UAEPAVCMessageDigest@@XZ @ 36 NONAME ; public: virtual class CMessageDigest * __thiscall CMD5::ReplicateL(void)
+	?ReplicateL@CSHA1@@UAEPAVCMessageDigest@@XZ @ 37 NONAME ; public: virtual class CMessageDigest * __thiscall CSHA1::ReplicateL(void)
+	?ReplicateL@CSHA@@UAEPAVCMessageDigest@@XZ @ 38 NONAME ; public: virtual class CMessageDigest * __thiscall CSHA::ReplicateL(void)
+	?Reset@CHMAC@@UAEXXZ @ 39 NONAME ; public: virtual void __thiscall CHMAC::Reset(void)
+	?Reset@CMD2@@UAEXXZ @ 40 NONAME ; public: virtual void __thiscall CMD2::Reset(void)
+	?Reset@CMD5@@UAEXXZ @ 41 NONAME ; public: virtual void __thiscall CMD5::Reset(void)
+	?Reset@CSHA1@@UAEXXZ @ 42 NONAME ; public: virtual void __thiscall CSHA1::Reset(void)
+	?Reset@CSHA@@UAEXXZ @ 43 NONAME ; public: virtual void __thiscall CSHA::Reset(void)
+	?Final@CHMAC@@UAE?AVTPtrC8@@ABVTDesC8@@@Z @ 44 NONAME ; public: virtual class TPtrC8  __thiscall CHMAC::Final(class TDesC8 const &)
+	?Final@CHMAC@@UAE?AVTPtrC8@@XZ @ 45 NONAME ; public: virtual class TPtrC8  __thiscall CHMAC::Final(void)
+	?Final@CMD2@@UAE?AVTPtrC8@@ABVTDesC8@@@Z @ 46 NONAME ; public: virtual class TPtrC8  __thiscall CMD2::Final(class TDesC8 const &)
+	?Final@CMD2@@UAE?AVTPtrC8@@XZ @ 47 NONAME ; public: virtual class TPtrC8  __thiscall CMD2::Final(void)
+	?Final@CMD5@@UAE?AVTPtrC8@@ABVTDesC8@@@Z @ 48 NONAME ; public: virtual class TPtrC8  __thiscall CMD5::Final(class TDesC8 const &)
+	?Final@CMD5@@UAE?AVTPtrC8@@XZ @ 49 NONAME ; public: virtual class TPtrC8  __thiscall CMD5::Final(void)
+	?Final@CSHA1@@UAE?AVTPtrC8@@ABVTDesC8@@@Z @ 50 NONAME ; public: virtual class TPtrC8  __thiscall CSHA1::Final(class TDesC8 const &)
+	?Final@CSHA1@@UAE?AVTPtrC8@@XZ @ 51 NONAME ; public: virtual class TPtrC8  __thiscall CSHA1::Final(void)
+	?Final@CSHA@@UAE?AVTPtrC8@@ABVTDesC8@@@Z @ 52 NONAME ; public: virtual class TPtrC8  __thiscall CSHA::Final(class TDesC8 const &)
+	?Final@CSHA@@UAE?AVTPtrC8@@XZ @ 53 NONAME ; public: virtual class TPtrC8  __thiscall CSHA::Final(void)
+	?Update@CHMAC@@UAEXABVTDesC8@@@Z @ 54 NONAME ; public: virtual void __thiscall CHMAC::Update(class TDesC8 const &)
+	?Update@CMD2@@UAEXABVTDesC8@@@Z @ 55 NONAME ; public: virtual void __thiscall CMD2::Update(class TDesC8 const &)
+	?Update@CMD5@@UAEXABVTDesC8@@@Z @ 56 NONAME ; public: virtual void __thiscall CMD5::Update(class TDesC8 const &)
+	?Update@CSHA1@@UAEXABVTDesC8@@@Z @ 57 NONAME ; public: virtual void __thiscall CSHA1::Update(class TDesC8 const &)
+	?Update@CSHA@@UAEXABVTDesC8@@@Z @ 58 NONAME ; public: virtual void __thiscall CSHA::Update(class TDesC8 const &)
+	?NewDigestL@CMessageDigestFactory@@SAPAVCMessageDigest@@W4THashId@2@@Z @ 59 NONAME ; public: static class CMessageDigest * __cdecl CMessageDigestFactory::NewDigestL(enum CMessageDigest::THashId)
+	?NewDigestLC@CMessageDigestFactory@@SAPAVCMessageDigest@@W4THashId@2@@Z @ 60 NONAME ; public: static class CMessageDigest * __cdecl CMessageDigestFactory::NewDigestLC(enum CMessageDigest::THashId)
+	?NewHMACL@CMessageDigestFactory@@SAPAVCMessageDigest@@W4THashId@2@ABVTDesC8@@@Z @ 61 NONAME ; public: static class CMessageDigest * __cdecl CMessageDigestFactory::NewHMACL(enum CMessageDigest::THashId,class TDesC8 const &)
+	?NewHMACLC@CMessageDigestFactory@@SAPAVCMessageDigest@@W4THashId@2@ABVTDesC8@@@Z @ 62 NONAME ; public: static class CMessageDigest * __cdecl CMessageDigestFactory::NewHMACLC(enum CMessageDigest::THashId,class TDesC8 const &)
+	??1CMD4@@UAE@XZ @ 63 NONAME ; CMD4::~CMD4(void)
+	?BlockSize@CMD4@@UAEHXZ @ 64 NONAME ; int CMD4::BlockSize(void)
+	?CopyL@CMD4@@UAEPAVCMessageDigest@@XZ @ 65 NONAME ; class CMessageDigest * CMD4::CopyL(void)
+	?Final@CMD4@@UAE?AVTPtrC8@@ABVTDesC8@@@Z @ 66 NONAME ; class TPtrC8 CMD4::Final(class TDesC8 const &)
+	?Final@CMD4@@UAE?AVTPtrC8@@XZ @ 67 NONAME ; class TPtrC8 CMD4::Final(void)
+	?Hash@CMD4@@UAE?AVTPtrC8@@ABVTDesC8@@@Z @ 68 NONAME ; class TPtrC8 CMD4::Hash(class TDesC8 const &)
+	?HashSize@CMD4@@UAEHXZ @ 69 NONAME ; int CMD4::HashSize(void)
+	?NewL@CMD4@@SAPAV1@XZ @ 70 NONAME ; class CMD4 * CMD4::NewL(void)
+	?ReplicateL@CMD4@@UAEPAVCMessageDigest@@XZ @ 71 NONAME ; class CMessageDigest * CMD4::ReplicateL(void)
+	?Reset@CMD4@@UAEXXZ @ 72 NONAME ; void CMD4::Reset(void)
+	?Update@CMD4@@UAEXABVTDesC8@@@Z @ 73 NONAME ; void CMD4::Update(class TDesC8 const &)
+	??1CSHA2@@UAE@XZ @ 74 NONAME ; CSHA2::~CSHA2(void)
+	?BlockSize@CSHA2@@UAEHXZ @ 75 NONAME ; int CSHA2::BlockSize(void)
+	?CopyL@CSHA2@@UAEPAVCMessageDigest@@XZ @ 76 NONAME ; class CMessageDigest * CSHA2::CopyL(void)
+	?Final@CSHA2@@UAE?AVTPtrC8@@ABVTDesC8@@@Z @ 77 NONAME ; class TPtrC8 CSHA2::Final(class TDesC8 const &)
+	?Final@CSHA2@@UAE?AVTPtrC8@@XZ @ 78 NONAME ; class TPtrC8 CSHA2::Final(void)
+	?Hash@CSHA2@@UAE?AVTPtrC8@@ABVTDesC8@@@Z @ 79 NONAME ; class TPtrC8 CSHA2::Hash(class TDesC8 const &)
+	?HashSize@CSHA2@@UAEHXZ @ 80 NONAME ; int CSHA2::HashSize(void)
+	?NewL@CSHA2@@SAPAV1@W4TSH2Algo@@@Z @ 81 NONAME ; class CSHA2 * CSHA2::NewL(enum TSH2Algo)
+	?NewLC@CSHA2@@SAPAV1@W4TSH2Algo@@@Z @ 82 NONAME ; class CSHA2 * CSHA2::NewLC(enum TSH2Algo)
+	?ReplicateL@CSHA2@@UAEPAVCMessageDigest@@XZ @ 83 NONAME ; class CMessageDigest * CSHA2::ReplicateL(void)
+	?Reset@CSHA2@@UAEXXZ @ 84 NONAME ; void CSHA2::Reset(void)
+	?Update@CSHA2@@UAEXABVTDesC8@@@Z @ 85 NONAME ; void CSHA2::Update(class TDesC8 const &)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/bwins/PBE_v2U.def	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,68 @@
+EXPORTS
+	??0CPBAuthData@@IAE@XZ @ 1 NONAME ; CPBAuthData::CPBAuthData(void)
+	??0CPBEncryptParms@@IAE@XZ @ 2 NONAME ; CPBEncryptParms::CPBEncryptParms(void)
+	??0CPBEncryptionData@@IAE@XZ @ 3 NONAME ; CPBEncryptionData::CPBEncryptionData(void)
+	??0TPBPassword@@QAE@ABVTDesC16@@@Z @ 4 NONAME ; TPBPassword::TPBPassword(class TDesC16 const &)
+	??0TPBPassword@@QAE@ABVTDesC8@@@Z @ 5 NONAME ; TPBPassword::TPBPassword(class TDesC8 const &)
+	??8CPBAuthData@@QBEHABV0@@Z @ 6 NONAME ; int CPBAuthData::operator==(class CPBAuthData const &) const
+	?AuthData@CPBEncryptionData@@QBEABVCPBAuthData@@XZ @ 7 NONAME ; class CPBAuthData const & CPBEncryptionData::AuthData(void) const
+	?ChangePasswordL@CPBEncryptSet@@QAEXABVTPBPassword@@@Z @ 8 NONAME ; void CPBEncryptSet::ChangePasswordL(class TPBPassword const &)
+	?Cipher@CPBEncryptParms@@QBE?AW4TPBECipher@@XZ @ 9 NONAME ; enum TPBECipher CPBEncryptParms::Cipher(void) const
+	?DeriveKeyL@TPKCS5KDF@@SAXAAVTDes8@@ABVTDesC8@@1I@Z @ 10 NONAME ; void TPKCS5KDF::DeriveKeyL(class TDes8 &, class TDesC8 const &, class TDesC8 const &, unsigned int)
+	?EncryptParms@CPBEncryptionData@@QBEABVCPBEncryptParms@@XZ @ 11 NONAME ; class CPBEncryptParms const & CPBEncryptionData::EncryptParms(void) const
+	?EncryptedMasterKey@CPBEncryptSet@@QBEABVTDesC8@@XZ @ 12 NONAME ; class TDesC8 const & CPBEncryptSet::EncryptedMasterKey(void) const
+	?IV@CPBEncryptParms@@QBE?AVTPtrC8@@XZ @ 13 NONAME ; class TPtrC8 CPBEncryptParms::IV(void) const
+	?Iterations@CPBAuthData@@QBEHXZ @ 14 NONAME ; int CPBAuthData::Iterations(void) const
+	?Iterations@CPBEncryptParms@@QBEHXZ @ 15 NONAME ; int CPBEncryptParms::Iterations(void) const
+	?Key@CPBAuthData@@QBE?AVTPtrC8@@XZ @ 16 NONAME ; class TPtrC8 CPBAuthData::Key(void) const
+	?NewL@CPBAuthData@@SAPAV1@ABV1@@Z @ 17 NONAME ; class CPBAuthData * CPBAuthData::NewL(class CPBAuthData const &)
+	?NewL@CPBAuthData@@SAPAV1@ABVTDesC8@@0II@Z @ 18 NONAME ; class CPBAuthData * CPBAuthData::NewL(class TDesC8 const &, class TDesC8 const &, unsigned int, unsigned int)
+	?NewL@CPBDecryptorElement@@SAPAV1@W4TPBECipher@@ABVTDesC8@@1@Z @ 19 NONAME ; class CPBDecryptorElement * CPBDecryptorElement::NewL(enum TPBECipher, class TDesC8 const &, class TDesC8 const &)
+	?NewL@CPBDecryptorSet@@SAPAV1@W4TPBECipher@@ABVTDesC8@@@Z @ 20 NONAME ; class CPBDecryptorSet * CPBDecryptorSet::NewL(enum TPBECipher, class TDesC8 const &)
+	?NewL@CPBEncryptElement@@SAPAV1@ABVCPBEncryptionData@@ABVTPBPassword@@@Z @ 21 NONAME ; class CPBEncryptElement * CPBEncryptElement::NewL(class CPBEncryptionData const &, class TPBPassword const &)
+	?NewL@CPBEncryptElement@@SAPAV1@ABVTPBPassword@@@Z @ 22 NONAME ; class CPBEncryptElement * CPBEncryptElement::NewL(class TPBPassword const &)
+	?NewL@CPBEncryptElement@@SAPAV1@ABVTPBPassword@@ABVCPBEncryptParms@@@Z @ 23 NONAME ; class CPBEncryptElement * CPBEncryptElement::NewL(class TPBPassword const &, class CPBEncryptParms const &)
+	?NewL@CPBEncryptElement@@SAPAV1@ABVTPBPassword@@W4TPBECipher@@@Z @ 24 NONAME ; class CPBEncryptElement * CPBEncryptElement::NewL(class TPBPassword const &, enum TPBECipher)
+	?NewL@CPBEncryptParms@@SAPAV1@ABV1@@Z @ 25 NONAME ; class CPBEncryptParms * CPBEncryptParms::NewL(class CPBEncryptParms const &)
+	?NewL@CPBEncryptParms@@SAPAV1@W4TPBECipher@@ABVTDesC8@@1I@Z @ 26 NONAME ; class CPBEncryptParms * CPBEncryptParms::NewL(enum TPBECipher, class TDesC8 const &, class TDesC8 const &, unsigned int)
+	?NewL@CPBEncryptSet@@SAPAV1@ABVCPBEncryptionData@@ABVTDesC8@@ABVTPBPassword@@@Z @ 27 NONAME ; class CPBEncryptSet * CPBEncryptSet::NewL(class CPBEncryptionData const &, class TDesC8 const &, class TPBPassword const &)
+	?NewL@CPBEncryptSet@@SAPAV1@ABVTPBPassword@@@Z @ 28 NONAME ; class CPBEncryptSet * CPBEncryptSet::NewL(class TPBPassword const &)
+	?NewL@CPBEncryptSet@@SAPAV1@ABVTPBPassword@@ABVCPBEncryptParms@@@Z @ 29 NONAME ; class CPBEncryptSet * CPBEncryptSet::NewL(class TPBPassword const &, class CPBEncryptParms const &)
+	?NewL@CPBEncryptSet@@SAPAV1@ABVTPBPassword@@W4TPBECipher@@@Z @ 30 NONAME ; class CPBEncryptSet * CPBEncryptSet::NewL(class TPBPassword const &, enum TPBECipher)
+	?NewL@CPBEncryptionData@@SAPAV1@ABV1@@Z @ 31 NONAME ; class CPBEncryptionData * CPBEncryptionData::NewL(class CPBEncryptionData const &)
+	?NewL@CPBEncryptionData@@SAPAV1@ABVTDesC8@@W4TPBECipher@@000I@Z @ 32 NONAME ; class CPBEncryptionData * CPBEncryptionData::NewL(class TDesC8 const &, enum TPBECipher, class TDesC8 const &, class TDesC8 const &, class TDesC8 const &, unsigned int)
+	?NewL@CPBEncryptorElement@@SAPAV1@W4TPBECipher@@ABVTDesC8@@1@Z @ 33 NONAME ; class CPBEncryptorElement * CPBEncryptorElement::NewL(enum TPBECipher, class TDesC8 const &, class TDesC8 const &)
+	?NewL@CPBEncryptorSet@@SAPAV1@W4TPBECipher@@ABVTDesC8@@@Z @ 34 NONAME ; class CPBEncryptorSet * CPBEncryptorSet::NewL(enum TPBECipher, class TDesC8 const &)
+	?NewLC@CPBAuthData@@SAPAV1@ABV1@@Z @ 35 NONAME ; class CPBAuthData * CPBAuthData::NewLC(class CPBAuthData const &)
+	?NewLC@CPBAuthData@@SAPAV1@ABVTDesC8@@0II@Z @ 36 NONAME ; class CPBAuthData * CPBAuthData::NewLC(class TDesC8 const &, class TDesC8 const &, unsigned int, unsigned int)
+	?NewLC@CPBDecryptorElement@@SAPAV1@W4TPBECipher@@ABVTDesC8@@1@Z @ 37 NONAME ; class CPBDecryptorElement * CPBDecryptorElement::NewLC(enum TPBECipher, class TDesC8 const &, class TDesC8 const &)
+	?NewLC@CPBDecryptorSet@@SAPAV1@W4TPBECipher@@ABVTDesC8@@@Z @ 38 NONAME ; class CPBDecryptorSet * CPBDecryptorSet::NewLC(enum TPBECipher, class TDesC8 const &)
+	?NewLC@CPBEncryptElement@@SAPAV1@ABVCPBEncryptionData@@ABVTPBPassword@@@Z @ 39 NONAME ; class CPBEncryptElement * CPBEncryptElement::NewLC(class CPBEncryptionData const &, class TPBPassword const &)
+	?NewLC@CPBEncryptElement@@SAPAV1@ABVTPBPassword@@@Z @ 40 NONAME ; class CPBEncryptElement * CPBEncryptElement::NewLC(class TPBPassword const &)
+	?NewLC@CPBEncryptElement@@SAPAV1@ABVTPBPassword@@ABVCPBEncryptParms@@@Z @ 41 NONAME ; class CPBEncryptElement * CPBEncryptElement::NewLC(class TPBPassword const &, class CPBEncryptParms const &)
+	?NewLC@CPBEncryptElement@@SAPAV1@ABVTPBPassword@@W4TPBECipher@@@Z @ 42 NONAME ; class CPBEncryptElement * CPBEncryptElement::NewLC(class TPBPassword const &, enum TPBECipher)
+	?NewLC@CPBEncryptParms@@SAPAV1@ABV1@@Z @ 43 NONAME ; class CPBEncryptParms * CPBEncryptParms::NewLC(class CPBEncryptParms const &)
+	?NewLC@CPBEncryptParms@@SAPAV1@W4TPBECipher@@ABVTDesC8@@1I@Z @ 44 NONAME ; class CPBEncryptParms * CPBEncryptParms::NewLC(enum TPBECipher, class TDesC8 const &, class TDesC8 const &, unsigned int)
+	?NewLC@CPBEncryptSet@@SAPAV1@ABVCPBEncryptionData@@ABVTDesC8@@ABVTPBPassword@@@Z @ 45 NONAME ; class CPBEncryptSet * CPBEncryptSet::NewLC(class CPBEncryptionData const &, class TDesC8 const &, class TPBPassword const &)
+	?NewLC@CPBEncryptSet@@SAPAV1@ABVTPBPassword@@@Z @ 46 NONAME ; class CPBEncryptSet * CPBEncryptSet::NewLC(class TPBPassword const &)
+	?NewLC@CPBEncryptSet@@SAPAV1@ABVTPBPassword@@ABVCPBEncryptParms@@@Z @ 47 NONAME ; class CPBEncryptSet * CPBEncryptSet::NewLC(class TPBPassword const &, class CPBEncryptParms const &)
+	?NewLC@CPBEncryptSet@@SAPAV1@ABVTPBPassword@@W4TPBECipher@@@Z @ 48 NONAME ; class CPBEncryptSet * CPBEncryptSet::NewLC(class TPBPassword const &, enum TPBECipher)
+	?NewLC@CPBEncryptionData@@SAPAV1@ABV1@@Z @ 49 NONAME ; class CPBEncryptionData * CPBEncryptionData::NewLC(class CPBEncryptionData const &)
+	?NewLC@CPBEncryptionData@@SAPAV1@ABVTDesC8@@W4TPBECipher@@000I@Z @ 50 NONAME ; class CPBEncryptionData * CPBEncryptionData::NewLC(class TDesC8 const &, enum TPBECipher, class TDesC8 const &, class TDesC8 const &, class TDesC8 const &, unsigned int)
+	?NewLC@CPBEncryptorElement@@SAPAV1@W4TPBECipher@@ABVTDesC8@@1@Z @ 51 NONAME ; class CPBEncryptorElement * CPBEncryptorElement::NewLC(enum TPBECipher, class TDesC8 const &, class TDesC8 const &)
+	?NewLC@CPBEncryptorSet@@SAPAV1@W4TPBECipher@@ABVTDesC8@@@Z @ 52 NONAME ; class CPBEncryptorSet * CPBEncryptorSet::NewLC(enum TPBECipher, class TDesC8 const &)
+	?Password@TPBPassword@@QBEABVTDesC8@@XZ @ 53 NONAME ; class TDesC8 const & TPBPassword::Password(void) const
+	?Salt@CPBAuthData@@QBE?AVTPtrC8@@XZ @ 54 NONAME ; class TPtrC8 CPBAuthData::Salt(void) const
+	?Salt@CPBEncryptParms@@QBE?AVTPtrC8@@XZ @ 55 NONAME ; class TPtrC8 CPBEncryptParms::Salt(void) const
+	?DeriveKeyL@PKCS12KDF@@SAXAAVTDes8@@W4TIDByteType@1@ABVTDesC8@@2I@Z @ 56 NONAME ; void PKCS12KDF::DeriveKeyL(class TDes8 &, enum PKCS12KDF::TIDByteType, class TDesC8 const &, class TDesC8 const &, unsigned int)
+	?GeneratePasswordLC@PKCS12KDF@@SAPAVHBufC8@@ABVTDesC16@@@Z @ 57 NONAME ; class HBufC8 * PKCS12KDF::GeneratePasswordLC(class TDesC16 const &)
+	?Kdf@CPBEncryptParms@@QBE?AW4TKdf@1@XZ @ 58 NONAME ; enum CPBEncryptParms::TKdf CPBEncryptParms::Kdf(void) const
+	?NewL@CPBEncryptParms@@SAPAV1@XZ @ 59 NONAME ; class CPBEncryptParms * CPBEncryptParms::NewL(void)
+	?NewL@CPBEncryptionData@@SAPAV1@ABVTDesC8@@0ABVCPBEncryptParms@@@Z @ 60 NONAME ; class CPBEncryptionData * CPBEncryptionData::NewL(class TDesC8 const &, class TDesC8 const &, class CPBEncryptParms const &)
+	?NewLC@CPBEncryptParms@@SAPAV1@XZ @ 61 NONAME ; class CPBEncryptParms * CPBEncryptParms::NewLC(void)
+	?ResizeSaltL@CPBEncryptParms@@QAEXH@Z @ 62 NONAME ; void CPBEncryptParms::ResizeSaltL(int)
+	?SetCipher@CPBEncryptParms@@QAEXW4TPBECipher@@@Z @ 63 NONAME ; void CPBEncryptParms::SetCipher(enum TPBECipher)
+	?SetIV@CPBEncryptParms@@QAEXABVTDesC8@@@Z @ 64 NONAME ; void CPBEncryptParms::SetIV(class TDesC8 const &)
+	?SetIterations@CPBEncryptParms@@QAEXH@Z @ 65 NONAME ; void CPBEncryptParms::SetIterations(int)
+	?SetKdf@CPBEncryptParms@@QAEXW4TKdf@1@@Z @ 66 NONAME ; void CPBEncryptParms::SetKdf(enum CPBEncryptParms::TKdf)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/bwins/RANDOMU.DEF	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,15 @@
+EXPORTS
+	?Random@TRandom@@SAXAAVTDes8@@@Z @ 1 NONAME ; public: static void __cdecl TRandom::Random(class TDes8 &)
+	RAND_bytes @ 2 NONAME
+	??0RRandomSession@@QAE@XZ @ 3 NONAME ; public: __thiscall RRandomSession::RRandomSession(void)
+	?ConnectL@RRandomSession@@QAEXXZ @ 4 NONAME ; public: void __thiscall RRandomSession::ConnectL(void)
+	?GetRandom@RRandomSession@@QAEHAAVTDes8@@@Z @ 5 NONAME ; public: int __thiscall RRandomSession::GetRandom(class TDes8 &)
+	??0CRandom@@IAE@XZ @ 6 NONAME ; protected: __thiscall CRandom::CRandom(void)
+	?DestroyThreadRandom@@YAXXZ @ 7 NONAME ; void __cdecl DestroyThreadRandom(void)
+	?GenerateRandomBytesL@@YAXAAVTDes8@@@Z @ 8 NONAME ; void __cdecl GenerateRandomBytesL(class TDes8 &)
+	?NewL@CSystemRandom@@SAPAV1@XZ @ 9 NONAME ; public: static class CSystemRandom * __cdecl CSystemRandom::NewL(void)
+	?NewLC@CSystemRandom@@SAPAV1@XZ @ 10 NONAME ; public: static class CSystemRandom * __cdecl CSystemRandom::NewLC(void)
+	?SetThreadRandomL@@YAXPAVCRandom@@@Z @ 11 NONAME ; void __cdecl SetThreadRandomL(class CRandom *)
+	?SetThreadRandomLC@@YAXPAVCRandom@@@Z @ 12 NONAME ; void __cdecl SetThreadRandomLC(class CRandom *)
+	?RandomL@TRandom@@SAXAAVTDes8@@@Z @ 13 NONAME ; void TRandom::RandomL(class TDes8 &)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/bwins/TPADDINGSERVERU.DEF	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,3 @@
+EXPORTS
+	?NewServer@@YAHXZ @ 1 NONAME ; int __cdecl NewServer(void)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/bwins/cryptographyU.def	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,262 @@
+EXPORTS
+	??0CBlockChainingMode@@IAE@XZ @ 1 NONAME ; protected: __thiscall CBlockChainingMode::CBlockChainingMode(void)
+	??0CDH@@IAE@ABVCDHPrivateKey@@@Z @ 2 NONAME ; protected: __thiscall CDH::CDH(class CDHPrivateKey const &)
+	??0CDHKeyPair@@IAE@XZ @ 3 NONAME ; protected: __thiscall CDHKeyPair::CDHKeyPair(void)
+	??0CDHParameters@@IAE@AAVRInteger@@0@Z @ 4 NONAME ; protected: __thiscall CDHParameters::CDHParameters(class RInteger &,class RInteger &)
+	??0CDHParameters@@IAE@XZ @ 5 NONAME ; protected: __thiscall CDHParameters::CDHParameters(void)
+	??0CDHPrivateKey@@IAE@AAVRInteger@@00@Z @ 6 NONAME ; protected: __thiscall CDHPrivateKey::CDHPrivateKey(class RInteger &,class RInteger &,class RInteger &)
+	??0CDHPrivateKey@@IAE@XZ @ 7 NONAME ; protected: __thiscall CDHPrivateKey::CDHPrivateKey(void)
+	??0CDHPublicKey@@IAE@AAVRInteger@@00@Z @ 8 NONAME ; protected: __thiscall CDHPublicKey::CDHPublicKey(class RInteger &,class RInteger &,class RInteger &)
+	??0CDHPublicKey@@IAE@XZ @ 9 NONAME ; protected: __thiscall CDHPublicKey::CDHPublicKey(void)
+	??0CDSAKeyPair@@IAE@XZ @ 10 NONAME ; protected: __thiscall CDSAKeyPair::CDSAKeyPair(void)
+	??0CDSAParameters@@IAE@AAVRInteger@@00@Z @ 11 NONAME ; protected: __thiscall CDSAParameters::CDSAParameters(class RInteger &,class RInteger &,class RInteger &)
+	??0CDSAParameters@@IAE@XZ @ 12 NONAME ; protected: __thiscall CDSAParameters::CDSAParameters(void)
+	??0CDSAPrimeCertificate@@IAE@I@Z @ 13 NONAME ; protected: __thiscall CDSAPrimeCertificate::CDSAPrimeCertificate(unsigned int)
+	??0CDSAPrimeCertificate@@IAE@XZ @ 14 NONAME ; protected: __thiscall CDSAPrimeCertificate::CDSAPrimeCertificate(void)
+	??0CDSAPrivateKey@@IAE@AAVRInteger@@000@Z @ 15 NONAME ; protected: __thiscall CDSAPrivateKey::CDSAPrivateKey(class RInteger &,class RInteger &,class RInteger &,class RInteger &)
+	??0CDSAPrivateKey@@IAE@XZ @ 16 NONAME ; protected: __thiscall CDSAPrivateKey::CDSAPrivateKey(void)
+	??0CDSAPublicKey@@IAE@AAVRInteger@@000@Z @ 17 NONAME ; protected: __thiscall CDSAPublicKey::CDSAPublicKey(class RInteger &,class RInteger &,class RInteger &,class RInteger &)
+	??0CDSAPublicKey@@IAE@XZ @ 18 NONAME ; protected: __thiscall CDSAPublicKey::CDSAPublicKey(void)
+	??0CDSASignature@@IAE@AAVRInteger@@0@Z @ 19 NONAME ; protected: __thiscall CDSASignature::CDSASignature(class RInteger &,class RInteger &)
+	??0CDSASignature@@IAE@XZ @ 20 NONAME ; protected: __thiscall CDSASignature::CDSASignature(void)
+	??0CPadding@@IAE@H@Z @ 21 NONAME ; protected: __thiscall CPadding::CPadding(int)
+	??0CPaddingNone@@IAE@H@Z @ 22 NONAME ; protected: __thiscall CPaddingNone::CPaddingNone(int)
+	??0CPaddingPKCS1Encryption@@IAE@H@Z @ 23 NONAME ; protected: __thiscall CPaddingPKCS1Encryption::CPaddingPKCS1Encryption(int)
+	??0CPaddingPKCS1Signature@@IAE@H@Z @ 24 NONAME ; protected: __thiscall CPaddingPKCS1Signature::CPaddingPKCS1Signature(int)
+	??0CPaddingSSLv3@@IAE@H@Z @ 25 NONAME ; protected: __thiscall CPaddingSSLv3::CPaddingSSLv3(int)
+	??0CRSAKeyPair@@IAE@XZ @ 26 NONAME ; protected: __thiscall CRSAKeyPair::CRSAKeyPair(void)
+	??0CRSAParameters@@IAE@AAVRInteger@@@Z @ 27 NONAME ; protected: __thiscall CRSAParameters::CRSAParameters(class RInteger &)
+	??0CRSAParameters@@IAE@XZ @ 28 NONAME ; protected: __thiscall CRSAParameters::CRSAParameters(void)
+	??0CRSAPrivateKeyCRT@@IAE@AAVRInteger@@00000@Z @ 29 NONAME ; protected: __thiscall CRSAPrivateKeyCRT::CRSAPrivateKeyCRT(class RInteger &,class RInteger &,class RInteger &,class RInteger &,class RInteger &,class RInteger &)
+	??0CRSAPrivateKeyStandard@@IAE@AAVRInteger@@0@Z @ 30 NONAME ; protected: __thiscall CRSAPrivateKeyStandard::CRSAPrivateKeyStandard(class RInteger &,class RInteger &)
+	??0CRSAPublicKey@@IAE@AAVRInteger@@0@Z @ 31 NONAME ; protected: __thiscall CRSAPublicKey::CRSAPublicKey(class RInteger &,class RInteger &)
+	??0CRSAPublicKey@@IAE@XZ @ 32 NONAME ; protected: __thiscall CRSAPublicKey::CRSAPublicKey(void)
+	??0CRSASignature@@IAE@AAVRInteger@@@Z @ 33 NONAME ; protected: __thiscall CRSASignature::CRSASignature(class RInteger &)
+	??0CRijndael@@IAE@XZ @ 34 NONAME ; protected: __thiscall CRijndael::CRijndael(void)
+	??0MCryptoSystem@@IAE@XZ @ 35 NONAME ; protected: __thiscall MCryptoSystem::MCryptoSystem(void)
+	??0CDecryptor@@IAE@XZ @ 36 NONAME ; protected: __thiscall CDecryptor::CDecryptor(void)
+	??0CEncryptor@@IAE@XZ @ 37 NONAME ; protected: __thiscall CEncryptor::CEncryptor(void)
+	??0MSignatureSystem@@IAE@XZ @ 38 NONAME ; protected: __thiscall MSignatureSystem::MSignatureSystem(void)
+	??0RInteger@@QAE@XZ @ 39 NONAME ; public: __thiscall RInteger::RInteger(void)
+	??0TInteger@@IAE@XZ @ 40 NONAME ; protected: __thiscall TInteger::TInteger(void)
+	??1CBlockChainingMode@@MAE@XZ @ 41 NONAME ; protected: virtual __thiscall CBlockChainingMode::~CBlockChainingMode(void)
+	??1CBufferedTransformation@@UAE@XZ @ 42 NONAME ; public: virtual __thiscall CBufferedTransformation::~CBufferedTransformation(void)
+	??1CDHKeyPair@@UAE@XZ @ 43 NONAME ; public: virtual __thiscall CDHKeyPair::~CDHKeyPair(void)
+	??1CDHParameters@@UAE@XZ @ 44 NONAME ; public: virtual __thiscall CDHParameters::~CDHParameters(void)
+	??1CDHPrivateKey@@UAE@XZ @ 45 NONAME ; public: virtual __thiscall CDHPrivateKey::~CDHPrivateKey(void)
+	??1CDHPublicKey@@UAE@XZ @ 46 NONAME ; public: virtual __thiscall CDHPublicKey::~CDHPublicKey(void)
+	??1CDSAKeyPair@@UAE@XZ @ 47 NONAME ; public: virtual __thiscall CDSAKeyPair::~CDSAKeyPair(void)
+	??1CDSAParameters@@UAE@XZ @ 48 NONAME ; public: virtual __thiscall CDSAParameters::~CDSAParameters(void)
+	??1CDSAPrimeCertificate@@UAE@XZ @ 49 NONAME ; public: virtual __thiscall CDSAPrimeCertificate::~CDSAPrimeCertificate(void)
+	??1CDSAPrivateKey@@UAE@XZ @ 50 NONAME ; public: virtual __thiscall CDSAPrivateKey::~CDSAPrivateKey(void)
+	??1CDSAPublicKey@@UAE@XZ @ 51 NONAME ; public: virtual __thiscall CDSAPublicKey::~CDSAPublicKey(void)
+	??1CDSASignature@@UAE@XZ @ 52 NONAME ; public: virtual __thiscall CDSASignature::~CDSASignature(void)
+	??1CRSAKeyPair@@UAE@XZ @ 53 NONAME ; public: virtual __thiscall CRSAKeyPair::~CRSAKeyPair(void)
+	??1CRSAParameters@@UAE@XZ @ 54 NONAME ; public: virtual __thiscall CRSAParameters::~CRSAParameters(void)
+	??1CRSAPrivateKeyCRT@@UAE@XZ @ 55 NONAME ; public: virtual __thiscall CRSAPrivateKeyCRT::~CRSAPrivateKeyCRT(void)
+	??1CRSAPrivateKeyStandard@@UAE@XZ @ 56 NONAME ; public: virtual __thiscall CRSAPrivateKeyStandard::~CRSAPrivateKeyStandard(void)
+	??1CRSAPublicKey@@UAE@XZ @ 57 NONAME ; public: virtual __thiscall CRSAPublicKey::~CRSAPublicKey(void)
+	??1CRSASignature@@UAE@XZ @ 58 NONAME ; public: virtual __thiscall CRSASignature::~CRSASignature(void)
+	??1CRijndael@@UAE@XZ @ 59 NONAME ; public: virtual __thiscall CRijndael::~CRijndael(void)
+	??7TInteger@@QBEHXZ @ 60 NONAME ; public: int __thiscall TInteger::operator!(void)const 
+	??8CDSASignature@@QBEHABV0@@Z @ 61 NONAME ; public: int __thiscall CDSASignature::operator==(class CDSASignature const &)const 
+	??8CRSASignature@@QBEHABV0@@Z @ 62 NONAME ; public: int __thiscall CRSASignature::operator==(class CRSASignature const &)const 
+	??BRInteger@@QAE?AVTCleanupItem@@XZ @ 63 NONAME ; public: __thiscall RInteger::operator class TCleanupItem(void)
+	?AgreeL@CDH@@QBEPBVHBufC8@@ABVCDHPublicKey@@@Z @ 64 NONAME ; public: class HBufC8 const * __thiscall CDH::AgreeL(class CDHPublicKey const &)const 
+	?BitCount@TInteger@@QBEIXZ @ 65 NONAME ; public: unsigned int __thiscall TInteger::BitCount(void)const 
+	?BlockSize@CPadding@@QBEHXZ @ 66 NONAME ; public: int __thiscall CPadding::BlockSize(void)const 
+	?BlockSize@CStreamCipher@@UBEHXZ @ 67 NONAME ; public: virtual int __thiscall CStreamCipher::BlockSize(void)const 
+	?BlockTransformer@CBufferedTransformation@@QBEPAVCBlockTransformation@@XZ @ 68 NONAME ; public: class CBlockTransformation * __thiscall CBufferedTransformation::BlockTransformer(void)const 
+	?BufferLC@TInteger@@QBEPAVHBufC8@@XZ @ 69 NONAME ; public: class HBufC8 * __thiscall TInteger::BufferLC(void)const 
+	?ByteCount@TInteger@@QBEIXZ @ 70 NONAME ; public: unsigned int __thiscall TInteger::ByteCount(void)const 
+	?CallClose@RInteger@@SAXPAX@Z @ 71 NONAME ; public: static void __cdecl RInteger::CallClose(void *)
+	?Close@RInteger@@QAEXXZ @ 72 NONAME ; public: void __thiscall RInteger::Close(void)
+	?ConstructL@CBlockChainingMode@@IAEXPAVCBlockTransformation@@ABVTDesC8@@@Z @ 73 NONAME ; protected: void __thiscall CBlockChainingMode::ConstructL(class CBlockTransformation *,class TDesC8 const &)
+	?ConstructL@CDHKeyPair@@IAEXAAVRInteger@@00@Z @ 74 NONAME ; protected: void __thiscall CDHKeyPair::ConstructL(class RInteger &,class RInteger &,class RInteger &)
+	?ConstructL@CDHKeyPair@@IAEXAAVRInteger@@0@Z @ 75 NONAME ; protected: void __thiscall CDHKeyPair::ConstructL(class RInteger &,class RInteger &)
+	?Counter@CDSAPrimeCertificate@@QBEIXZ @ 76 NONAME ; public: unsigned int __thiscall CDSAPrimeCertificate::Counter(void)const 
+	?D@CRSAPrivateKeyStandard@@QBEABVTInteger@@XZ @ 77 NONAME ; public: class TInteger const & __thiscall CRSAPrivateKeyStandard::D(void)const 
+	?DP@CRSAPrivateKeyCRT@@QBEABVTInteger@@XZ @ 78 NONAME ; public: class TInteger const & __thiscall CRSAPrivateKeyCRT::DP(void)const 
+	?DQ@CRSAPrivateKeyCRT@@QBEABVTInteger@@XZ @ 79 NONAME ; public: class TInteger const & __thiscall CRSAPrivateKeyCRT::DQ(void)const 
+	?E@CRSAPublicKey@@QBEABVTInteger@@XZ @ 80 NONAME ; public: class TInteger const & __thiscall CRSAPublicKey::E(void)const 
+	?G@CDHParameters@@QBEABVTInteger@@XZ @ 81 NONAME ; public: class TInteger const & __thiscall CDHParameters::G(void)const 
+	?G@CDSAParameters@@QBEABVTInteger@@XZ @ 82 NONAME ; public: class TInteger const & __thiscall CDSAParameters::G(void)const 
+	??0CRSASigner@@IAE@XZ @ 83 NONAME ; protected: __thiscall CRSASigner::CRSASigner(void)
+	?MaxFinalOutputLength@CStreamCipher@@UBEHH@Z @ 84 NONAME ; public: virtual int __thiscall CStreamCipher::MaxFinalOutputLength(int)const 
+	??0CRSAVerifier@@IAE@XZ @ 85 NONAME ; protected: __thiscall CRSAVerifier::CRSAVerifier(void)
+	?VerifyL@CRSAVerifier@@UBEHABVTDesC8@@ABVCRSASignature@@@Z @ 86 NONAME ; public virtual int CRSAVerifer::VerifyL(class TDesC8 const &,class CRSASignature const &)const
+	?MaxOutputLength@CStreamCipher@@UBEHH@Z @ 87 NONAME ; public: virtual int __thiscall CStreamCipher::MaxOutputLength(int)const 
+	?MaxPaddedLength@CPadding@@UBEHH@Z @ 88 NONAME ; public: virtual int __thiscall CPadding::MaxPaddedLength(int)const 
+	?MaxUnPaddedLength@CPadding@@UBEHH@Z @ 89 NONAME ; public: virtual int __thiscall CPadding::MaxUnPaddedLength(int)const 
+	?ModularExponentiateL@TInteger@@SA?AVRInteger@@ABV1@00@Z @ 90 NONAME ; public: static class RInteger  __cdecl TInteger::ModularExponentiateL(class TInteger const &,class TInteger const &,class TInteger const &)
+	?N@CDHParameters@@QBEABVTInteger@@XZ @ 91 NONAME ; public: class TInteger const & __thiscall CDHParameters::N(void)const 
+	?N@CRSAParameters@@QBEABVTInteger@@XZ @ 92 NONAME ; public: class TInteger const & __thiscall CRSAParameters::N(void)const 
+	?NewEmptyL@RInteger@@SA?AV1@I@Z @ 93 NONAME ; public: static class RInteger  __cdecl RInteger::NewEmptyL(unsigned int)
+	?NewL@C3DESDecryptor@@SAPAV1@ABVTDesC8@@@Z @ 94 NONAME ; public: static class C3DESDecryptor * __cdecl C3DESDecryptor::NewL(class TDesC8 const &)
+	?NewL@C3DESEncryptor@@SAPAV1@ABVTDesC8@@@Z @ 95 NONAME ; public: static class C3DESEncryptor * __cdecl C3DESEncryptor::NewL(class TDesC8 const &)
+	?NewL@CAESDecryptor@@SAPAV1@ABVTDesC8@@@Z @ 96 NONAME ; public: static class CAESDecryptor * __cdecl CAESDecryptor::NewL(class TDesC8 const &)
+	?NewL@CAESEncryptor@@SAPAV1@ABVTDesC8@@@Z @ 97 NONAME ; public: static class CAESEncryptor * __cdecl CAESEncryptor::NewL(class TDesC8 const &)
+	?NewL@CARC4@@SAPAV1@ABVTDesC8@@I@Z @ 98 NONAME ; public: static class CARC4 * __cdecl CARC4::NewL(class TDesC8 const &,unsigned int)
+	?NewL@CBufferedDecryptor@@SAPAV1@PAVCBlockTransformation@@PAVCPadding@@@Z @ 99 NONAME ; public: static class CBufferedDecryptor * __cdecl CBufferedDecryptor::NewL(class CBlockTransformation *,class CPadding *)
+	?NewL@CBufferedEncryptor@@SAPAV1@PAVCBlockTransformation@@PAVCPadding@@@Z @ 100 NONAME ; public: static class CBufferedEncryptor * __cdecl CBufferedEncryptor::NewL(class CBlockTransformation *,class CPadding *)
+	?NewL@CDESDecryptor@@SAPAV1@ABVTDesC8@@H@Z @ 101 NONAME ; public: static class CDESDecryptor * __cdecl CDESDecryptor::NewL(class TDesC8 const &,int)
+	?NewL@CDESEncryptor@@SAPAV1@ABVTDesC8@@H@Z @ 102 NONAME ; public: static class CDESEncryptor * __cdecl CDESEncryptor::NewL(class TDesC8 const &,int)
+	?NewL@CDH@@SAPAV1@ABVCDHPrivateKey@@@Z @ 103 NONAME ; public: static class CDH * __cdecl CDH::NewL(class CDHPrivateKey const &)
+	?NewL@CDHKeyPair@@SAPAV1@AAVRInteger@@00@Z @ 104 NONAME ; public: static class CDHKeyPair * __cdecl CDHKeyPair::NewL(class RInteger &,class RInteger &,class RInteger &)
+	?NewL@CDHKeyPair@@SAPAV1@AAVRInteger@@0@Z @ 105 NONAME ; public: static class CDHKeyPair * __cdecl CDHKeyPair::NewL(class RInteger &,class RInteger &)
+	?NewL@CDHPrivateKey@@SAPAV1@AAVRInteger@@00@Z @ 106 NONAME ; public: static class CDHPrivateKey * __cdecl CDHPrivateKey::NewL(class RInteger &,class RInteger &,class RInteger &)
+	?NewL@CDHPublicKey@@SAPAV1@AAVRInteger@@00@Z @ 107 NONAME ; public: static class CDHPublicKey * __cdecl CDHPublicKey::NewL(class RInteger &,class RInteger &,class RInteger &)
+	?NewL@CDSAKeyPair@@SAPAV1@I@Z @ 108 NONAME ; public: static class CDSAKeyPair * __cdecl CDSAKeyPair::NewL(unsigned int)
+	?NewL@CDSAParameters@@SAPAV1@AAVRInteger@@00@Z @ 109 NONAME ; public: static class CDSAParameters * __cdecl CDSAParameters::NewL(class RInteger &,class RInteger &,class RInteger &)
+	?NewL@CDSAPrimeCertificate@@SAPAV1@ABVTDesC8@@I@Z @ 110 NONAME ; public: static class CDSAPrimeCertificate * __cdecl CDSAPrimeCertificate::NewL(class TDesC8 const &,unsigned int)
+	?NewL@CDSAPrivateKey@@SAPAV1@AAVRInteger@@000@Z @ 111 NONAME ; public: static class CDSAPrivateKey * __cdecl CDSAPrivateKey::NewL(class RInteger &,class RInteger &,class RInteger &,class RInteger &)
+	?NewL@CDSAPublicKey@@SAPAV1@AAVRInteger@@000@Z @ 112 NONAME ; public: static class CDSAPublicKey * __cdecl CDSAPublicKey::NewL(class RInteger &,class RInteger &,class RInteger &,class RInteger &)
+	?NewL@CDSASignature@@SAPAV1@AAVRInteger@@0@Z @ 113 NONAME ; public: static class CDSASignature * __cdecl CDSASignature::NewL(class RInteger &,class RInteger &)
+	?NewL@CDSASigner@@SAPAV1@ABVCDSAPrivateKey@@@Z @ 114 NONAME ; public: static class CDSASigner * __cdecl CDSASigner::NewL(class CDSAPrivateKey const &)
+	?NewL@CDSAVerifier@@SAPAV1@ABVCDSAPublicKey@@@Z @ 115 NONAME ; public: static class CDSAVerifier * __cdecl CDSAVerifier::NewL(class CDSAPublicKey const &)
+	?NewL@CModeCBCDecryptor@@SAPAV1@PAVCBlockTransformation@@ABVTDesC8@@@Z @ 116 NONAME ; public: static class CModeCBCDecryptor * __cdecl CModeCBCDecryptor::NewL(class CBlockTransformation *,class TDesC8 const &)
+	?NewL@CModeCBCEncryptor@@SAPAV1@PAVCBlockTransformation@@ABVTDesC8@@@Z @ 117 NONAME ; public: static class CModeCBCEncryptor * __cdecl CModeCBCEncryptor::NewL(class CBlockTransformation *,class TDesC8 const &)
+	?NewL@CNullCipher@@SAPAV1@XZ @ 118 NONAME ; public: static class CNullCipher * __cdecl CNullCipher::NewL(void)
+	?NewL@CPaddingNone@@SAPAV1@H@Z @ 119 NONAME ; public: static class CPaddingNone * __cdecl CPaddingNone::NewL(int)
+	?NewL@CPaddingPKCS1Encryption@@SAPAV1@H@Z @ 120 NONAME ; public: static class CPaddingPKCS1Encryption * __cdecl CPaddingPKCS1Encryption::NewL(int)
+	?NewL@CPaddingPKCS1Signature@@SAPAV1@H@Z @ 121 NONAME ; public: static class CPaddingPKCS1Signature * __cdecl CPaddingPKCS1Signature::NewL(int)
+	?NewL@CPaddingSSLv3@@SAPAV1@H@Z @ 122 NONAME ; public: static class CPaddingSSLv3 * __cdecl CPaddingSSLv3::NewL(int)
+	?NewL@CRC2Decryptor@@SAPAV1@ABVTDesC8@@H@Z @ 123 NONAME ; public: static class CRC2Decryptor * __cdecl CRC2Decryptor::NewL(class TDesC8 const &,int)
+	?NewL@CRC2Encryptor@@SAPAV1@ABVTDesC8@@H@Z @ 124 NONAME ; public: static class CRC2Encryptor * __cdecl CRC2Encryptor::NewL(class TDesC8 const &,int)
+	?NewL@CRSAKeyPair@@SAPAV1@IW4TRSAPrivateKeyType@@@Z @ 125 NONAME ; public: static class CRSAKeyPair * __cdecl CRSAKeyPair::NewL(unsigned int,enum TRSAPrivateKeyType)
+	?NewL@CRSAPKCS1v15Decryptor@@SAPAV1@ABVCRSAPrivateKey@@@Z @ 126 NONAME ; public: static class CRSAPKCS1v15Decryptor * __cdecl CRSAPKCS1v15Decryptor::NewL(class CRSAPrivateKey const &)
+	?NewL@CRSAPKCS1v15Encryptor@@SAPAV1@ABVCRSAPublicKey@@@Z @ 127 NONAME ; public: static class CRSAPKCS1v15Encryptor * __cdecl CRSAPKCS1v15Encryptor::NewL(class CRSAPublicKey const &)
+	?NewL@CRSAPKCS1v15Signer@@SAPAV1@ABVCRSAPrivateKey@@@Z @ 128 NONAME ; public: static class CRSAPKCS1v15Signer * __cdecl CRSAPKCS1v15Signer::NewL(class CRSAPrivateKey const &)
+	?NewL@CRSAPKCS1v15Verifier@@SAPAV1@ABVCRSAPublicKey@@@Z @ 129 NONAME ; public: static class CRSAPKCS1v15Verifier * __cdecl CRSAPKCS1v15Verifier::NewL(class CRSAPublicKey const &)
+	?NewL@CRSAPrivateKeyCRT@@SAPAV1@AAVRInteger@@00000@Z @ 130 NONAME ; public: static class CRSAPrivateKeyCRT * __cdecl CRSAPrivateKeyCRT::NewL(class RInteger &,class RInteger &,class RInteger &,class RInteger &,class RInteger &,class RInteger &)
+	?NewL@CRSAPrivateKeyStandard@@SAPAV1@AAVRInteger@@0@Z @ 131 NONAME ; public: static class CRSAPrivateKeyStandard * __cdecl CRSAPrivateKeyStandard::NewL(class RInteger &,class RInteger &)
+	?NewL@CRSAPublicKey@@SAPAV1@AAVRInteger@@0@Z @ 132 NONAME ; public: static class CRSAPublicKey * __cdecl CRSAPublicKey::NewL(class RInteger &,class RInteger &)
+	?NewL@CRSASignature@@SAPAV1@AAVRInteger@@@Z @ 133 NONAME ; public: static class CRSASignature * __cdecl CRSASignature::NewL(class RInteger &)
+	?NewL@RInteger@@SA?AV1@ABVTDesC8@@@Z @ 134 NONAME ; public: static class RInteger  __cdecl RInteger::NewL(class TDesC8 const &)
+	?NewL@RInteger@@SA?AV1@ABVTInteger@@@Z @ 135 NONAME ; public: static class RInteger  __cdecl RInteger::NewL(class TInteger const &)
+	?NewL@RInteger@@SA?AV1@H@Z @ 136 NONAME ; public: static class RInteger  __cdecl RInteger::NewL(int)
+	?NewL@RInteger@@SA?AV1@I@Z @ 137 NONAME ; public: static class RInteger  __cdecl RInteger::NewL(unsigned int)
+	?NewL@RInteger@@SA?AV1@XZ @ 138 NONAME ; public: static class RInteger  __cdecl RInteger::NewL(void)
+	?NewLC@C3DESDecryptor@@SAPAV1@ABVTDesC8@@@Z @ 139 NONAME ; public: static class C3DESDecryptor * __cdecl C3DESDecryptor::NewLC(class TDesC8 const &)
+	?NewLC@C3DESEncryptor@@SAPAV1@ABVTDesC8@@@Z @ 140 NONAME ; public: static class C3DESEncryptor * __cdecl C3DESEncryptor::NewLC(class TDesC8 const &)
+	?NewLC@CAESDecryptor@@SAPAV1@ABVTDesC8@@@Z @ 141 NONAME ; public: static class CAESDecryptor * __cdecl CAESDecryptor::NewLC(class TDesC8 const &)
+	?NewLC@CAESEncryptor@@SAPAV1@ABVTDesC8@@@Z @ 142 NONAME ; public: static class CAESEncryptor * __cdecl CAESEncryptor::NewLC(class TDesC8 const &)
+	?NewLC@CARC4@@SAPAV1@ABVTDesC8@@I@Z @ 143 NONAME ; public: static class CARC4 * __cdecl CARC4::NewLC(class TDesC8 const &,unsigned int)
+	?NewLC@CBufferedDecryptor@@SAPAV1@PAVCBlockTransformation@@PAVCPadding@@@Z @ 144 NONAME ; public: static class CBufferedDecryptor * __cdecl CBufferedDecryptor::NewLC(class CBlockTransformation *,class CPadding *)
+	?NewLC@CBufferedEncryptor@@SAPAV1@PAVCBlockTransformation@@PAVCPadding@@@Z @ 145 NONAME ; public: static class CBufferedEncryptor * __cdecl CBufferedEncryptor::NewLC(class CBlockTransformation *,class CPadding *)
+	?NewLC@CDESDecryptor@@SAPAV1@ABVTDesC8@@H@Z @ 146 NONAME ; public: static class CDESDecryptor * __cdecl CDESDecryptor::NewLC(class TDesC8 const &,int)
+	?NewLC@CDESEncryptor@@SAPAV1@ABVTDesC8@@H@Z @ 147 NONAME ; public: static class CDESEncryptor * __cdecl CDESEncryptor::NewLC(class TDesC8 const &,int)
+	?NewLC@CDH@@SAPAV1@ABVCDHPrivateKey@@@Z @ 148 NONAME ; public: static class CDH * __cdecl CDH::NewLC(class CDHPrivateKey const &)
+	?NewLC@CDHKeyPair@@SAPAV1@AAVRInteger@@00@Z @ 149 NONAME ; public: static class CDHKeyPair * __cdecl CDHKeyPair::NewLC(class RInteger &,class RInteger &,class RInteger &)
+	?NewLC@CDHKeyPair@@SAPAV1@AAVRInteger@@0@Z @ 150 NONAME ; public: static class CDHKeyPair * __cdecl CDHKeyPair::NewLC(class RInteger &,class RInteger &)
+	?NewLC@CDHPrivateKey@@SAPAV1@AAVRInteger@@00@Z @ 151 NONAME ; public: static class CDHPrivateKey * __cdecl CDHPrivateKey::NewLC(class RInteger &,class RInteger &,class RInteger &)
+	?NewLC@CDHPublicKey@@SAPAV1@AAVRInteger@@00@Z @ 152 NONAME ; public: static class CDHPublicKey * __cdecl CDHPublicKey::NewLC(class RInteger &,class RInteger &,class RInteger &)
+	?NewLC@CDSAKeyPair@@SAPAV1@I@Z @ 153 NONAME ; public: static class CDSAKeyPair * __cdecl CDSAKeyPair::NewLC(unsigned int)
+	?NewLC@CDSAPrimeCertificate@@SAPAV1@ABVTDesC8@@I@Z @ 154 NONAME ; public: static class CDSAPrimeCertificate * __cdecl CDSAPrimeCertificate::NewLC(class TDesC8 const &,unsigned int)
+	?NewLC@CDSAPrivateKey@@SAPAV1@AAVRInteger@@000@Z @ 155 NONAME ; public: static class CDSAPrivateKey * __cdecl CDSAPrivateKey::NewLC(class RInteger &,class RInteger &,class RInteger &,class RInteger &)
+	?NewLC@CDSAPublicKey@@SAPAV1@AAVRInteger@@000@Z @ 156 NONAME ; public: static class CDSAPublicKey * __cdecl CDSAPublicKey::NewLC(class RInteger &,class RInteger &,class RInteger &,class RInteger &)
+	?NewLC@CDSASignature@@SAPAV1@AAVRInteger@@0@Z @ 157 NONAME ; public: static class CDSASignature * __cdecl CDSASignature::NewLC(class RInteger &,class RInteger &)
+	?NewLC@CDSASigner@@SAPAV1@ABVCDSAPrivateKey@@@Z @ 158 NONAME ; public: static class CDSASigner * __cdecl CDSASigner::NewLC(class CDSAPrivateKey const &)
+	?NewLC@CDSAVerifier@@SAPAV1@ABVCDSAPublicKey@@@Z @ 159 NONAME ; public: static class CDSAVerifier * __cdecl CDSAVerifier::NewLC(class CDSAPublicKey const &)
+	?NewLC@CModeCBCDecryptor@@SAPAV1@PAVCBlockTransformation@@ABVTDesC8@@@Z @ 160 NONAME ; public: static class CModeCBCDecryptor * __cdecl CModeCBCDecryptor::NewLC(class CBlockTransformation *,class TDesC8 const &)
+	?NewLC@CModeCBCEncryptor@@SAPAV1@PAVCBlockTransformation@@ABVTDesC8@@@Z @ 161 NONAME ; public: static class CModeCBCEncryptor * __cdecl CModeCBCEncryptor::NewLC(class CBlockTransformation *,class TDesC8 const &)
+	?NewLC@CNullCipher@@SAPAV1@XZ @ 162 NONAME ; public: static class CNullCipher * __cdecl CNullCipher::NewLC(void)
+	?NewLC@CPaddingNone@@SAPAV1@H@Z @ 163 NONAME ; public: static class CPaddingNone * __cdecl CPaddingNone::NewLC(int)
+	?NewLC@CPaddingPKCS1Encryption@@SAPAV1@H@Z @ 164 NONAME ; public: static class CPaddingPKCS1Encryption * __cdecl CPaddingPKCS1Encryption::NewLC(int)
+	?NewLC@CPaddingPKCS1Signature@@SAPAV1@H@Z @ 165 NONAME ; public: static class CPaddingPKCS1Signature * __cdecl CPaddingPKCS1Signature::NewLC(int)
+	?NewLC@CPaddingSSLv3@@SAPAV1@H@Z @ 166 NONAME ; public: static class CPaddingSSLv3 * __cdecl CPaddingSSLv3::NewLC(int)
+	?NewLC@CRC2Decryptor@@SAPAV1@ABVTDesC8@@H@Z @ 167 NONAME ; public: static class CRC2Decryptor * __cdecl CRC2Decryptor::NewLC(class TDesC8 const &,int)
+	?NewLC@CRC2Encryptor@@SAPAV1@ABVTDesC8@@H@Z @ 168 NONAME ; public: static class CRC2Encryptor * __cdecl CRC2Encryptor::NewLC(class TDesC8 const &,int)
+	?NewLC@CRSAKeyPair@@SAPAV1@IW4TRSAPrivateKeyType@@@Z @ 169 NONAME ; public: static class CRSAKeyPair * __cdecl CRSAKeyPair::NewLC(unsigned int,enum TRSAPrivateKeyType)
+	?NewLC@CRSAPKCS1v15Decryptor@@SAPAV1@ABVCRSAPrivateKey@@@Z @ 170 NONAME ; public: static class CRSAPKCS1v15Decryptor * __cdecl CRSAPKCS1v15Decryptor::NewLC(class CRSAPrivateKey const &)
+	?NewLC@CRSAPKCS1v15Encryptor@@SAPAV1@ABVCRSAPublicKey@@@Z @ 171 NONAME ; public: static class CRSAPKCS1v15Encryptor * __cdecl CRSAPKCS1v15Encryptor::NewLC(class CRSAPublicKey const &)
+	?NewLC@CRSAPKCS1v15Signer@@SAPAV1@ABVCRSAPrivateKey@@@Z @ 172 NONAME ; public: static class CRSAPKCS1v15Signer * __cdecl CRSAPKCS1v15Signer::NewLC(class CRSAPrivateKey const &)
+	?NewLC@CRSAPKCS1v15Verifier@@SAPAV1@ABVCRSAPublicKey@@@Z @ 173 NONAME ; public: static class CRSAPKCS1v15Verifier * __cdecl CRSAPKCS1v15Verifier::NewLC(class CRSAPublicKey const &)
+	?NewLC@CRSAPrivateKeyCRT@@SAPAV1@AAVRInteger@@00000@Z @ 174 NONAME ; public: static class CRSAPrivateKeyCRT * __cdecl CRSAPrivateKeyCRT::NewLC(class RInteger &,class RInteger &,class RInteger &,class RInteger &,class RInteger &,class RInteger &)
+	?NewLC@CRSAPrivateKeyStandard@@SAPAV1@AAVRInteger@@0@Z @ 175 NONAME ; public: static class CRSAPrivateKeyStandard * __cdecl CRSAPrivateKeyStandard::NewLC(class RInteger &,class RInteger &)
+	?NewLC@CRSAPublicKey@@SAPAV1@AAVRInteger@@0@Z @ 176 NONAME ; public: static class CRSAPublicKey * __cdecl CRSAPublicKey::NewLC(class RInteger &,class RInteger &)
+	?NewLC@CRSASignature@@SAPAV1@AAVRInteger@@@Z @ 177 NONAME ; public: static class CRSASignature * __cdecl CRSASignature::NewLC(class RInteger &)
+	?NewPrimeL@RInteger@@SA?AV1@IW4TRandomAttribute@TInteger@@@Z @ 178 NONAME ; public: static class RInteger  __cdecl RInteger::NewPrimeL(unsigned int,int)
+	?NewRandomL@RInteger@@SA?AV1@ABVTInteger@@0@Z @ 179 NONAME ; public: static class RInteger  __cdecl RInteger::NewRandomL(class TInteger const &,class TInteger const &)
+	?NewRandomL@RInteger@@SA?AV1@IW4TRandomAttribute@TInteger@@@Z @ 180 NONAME ; public: static class RInteger  __cdecl RInteger::NewRandomL(unsigned int,int)
+	?P@CDSAParameters@@QBEABVTInteger@@XZ @ 181 NONAME ; public: class TInteger const & __thiscall CDSAParameters::P(void)const 
+	?P@CRSAPrivateKeyCRT@@QBEABVTInteger@@XZ @ 182 NONAME ; public: class TInteger const & __thiscall CRSAPrivateKeyCRT::P(void)const 
+	?PadL@CPadding@@QAEXABVTDesC8@@AAVTDes8@@@Z @ 183 NONAME ; public: void __thiscall CPadding::PadL(class TDesC8 const &,class TDes8 &)
+	?PrimeCertificate@CDSAKeyPair@@QBEABVCDSAPrimeCertificate@@XZ @ 184 NONAME ; public: class CDSAPrimeCertificate const & __thiscall CDSAKeyPair::PrimeCertificate(void)const 
+	?PrivateKey@CDHKeyPair@@QBEABVCDHPrivateKey@@XZ @ 185 NONAME ; public: class CDHPrivateKey const & __thiscall CDHKeyPair::PrivateKey(void)const 
+	?PrivateKey@CDSAKeyPair@@QBEABVCDSAPrivateKey@@XZ @ 186 NONAME ; public: class CDSAPrivateKey const & __thiscall CDSAKeyPair::PrivateKey(void)const 
+	?PrivateKey@CRSAKeyPair@@QBEABVCRSAPrivateKey@@XZ @ 187 NONAME ; public: class CRSAPrivateKey const & __thiscall CRSAKeyPair::PrivateKey(void)const 
+	?Process@CStreamCipher@@UAEXABVTDesC8@@AAVTDes8@@@Z @ 188 NONAME ; public: virtual void __thiscall CStreamCipher::Process(class TDesC8 const &,class TDes8 &)
+	?ProcessFinalL@CStreamCipher@@UAEXABVTDesC8@@AAVTDes8@@@Z @ 189 NONAME ; public: virtual void __thiscall CStreamCipher::ProcessFinalL(class TDesC8 const &,class TDes8 &)
+	?PublicKey@CDHKeyPair@@QBEABVCDHPublicKey@@XZ @ 190 NONAME ; public: class CDHPublicKey const & __thiscall CDHKeyPair::PublicKey(void)const 
+	?PublicKey@CDSAKeyPair@@QBEABVCDSAPublicKey@@XZ @ 191 NONAME ; public: class CDSAPublicKey const & __thiscall CDSAKeyPair::PublicKey(void)const 
+	?PublicKey@CRSAKeyPair@@QBEABVCRSAPublicKey@@XZ @ 192 NONAME ; public: class CRSAPublicKey const & __thiscall CRSAKeyPair::PublicKey(void)const 
+	?Q@CDSAParameters@@QBEABVTInteger@@XZ @ 193 NONAME ; public: class TInteger const & __thiscall CDSAParameters::Q(void)const 
+	?Q@CRSAPrivateKeyCRT@@QBEABVTInteger@@XZ @ 194 NONAME ; public: class TInteger const & __thiscall CRSAPrivateKeyCRT::Q(void)const 
+	?QInv@CRSAPrivateKeyCRT@@QBEABVTInteger@@XZ @ 195 NONAME ; public: class TInteger const & __thiscall CRSAPrivateKeyCRT::QInv(void)const 
+	?R@CDSASignature@@QBEABVTInteger@@XZ @ 196 NONAME ; public: class TInteger const & __thiscall CDSASignature::R(void)const 
+	?S@CDSASignature@@QBEABVTInteger@@XZ @ 197 NONAME ; public: class TInteger const & __thiscall CDSASignature::S(void)const 
+	?S@CRSASignature@@QBEABVTInteger@@XZ @ 198 NONAME ; public: class TInteger const & __thiscall CRSASignature::S(void)const 
+	?Seed@CDSAPrimeCertificate@@QBEABVTDesC8@@XZ @ 199 NONAME ; public: class TDesC8 const & __thiscall CDSAPrimeCertificate::Seed(void)const 
+	?SetBlockSize@CPadding@@QAEXH@Z @ 200 NONAME ; public: void __thiscall CPadding::SetBlockSize(int)
+	?Strength@TCrypto@@SA?AW4TStrength@1@XZ @ 201 NONAME ; public: static enum TCrypto::TStrength  __cdecl TCrypto::Strength(void)
+	?ValidPrimeLength@CDSAParameters@@SAHI@Z @ 202 NONAME ; public: static int __cdecl CDSAParameters::ValidPrimeLength(unsigned int)
+	?ValidatePrimesL@CDSAParameters@@QBEHABVCDSAPrimeCertificate@@@Z @ 203 NONAME ; public: int __thiscall CDSAParameters::ValidatePrimesL(class CDSAPrimeCertificate const &)const 
+	?WordCount@TInteger@@QBEIXZ @ 204 NONAME ; public: unsigned int __thiscall TInteger::WordCount(void)const 
+	?X@CDHPublicKey@@QBEABVTInteger@@XZ @ 205 NONAME ; public: class TInteger const & __thiscall CDHPublicKey::X(void)const 
+	?X@CDSAPrivateKey@@QBEABVTInteger@@XZ @ 206 NONAME ; public: class TInteger const & __thiscall CDSAPrivateKey::X(void)const 
+	?Y@CDSAPublicKey@@QBEABVTInteger@@XZ @ 207 NONAME ; public: class TInteger const & __thiscall CDSAPublicKey::Y(void)const 
+	?x@CDHPrivateKey@@QBEABVTInteger@@XZ @ 208 NONAME ; public: class TInteger const & __thiscall CDHPrivateKey::x(void)const 
+	?IsAsymmetricWeakEnoughL@TCrypto@@SAHH@Z @ 209 NONAME ; public: static int __cdecl TCrypto::IsAsymmetricWeakEnoughL(int)
+	?IsSymmetricWeakEnoughL@TCrypto@@SAHH@Z @ 210 NONAME ; public: static int __cdecl TCrypto::IsSymmetricWeakEnoughL(int)
+	??0CPaddingPKCS7@@IAE@H@Z @ 211 NONAME ; CPaddingPKCS7::CPaddingPKCS7(int)
+	?NewL@CPaddingPKCS7@@SAPAV1@H@Z @ 212 NONAME ; class CPaddingPKCS7 * CPaddingPKCS7::NewL(int)
+	?NewLC@CPaddingPKCS7@@SAPAV1@H@Z @ 213 NONAME ; class CPaddingPKCS7 * CPaddingPKCS7::NewLC(int)
+	?DHKeyIdentifierL@KeyIdentifierUtil@@SAXABVRInteger@@AAV?$TBuf8@$0BE@@@@Z @ 214 NONAME ; void KeyIdentifierUtil::DHKeyIdentifierL(class RInteger const &, class TBuf8<20> &)
+	?DSAKeyIdentifierL@KeyIdentifierUtil@@SAXABVCDSAPublicKey@@AAV?$TBuf8@$0BE@@@@Z @ 215 NONAME ; void KeyIdentifierUtil::DSAKeyIdentifierL(class CDSAPublicKey const &, class TBuf8<20> &)
+	?RSAKeyIdentifierL@KeyIdentifierUtil@@SAXABVCRSAPublicKey@@AAV?$TBuf8@$0BE@@@@Z @ 216 NONAME ; void KeyIdentifierUtil::RSAKeyIdentifierL(class CRSAPublicKey const &, class TBuf8<20> &)
+	??ETInteger@@QAEAAV0@XZ @ 217 NONAME ; class TInteger & TInteger::operator++(void)
+	??FTInteger@@QAEAAV0@XZ @ 218 NONAME ; class TInteger & TInteger::operator--(void)
+	?InverseModL@TInteger@@QBE?AVRInteger@@ABV1@@Z @ 219 NONAME ; class RInteger TInteger::InverseModL(class TInteger const &) const
+	?TimesL@TInteger@@QBE?AVRInteger@@ABV1@@Z @ 220 NONAME ; class RInteger TInteger::TimesL(class TInteger const &) const
+	?RInteger_placeholder1@@YAXXZ @ 221 NONAME ; void __cdecl RInteger_placeholder1(void)
+	?RInteger_placeholder2@@YAXXZ @ 222 NONAME ; void __cdecl RInteger_placeholder2(void)
+	??XTInteger@@QAEAAV0@ABV0@@Z @ 223 NONAME ; public: class TInteger & __thiscall TInteger::operator*=(class TInteger const &)
+	??XTInteger@@QAEAAV0@H@Z @ 224 NONAME ; public: class TInteger & __thiscall TInteger::operator*=(int)
+	??YTInteger@@QAEAAV0@ABV0@@Z @ 225 NONAME ; public: class TInteger & __thiscall TInteger::operator+=(class TInteger const &)
+	??YTInteger@@QAEAAV0@H@Z @ 226 NONAME ; public: class TInteger & __thiscall TInteger::operator+=(int)
+	??ZTInteger@@QAEAAV0@ABV0@@Z @ 227 NONAME ; public: class TInteger & __thiscall TInteger::operator-=(class TInteger const &)
+	??ZTInteger@@QAEAAV0@H@Z @ 228 NONAME ; public: class TInteger & __thiscall TInteger::operator-=(int)
+	??_0TInteger@@QAEAAV0@ABV0@@Z @ 229 NONAME ; public: class TInteger & __thiscall TInteger::operator/=(class TInteger const &)
+	??_0TInteger@@QAEAAV0@H@Z @ 230 NONAME ; public: class TInteger & __thiscall TInteger::operator/=(int)
+	??_1TInteger@@QAEAAV0@ABV0@@Z @ 231 NONAME ; public: class TInteger & __thiscall TInteger::operator%=(class TInteger const &)
+	??_1TInteger@@QAEAAV0@H@Z @ 232 NONAME ; public: class TInteger & __thiscall TInteger::operator%=(int)
+	??_2TInteger@@QAEAAV0@I@Z @ 233 NONAME ; public: class TInteger & __thiscall TInteger::operator>>=(unsigned int)
+	??_3TInteger@@QAEAAV0@I@Z @ 234 NONAME ; public: class TInteger & __thiscall TInteger::operator<<=(unsigned int)
+	?Bit@TInteger@@QBEHI@Z @ 235 NONAME ; public: int __thiscall TInteger::Bit(unsigned int)const 
+	?ConvertToLongL@TInteger@@QBEHXZ @ 236 NONAME ; public: int __thiscall TInteger::ConvertToLongL(void)const 
+	?DividedByL@TInteger@@QBE?AVRInteger@@ABV1@@Z @ 237 NONAME ; public: class RInteger  __thiscall TInteger::DividedByL(class TInteger const &)const 
+	?DividedByL@TInteger@@QBE?AVRInteger@@I@Z @ 238 NONAME ; public: class RInteger  __thiscall TInteger::DividedByL(unsigned int)const 
+	?ExponentiateL@TInteger@@QBE?AVRInteger@@ABV1@@Z @ 239 NONAME ; public: class RInteger  __thiscall TInteger::ExponentiateL(class TInteger const &)const 
+	?GCDL@TInteger@@QBE?AVRInteger@@ABV1@@Z @ 240 NONAME ; public: class RInteger  __thiscall TInteger::GCDL(class TInteger const &)const 
+	?IsPrimeL@TInteger@@QBEHXZ @ 241 NONAME ; public: int __thiscall TInteger::IsPrimeL(void)const 
+	?MinusL@TInteger@@QBE?AVRInteger@@ABV1@@Z @ 242 NONAME ; public: class RInteger  __thiscall TInteger::MinusL(class TInteger const &)const 
+	?ModularMultiplyL@TInteger@@SA?AVRInteger@@ABV1@00@Z @ 243 NONAME ; public: static class RInteger  __cdecl TInteger::ModularMultiplyL(class TInteger const &,class TInteger const &,class TInteger const &)
+	?ModuloL@TInteger@@QBE?AVRInteger@@ABV1@@Z @ 244 NONAME ; public: class RInteger  __thiscall TInteger::ModuloL(class TInteger const &)const 
+	?ModuloL@TInteger@@QBEII@Z @ 245 NONAME ; public: unsigned int __thiscall TInteger::ModuloL(unsigned int)const 
+	?Negate@TInteger@@QAEXXZ @ 246 NONAME ; public: void __thiscall TInteger::Negate(void)
+	?One@TInteger@@SAABV1@XZ @ 247 NONAME ; public: static class TInteger const & __cdecl TInteger::One(void)
+	?PlusL@TInteger@@QBE?AVRInteger@@ABV1@@Z @ 248 NONAME ; public: class RInteger  __thiscall TInteger::PlusL(class TInteger const &)const 
+	?SetBit@TInteger@@QAEXI@Z @ 249 NONAME ; public: void __thiscall TInteger::SetBit(unsigned int)
+	?SignedCompare@TInteger@@QBEHABV1@@Z @ 250 NONAME ; public: int __thiscall TInteger::SignedCompare(class TInteger const &)const 
+	?SignedCompare@TInteger@@QBEHH@Z @ 251 NONAME ; public: int __thiscall TInteger::SignedCompare(int)const 
+	?SquaredL@TInteger@@QBE?AVRInteger@@XZ @ 252 NONAME ; public: class RInteger  __thiscall TInteger::SquaredL(void)const 
+	?Two@TInteger@@SAABV1@XZ @ 253 NONAME ; public: static class TInteger const & __cdecl TInteger::Two(void)
+	?UnsignedCompare@TInteger@@QBEHABV1@@Z @ 254 NONAME ; public: int __thiscall TInteger::UnsignedCompare(class TInteger const &)const 
+	?Zero@TInteger@@SAABV1@XZ @ 255 NONAME ; public: static class TInteger const & __cdecl TInteger::Zero(void)
+	?CopyL@TInteger@@QAEXABV1@H@Z @ 256 NONAME ; public: void __thiscall TInteger::CopyL(class TInteger const &,int)
+	?CopyL@TInteger@@QAEXHH@Z @ 257 NONAME ; public: void __thiscall TInteger::CopyL(int,int)
+	?Set@TInteger@@QAEXABVRInteger@@@Z @ 258 NONAME ; public: void __thiscall TInteger::Set(class RInteger const &)
+	?IsWeakKey@CDES@@SAHABVTDesC8@@@Z @ 259 NONAME ; public: static int __cdecl CDES::IsWeakKey(class TDesC8 const &)
+        ?BufferWithNoTruncationLC@TInteger@@QBEPAVHBufC8@@XZ @ 260 NONAME ; class HBufC8 * TInteger::BufferWithNoTruncationLC(void) const
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/bwins/cryptography_eka2U.def	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,262 @@
+EXPORTS
+	??0CBlockChainingMode@@IAE@XZ @ 1 NONAME ; protected: __thiscall CBlockChainingMode::CBlockChainingMode(void)
+	??0CDH@@IAE@ABVCDHPrivateKey@@@Z @ 2 NONAME ; protected: __thiscall CDH::CDH(class CDHPrivateKey const &)
+	??0CDHKeyPair@@IAE@XZ @ 3 NONAME ; protected: __thiscall CDHKeyPair::CDHKeyPair(void)
+	??0CDHParameters@@IAE@AAVRInteger@@0@Z @ 4 NONAME ; protected: __thiscall CDHParameters::CDHParameters(class RInteger &,class RInteger &)
+	??0CDHParameters@@IAE@XZ @ 5 NONAME ; protected: __thiscall CDHParameters::CDHParameters(void)
+	??0CDHPrivateKey@@IAE@AAVRInteger@@00@Z @ 6 NONAME ; protected: __thiscall CDHPrivateKey::CDHPrivateKey(class RInteger &,class RInteger &,class RInteger &)
+	??0CDHPrivateKey@@IAE@XZ @ 7 NONAME ; protected: __thiscall CDHPrivateKey::CDHPrivateKey(void)
+	??0CDHPublicKey@@IAE@AAVRInteger@@00@Z @ 8 NONAME ; protected: __thiscall CDHPublicKey::CDHPublicKey(class RInteger &,class RInteger &,class RInteger &)
+	??0CDHPublicKey@@IAE@XZ @ 9 NONAME ; protected: __thiscall CDHPublicKey::CDHPublicKey(void)
+	??0CDSAKeyPair@@IAE@XZ @ 10 NONAME ; protected: __thiscall CDSAKeyPair::CDSAKeyPair(void)
+	??0CDSAParameters@@IAE@AAVRInteger@@00@Z @ 11 NONAME ; protected: __thiscall CDSAParameters::CDSAParameters(class RInteger &,class RInteger &,class RInteger &)
+	??0CDSAParameters@@IAE@XZ @ 12 NONAME ; protected: __thiscall CDSAParameters::CDSAParameters(void)
+	??0CDSAPrimeCertificate@@IAE@I@Z @ 13 NONAME ; protected: __thiscall CDSAPrimeCertificate::CDSAPrimeCertificate(unsigned int)
+	??0CDSAPrimeCertificate@@IAE@XZ @ 14 NONAME ; protected: __thiscall CDSAPrimeCertificate::CDSAPrimeCertificate(void)
+	??0CDSAPrivateKey@@IAE@AAVRInteger@@000@Z @ 15 NONAME ; protected: __thiscall CDSAPrivateKey::CDSAPrivateKey(class RInteger &,class RInteger &,class RInteger &,class RInteger &)
+	??0CDSAPrivateKey@@IAE@XZ @ 16 NONAME ; protected: __thiscall CDSAPrivateKey::CDSAPrivateKey(void)
+	??0CDSAPublicKey@@IAE@AAVRInteger@@000@Z @ 17 NONAME ; protected: __thiscall CDSAPublicKey::CDSAPublicKey(class RInteger &,class RInteger &,class RInteger &,class RInteger &)
+	??0CDSAPublicKey@@IAE@XZ @ 18 NONAME ; protected: __thiscall CDSAPublicKey::CDSAPublicKey(void)
+	??0CDSASignature@@IAE@AAVRInteger@@0@Z @ 19 NONAME ; protected: __thiscall CDSASignature::CDSASignature(class RInteger &,class RInteger &)
+	??0CDSASignature@@IAE@XZ @ 20 NONAME ; protected: __thiscall CDSASignature::CDSASignature(void)
+	??0CPadding@@IAE@H@Z @ 21 NONAME ; protected: __thiscall CPadding::CPadding(int)
+	??0CPaddingNone@@IAE@H@Z @ 22 NONAME ; protected: __thiscall CPaddingNone::CPaddingNone(int)
+	??0CPaddingPKCS1Encryption@@IAE@H@Z @ 23 NONAME ; protected: __thiscall CPaddingPKCS1Encryption::CPaddingPKCS1Encryption(int)
+	??0CPaddingPKCS1Signature@@IAE@H@Z @ 24 NONAME ; protected: __thiscall CPaddingPKCS1Signature::CPaddingPKCS1Signature(int)
+	??0CPaddingSSLv3@@IAE@H@Z @ 25 NONAME ; protected: __thiscall CPaddingSSLv3::CPaddingSSLv3(int)
+	??0CRSAKeyPair@@IAE@XZ @ 26 NONAME ; protected: __thiscall CRSAKeyPair::CRSAKeyPair(void)
+	??0CRSAParameters@@IAE@AAVRInteger@@@Z @ 27 NONAME ; protected: __thiscall CRSAParameters::CRSAParameters(class RInteger &)
+	??0CRSAParameters@@IAE@XZ @ 28 NONAME ; protected: __thiscall CRSAParameters::CRSAParameters(void)
+	??0CRSAPrivateKeyCRT@@IAE@AAVRInteger@@00000@Z @ 29 NONAME ; protected: __thiscall CRSAPrivateKeyCRT::CRSAPrivateKeyCRT(class RInteger &,class RInteger &,class RInteger &,class RInteger &,class RInteger &,class RInteger &)
+	??0CRSAPrivateKeyStandard@@IAE@AAVRInteger@@0@Z @ 30 NONAME ; protected: __thiscall CRSAPrivateKeyStandard::CRSAPrivateKeyStandard(class RInteger &,class RInteger &)
+	??0CRSAPublicKey@@IAE@AAVRInteger@@0@Z @ 31 NONAME ; protected: __thiscall CRSAPublicKey::CRSAPublicKey(class RInteger &,class RInteger &)
+	??0CRSAPublicKey@@IAE@XZ @ 32 NONAME ; protected: __thiscall CRSAPublicKey::CRSAPublicKey(void)
+	??0CRSASignature@@IAE@AAVRInteger@@@Z @ 33 NONAME ; protected: __thiscall CRSASignature::CRSASignature(class RInteger &)
+	??0CRijndael@@IAE@XZ @ 34 NONAME ; protected: __thiscall CRijndael::CRijndael(void)
+	??0MCryptoSystem@@IAE@XZ @ 35 NONAME ; protected: __thiscall MCryptoSystem::MCryptoSystem(void)
+	??0CDecryptor@@IAE@XZ @ 36 NONAME ; protected: __thiscall CDecryptor::CDecryptor(void)
+	??0CEncryptor@@IAE@XZ @ 37 NONAME ; protected: __thiscall CEncryptor::CEncryptor(void)
+	??0MSignatureSystem@@IAE@XZ @ 38 NONAME ; protected: __thiscall MSignatureSystem::MSignatureSystem(void)
+	??0RInteger@@QAE@XZ @ 39 NONAME ; public: __thiscall RInteger::RInteger(void)
+	??0TInteger@@IAE@XZ @ 40 NONAME ; protected: __thiscall TInteger::TInteger(void)
+	??1CBlockChainingMode@@MAE@XZ @ 41 NONAME ; protected: virtual __thiscall CBlockChainingMode::~CBlockChainingMode(void)
+	??1CBufferedTransformation@@UAE@XZ @ 42 NONAME ; public: virtual __thiscall CBufferedTransformation::~CBufferedTransformation(void)
+	??1CDHKeyPair@@UAE@XZ @ 43 NONAME ; public: virtual __thiscall CDHKeyPair::~CDHKeyPair(void)
+	??1CDHParameters@@UAE@XZ @ 44 NONAME ; public: virtual __thiscall CDHParameters::~CDHParameters(void)
+	??1CDHPrivateKey@@UAE@XZ @ 45 NONAME ; public: virtual __thiscall CDHPrivateKey::~CDHPrivateKey(void)
+	??1CDHPublicKey@@UAE@XZ @ 46 NONAME ; public: virtual __thiscall CDHPublicKey::~CDHPublicKey(void)
+	??1CDSAKeyPair@@UAE@XZ @ 47 NONAME ; public: virtual __thiscall CDSAKeyPair::~CDSAKeyPair(void)
+	??1CDSAParameters@@UAE@XZ @ 48 NONAME ; public: virtual __thiscall CDSAParameters::~CDSAParameters(void)
+	??1CDSAPrimeCertificate@@UAE@XZ @ 49 NONAME ; public: virtual __thiscall CDSAPrimeCertificate::~CDSAPrimeCertificate(void)
+	??1CDSAPrivateKey@@UAE@XZ @ 50 NONAME ; public: virtual __thiscall CDSAPrivateKey::~CDSAPrivateKey(void)
+	??1CDSAPublicKey@@UAE@XZ @ 51 NONAME ; public: virtual __thiscall CDSAPublicKey::~CDSAPublicKey(void)
+	??1CDSASignature@@UAE@XZ @ 52 NONAME ; public: virtual __thiscall CDSASignature::~CDSASignature(void)
+	??1CRSAKeyPair@@UAE@XZ @ 53 NONAME ; public: virtual __thiscall CRSAKeyPair::~CRSAKeyPair(void)
+	??1CRSAParameters@@UAE@XZ @ 54 NONAME ; public: virtual __thiscall CRSAParameters::~CRSAParameters(void)
+	??1CRSAPrivateKeyCRT@@UAE@XZ @ 55 NONAME ; public: virtual __thiscall CRSAPrivateKeyCRT::~CRSAPrivateKeyCRT(void)
+	??1CRSAPrivateKeyStandard@@UAE@XZ @ 56 NONAME ; public: virtual __thiscall CRSAPrivateKeyStandard::~CRSAPrivateKeyStandard(void)
+	??1CRSAPublicKey@@UAE@XZ @ 57 NONAME ; public: virtual __thiscall CRSAPublicKey::~CRSAPublicKey(void)
+	??1CRSASignature@@UAE@XZ @ 58 NONAME ; public: virtual __thiscall CRSASignature::~CRSASignature(void)
+	??1CRijndael@@UAE@XZ @ 59 NONAME ; public: virtual __thiscall CRijndael::~CRijndael(void)
+	??7TInteger@@QBEHXZ @ 60 NONAME ; public: int __thiscall TInteger::operator!(void)const 
+	??8CDSASignature@@QBEHABV0@@Z @ 61 NONAME ; public: int __thiscall CDSASignature::operator==(class CDSASignature const &)const 
+	??8CRSASignature@@QBEHABV0@@Z @ 62 NONAME ; public: int __thiscall CRSASignature::operator==(class CRSASignature const &)const 
+	??BRInteger@@QAE?AVTCleanupItem@@XZ @ 63 NONAME ; public: __thiscall RInteger::operator class TCleanupItem(void)
+	?AgreeL@CDH@@QBEPAVHBufC8@@ABVCDHPublicKey@@@Z @ 64 NONAME ; public: class HBufC8 * __thiscall CDH::AgreeL(class CDHPublicKey const &)const 
+	?BitCount@TInteger@@QBEIXZ @ 65 NONAME ; public: unsigned int __thiscall TInteger::BitCount(void)const 
+	?BlockSize@CPadding@@QBEHXZ @ 66 NONAME ; public: int __thiscall CPadding::BlockSize(void)const 
+	?BlockSize@CStreamCipher@@UBEHXZ @ 67 NONAME ; public: virtual int __thiscall CStreamCipher::BlockSize(void)const 
+	?BlockTransformer@CBufferedTransformation@@QBEPAVCBlockTransformation@@XZ @ 68 NONAME ; public: class CBlockTransformation * __thiscall CBufferedTransformation::BlockTransformer(void)const 
+	?BufferLC@TInteger@@QBEPAVHBufC8@@XZ @ 69 NONAME ; public: class HBufC8 * __thiscall TInteger::BufferLC(void)const 
+	?ByteCount@TInteger@@QBEIXZ @ 70 NONAME ; public: unsigned int __thiscall TInteger::ByteCount(void)const 
+	?CallClose@RInteger@@SAXPAX@Z @ 71 NONAME ; public: static void __cdecl RInteger::CallClose(void *)
+	?Close@RInteger@@QAEXXZ @ 72 NONAME ; public: void __thiscall RInteger::Close(void)
+	?ConstructL@CBlockChainingMode@@IAEXPAVCBlockTransformation@@ABVTDesC8@@@Z @ 73 NONAME ; protected: void __thiscall CBlockChainingMode::ConstructL(class CBlockTransformation *,class TDesC8 const &)
+	?ConstructL@CDHKeyPair@@IAEXAAVRInteger@@00@Z @ 74 NONAME ; protected: void __thiscall CDHKeyPair::ConstructL(class RInteger &,class RInteger &,class RInteger &)
+	?ConstructL@CDHKeyPair@@IAEXAAVRInteger@@0@Z @ 75 NONAME ; protected: void __thiscall CDHKeyPair::ConstructL(class RInteger &,class RInteger &)
+	?Counter@CDSAPrimeCertificate@@QBEIXZ @ 76 NONAME ; public: unsigned int __thiscall CDSAPrimeCertificate::Counter(void)const 
+	?D@CRSAPrivateKeyStandard@@QBEABVTInteger@@XZ @ 77 NONAME ; public: class TInteger const & __thiscall CRSAPrivateKeyStandard::D(void)const 
+	?DP@CRSAPrivateKeyCRT@@QBEABVTInteger@@XZ @ 78 NONAME ; public: class TInteger const & __thiscall CRSAPrivateKeyCRT::DP(void)const 
+	?DQ@CRSAPrivateKeyCRT@@QBEABVTInteger@@XZ @ 79 NONAME ; public: class TInteger const & __thiscall CRSAPrivateKeyCRT::DQ(void)const 
+	?E@CRSAPublicKey@@QBEABVTInteger@@XZ @ 80 NONAME ; public: class TInteger const & __thiscall CRSAPublicKey::E(void)const 
+	?G@CDHParameters@@QBEABVTInteger@@XZ @ 81 NONAME ; public: class TInteger const & __thiscall CDHParameters::G(void)const 
+	?G@CDSAParameters@@QBEABVTInteger@@XZ @ 82 NONAME ; public: class TInteger const & __thiscall CDSAParameters::G(void)const 
+	??0CRSASigner@@IAE@XZ @ 83 NONAME ; protected: __thiscall CRSASigner::CRSASigner(void)
+	?MaxFinalOutputLength@CStreamCipher@@UBEHH@Z @ 84 NONAME ; public: virtual int __thiscall CStreamCipher::MaxFinalOutputLength(int)const 
+	??0CRSAVerifier@@IAE@XZ @ 85 NONAME ; protected: __thiscall CRSAVerifier::CRSAVerifier(void)
+	?VerifyL@CRSAVerifier@@UBEHABVTDesC8@@ABVCRSASignature@@@Z @ 86 NONAME ; public virtual int CRSAVerifer::VerifyL(class TDesC8 const &,class CRSASignature const &)const
+	?MaxOutputLength@CStreamCipher@@UBEHH@Z @ 87 NONAME ; public: virtual int __thiscall CStreamCipher::MaxOutputLength(int)const 
+	?MaxPaddedLength@CPadding@@UBEHH@Z @ 88 NONAME ; public: virtual int __thiscall CPadding::MaxPaddedLength(int)const 
+	?MaxUnPaddedLength@CPadding@@UBEHH@Z @ 89 NONAME ; public: virtual int __thiscall CPadding::MaxUnPaddedLength(int)const 
+	?ModularExponentiateL@TInteger@@SA?AVRInteger@@ABV1@00@Z @ 90 NONAME ; public: static class RInteger  __cdecl TInteger::ModularExponentiateL(class TInteger const &,class TInteger const &,class TInteger const &)
+	?N@CDHParameters@@QBEABVTInteger@@XZ @ 91 NONAME ; public: class TInteger const & __thiscall CDHParameters::N(void)const 
+	?N@CRSAParameters@@QBEABVTInteger@@XZ @ 92 NONAME ; public: class TInteger const & __thiscall CRSAParameters::N(void)const 
+	?NewEmptyL@RInteger@@SA?AV1@I@Z @ 93 NONAME ; public: static class RInteger  __cdecl RInteger::NewEmptyL(unsigned int)
+	?NewL@C3DESDecryptor@@SAPAV1@ABVTDesC8@@@Z @ 94 NONAME ; public: static class C3DESDecryptor * __cdecl C3DESDecryptor::NewL(class TDesC8 const &)
+	?NewL@C3DESEncryptor@@SAPAV1@ABVTDesC8@@@Z @ 95 NONAME ; public: static class C3DESEncryptor * __cdecl C3DESEncryptor::NewL(class TDesC8 const &)
+	?NewL@CAESDecryptor@@SAPAV1@ABVTDesC8@@@Z @ 96 NONAME ; public: static class CAESDecryptor * __cdecl CAESDecryptor::NewL(class TDesC8 const &)
+	?NewL@CAESEncryptor@@SAPAV1@ABVTDesC8@@@Z @ 97 NONAME ; public: static class CAESEncryptor * __cdecl CAESEncryptor::NewL(class TDesC8 const &)
+	?NewL@CARC4@@SAPAV1@ABVTDesC8@@I@Z @ 98 NONAME ; public: static class CARC4 * __cdecl CARC4::NewL(class TDesC8 const &,unsigned int)
+	?NewL@CBufferedDecryptor@@SAPAV1@PAVCBlockTransformation@@PAVCPadding@@@Z @ 99 NONAME ; public: static class CBufferedDecryptor * __cdecl CBufferedDecryptor::NewL(class CBlockTransformation *,class CPadding *)
+	?NewL@CBufferedEncryptor@@SAPAV1@PAVCBlockTransformation@@PAVCPadding@@@Z @ 100 NONAME ; public: static class CBufferedEncryptor * __cdecl CBufferedEncryptor::NewL(class CBlockTransformation *,class CPadding *)
+	?NewL@CDESDecryptor@@SAPAV1@ABVTDesC8@@H@Z @ 101 NONAME ; public: static class CDESDecryptor * __cdecl CDESDecryptor::NewL(class TDesC8 const &,int)
+	?NewL@CDESEncryptor@@SAPAV1@ABVTDesC8@@H@Z @ 102 NONAME ; public: static class CDESEncryptor * __cdecl CDESEncryptor::NewL(class TDesC8 const &,int)
+	?NewL@CDH@@SAPAV1@ABVCDHPrivateKey@@@Z @ 103 NONAME ; public: static class CDH * __cdecl CDH::NewL(class CDHPrivateKey const &)
+	?NewL@CDHKeyPair@@SAPAV1@AAVRInteger@@00@Z @ 104 NONAME ; public: static class CDHKeyPair * __cdecl CDHKeyPair::NewL(class RInteger &,class RInteger &,class RInteger &)
+	?NewL@CDHKeyPair@@SAPAV1@AAVRInteger@@0@Z @ 105 NONAME ; public: static class CDHKeyPair * __cdecl CDHKeyPair::NewL(class RInteger &,class RInteger &)
+	?NewL@CDHPrivateKey@@SAPAV1@AAVRInteger@@00@Z @ 106 NONAME ; public: static class CDHPrivateKey * __cdecl CDHPrivateKey::NewL(class RInteger &,class RInteger &,class RInteger &)
+	?NewL@CDHPublicKey@@SAPAV1@AAVRInteger@@00@Z @ 107 NONAME ; public: static class CDHPublicKey * __cdecl CDHPublicKey::NewL(class RInteger &,class RInteger &,class RInteger &)
+	?NewL@CDSAKeyPair@@SAPAV1@I@Z @ 108 NONAME ; public: static class CDSAKeyPair * __cdecl CDSAKeyPair::NewL(unsigned int)
+	?NewL@CDSAParameters@@SAPAV1@AAVRInteger@@00@Z @ 109 NONAME ; public: static class CDSAParameters * __cdecl CDSAParameters::NewL(class RInteger &,class RInteger &,class RInteger &)
+	?NewL@CDSAPrimeCertificate@@SAPAV1@ABVTDesC8@@I@Z @ 110 NONAME ; public: static class CDSAPrimeCertificate * __cdecl CDSAPrimeCertificate::NewL(class TDesC8 const &,unsigned int)
+	?NewL@CDSAPrivateKey@@SAPAV1@AAVRInteger@@000@Z @ 111 NONAME ; public: static class CDSAPrivateKey * __cdecl CDSAPrivateKey::NewL(class RInteger &,class RInteger &,class RInteger &,class RInteger &)
+	?NewL@CDSAPublicKey@@SAPAV1@AAVRInteger@@000@Z @ 112 NONAME ; public: static class CDSAPublicKey * __cdecl CDSAPublicKey::NewL(class RInteger &,class RInteger &,class RInteger &,class RInteger &)
+	?NewL@CDSASignature@@SAPAV1@AAVRInteger@@0@Z @ 113 NONAME ; public: static class CDSASignature * __cdecl CDSASignature::NewL(class RInteger &,class RInteger &)
+	?NewL@CDSASigner@@SAPAV1@ABVCDSAPrivateKey@@@Z @ 114 NONAME ; public: static class CDSASigner * __cdecl CDSASigner::NewL(class CDSAPrivateKey const &)
+	?NewL@CDSAVerifier@@SAPAV1@ABVCDSAPublicKey@@@Z @ 115 NONAME ; public: static class CDSAVerifier * __cdecl CDSAVerifier::NewL(class CDSAPublicKey const &)
+	?NewL@CModeCBCDecryptor@@SAPAV1@PAVCBlockTransformation@@ABVTDesC8@@@Z @ 116 NONAME ; public: static class CModeCBCDecryptor * __cdecl CModeCBCDecryptor::NewL(class CBlockTransformation *,class TDesC8 const &)
+	?NewL@CModeCBCEncryptor@@SAPAV1@PAVCBlockTransformation@@ABVTDesC8@@@Z @ 117 NONAME ; public: static class CModeCBCEncryptor * __cdecl CModeCBCEncryptor::NewL(class CBlockTransformation *,class TDesC8 const &)
+	?NewL@CNullCipher@@SAPAV1@XZ @ 118 NONAME ; public: static class CNullCipher * __cdecl CNullCipher::NewL(void)
+	?NewL@CPaddingNone@@SAPAV1@H@Z @ 119 NONAME ; public: static class CPaddingNone * __cdecl CPaddingNone::NewL(int)
+	?NewL@CPaddingPKCS1Encryption@@SAPAV1@H@Z @ 120 NONAME ; public: static class CPaddingPKCS1Encryption * __cdecl CPaddingPKCS1Encryption::NewL(int)
+	?NewL@CPaddingPKCS1Signature@@SAPAV1@H@Z @ 121 NONAME ; public: static class CPaddingPKCS1Signature * __cdecl CPaddingPKCS1Signature::NewL(int)
+	?NewL@CPaddingSSLv3@@SAPAV1@H@Z @ 122 NONAME ; public: static class CPaddingSSLv3 * __cdecl CPaddingSSLv3::NewL(int)
+	?NewL@CRC2Decryptor@@SAPAV1@ABVTDesC8@@H@Z @ 123 NONAME ; public: static class CRC2Decryptor * __cdecl CRC2Decryptor::NewL(class TDesC8 const &,int)
+	?NewL@CRC2Encryptor@@SAPAV1@ABVTDesC8@@H@Z @ 124 NONAME ; public: static class CRC2Encryptor * __cdecl CRC2Encryptor::NewL(class TDesC8 const &,int)
+	?NewL@CRSAKeyPair@@SAPAV1@IW4TRSAPrivateKeyType@@@Z @ 125 NONAME ; public: static class CRSAKeyPair * __cdecl CRSAKeyPair::NewL(unsigned int,enum TRSAPrivateKeyType)
+	?NewL@CRSAPKCS1v15Decryptor@@SAPAV1@ABVCRSAPrivateKey@@@Z @ 126 NONAME ; public: static class CRSAPKCS1v15Decryptor * __cdecl CRSAPKCS1v15Decryptor::NewL(class CRSAPrivateKey const &)
+	?NewL@CRSAPKCS1v15Encryptor@@SAPAV1@ABVCRSAPublicKey@@@Z @ 127 NONAME ; public: static class CRSAPKCS1v15Encryptor * __cdecl CRSAPKCS1v15Encryptor::NewL(class CRSAPublicKey const &)
+	?NewL@CRSAPKCS1v15Signer@@SAPAV1@ABVCRSAPrivateKey@@@Z @ 128 NONAME ; public: static class CRSAPKCS1v15Signer * __cdecl CRSAPKCS1v15Signer::NewL(class CRSAPrivateKey const &)
+	?NewL@CRSAPKCS1v15Verifier@@SAPAV1@ABVCRSAPublicKey@@@Z @ 129 NONAME ; public: static class CRSAPKCS1v15Verifier * __cdecl CRSAPKCS1v15Verifier::NewL(class CRSAPublicKey const &)
+	?NewL@CRSAPrivateKeyCRT@@SAPAV1@AAVRInteger@@00000@Z @ 130 NONAME ; public: static class CRSAPrivateKeyCRT * __cdecl CRSAPrivateKeyCRT::NewL(class RInteger &,class RInteger &,class RInteger &,class RInteger &,class RInteger &,class RInteger &)
+	?NewL@CRSAPrivateKeyStandard@@SAPAV1@AAVRInteger@@0@Z @ 131 NONAME ; public: static class CRSAPrivateKeyStandard * __cdecl CRSAPrivateKeyStandard::NewL(class RInteger &,class RInteger &)
+	?NewL@CRSAPublicKey@@SAPAV1@AAVRInteger@@0@Z @ 132 NONAME ; public: static class CRSAPublicKey * __cdecl CRSAPublicKey::NewL(class RInteger &,class RInteger &)
+	?NewL@CRSASignature@@SAPAV1@AAVRInteger@@@Z @ 133 NONAME ; public: static class CRSASignature * __cdecl CRSASignature::NewL(class RInteger &)
+	?NewL@RInteger@@SA?AV1@ABVTDesC8@@@Z @ 134 NONAME ; public: static class RInteger  __cdecl RInteger::NewL(class TDesC8 const &)
+	?NewL@RInteger@@SA?AV1@ABVTInteger@@@Z @ 135 NONAME ; public: static class RInteger  __cdecl RInteger::NewL(class TInteger const &)
+	?NewL@RInteger@@SA?AV1@H@Z @ 136 NONAME ; public: static class RInteger  __cdecl RInteger::NewL(int)
+	?NewL@RInteger@@SA?AV1@I@Z @ 137 NONAME ; public: static class RInteger  __cdecl RInteger::NewL(unsigned int)
+	?NewL@RInteger@@SA?AV1@XZ @ 138 NONAME ; public: static class RInteger  __cdecl RInteger::NewL(void)
+	?NewLC@C3DESDecryptor@@SAPAV1@ABVTDesC8@@@Z @ 139 NONAME ; public: static class C3DESDecryptor * __cdecl C3DESDecryptor::NewLC(class TDesC8 const &)
+	?NewLC@C3DESEncryptor@@SAPAV1@ABVTDesC8@@@Z @ 140 NONAME ; public: static class C3DESEncryptor * __cdecl C3DESEncryptor::NewLC(class TDesC8 const &)
+	?NewLC@CAESDecryptor@@SAPAV1@ABVTDesC8@@@Z @ 141 NONAME ; public: static class CAESDecryptor * __cdecl CAESDecryptor::NewLC(class TDesC8 const &)
+	?NewLC@CAESEncryptor@@SAPAV1@ABVTDesC8@@@Z @ 142 NONAME ; public: static class CAESEncryptor * __cdecl CAESEncryptor::NewLC(class TDesC8 const &)
+	?NewLC@CARC4@@SAPAV1@ABVTDesC8@@I@Z @ 143 NONAME ; public: static class CARC4 * __cdecl CARC4::NewLC(class TDesC8 const &,unsigned int)
+	?NewLC@CBufferedDecryptor@@SAPAV1@PAVCBlockTransformation@@PAVCPadding@@@Z @ 144 NONAME ; public: static class CBufferedDecryptor * __cdecl CBufferedDecryptor::NewLC(class CBlockTransformation *,class CPadding *)
+	?NewLC@CBufferedEncryptor@@SAPAV1@PAVCBlockTransformation@@PAVCPadding@@@Z @ 145 NONAME ; public: static class CBufferedEncryptor * __cdecl CBufferedEncryptor::NewLC(class CBlockTransformation *,class CPadding *)
+	?NewLC@CDESDecryptor@@SAPAV1@ABVTDesC8@@H@Z @ 146 NONAME ; public: static class CDESDecryptor * __cdecl CDESDecryptor::NewLC(class TDesC8 const &,int)
+	?NewLC@CDESEncryptor@@SAPAV1@ABVTDesC8@@H@Z @ 147 NONAME ; public: static class CDESEncryptor * __cdecl CDESEncryptor::NewLC(class TDesC8 const &,int)
+	?NewLC@CDH@@SAPAV1@ABVCDHPrivateKey@@@Z @ 148 NONAME ; public: static class CDH * __cdecl CDH::NewLC(class CDHPrivateKey const &)
+	?NewLC@CDHKeyPair@@SAPAV1@AAVRInteger@@00@Z @ 149 NONAME ; public: static class CDHKeyPair * __cdecl CDHKeyPair::NewLC(class RInteger &,class RInteger &,class RInteger &)
+	?NewLC@CDHKeyPair@@SAPAV1@AAVRInteger@@0@Z @ 150 NONAME ; public: static class CDHKeyPair * __cdecl CDHKeyPair::NewLC(class RInteger &,class RInteger &)
+	?NewLC@CDHPrivateKey@@SAPAV1@AAVRInteger@@00@Z @ 151 NONAME ; public: static class CDHPrivateKey * __cdecl CDHPrivateKey::NewLC(class RInteger &,class RInteger &,class RInteger &)
+	?NewLC@CDHPublicKey@@SAPAV1@AAVRInteger@@00@Z @ 152 NONAME ; public: static class CDHPublicKey * __cdecl CDHPublicKey::NewLC(class RInteger &,class RInteger &,class RInteger &)
+	?NewLC@CDSAKeyPair@@SAPAV1@I@Z @ 153 NONAME ; public: static class CDSAKeyPair * __cdecl CDSAKeyPair::NewLC(unsigned int)
+	?NewLC@CDSAPrimeCertificate@@SAPAV1@ABVTDesC8@@I@Z @ 154 NONAME ; public: static class CDSAPrimeCertificate * __cdecl CDSAPrimeCertificate::NewLC(class TDesC8 const &,unsigned int)
+	?NewLC@CDSAPrivateKey@@SAPAV1@AAVRInteger@@000@Z @ 155 NONAME ; public: static class CDSAPrivateKey * __cdecl CDSAPrivateKey::NewLC(class RInteger &,class RInteger &,class RInteger &,class RInteger &)
+	?NewLC@CDSAPublicKey@@SAPAV1@AAVRInteger@@000@Z @ 156 NONAME ; public: static class CDSAPublicKey * __cdecl CDSAPublicKey::NewLC(class RInteger &,class RInteger &,class RInteger &,class RInteger &)
+	?NewLC@CDSASignature@@SAPAV1@AAVRInteger@@0@Z @ 157 NONAME ; public: static class CDSASignature * __cdecl CDSASignature::NewLC(class RInteger &,class RInteger &)
+	?NewLC@CDSASigner@@SAPAV1@ABVCDSAPrivateKey@@@Z @ 158 NONAME ; public: static class CDSASigner * __cdecl CDSASigner::NewLC(class CDSAPrivateKey const &)
+	?NewLC@CDSAVerifier@@SAPAV1@ABVCDSAPublicKey@@@Z @ 159 NONAME ; public: static class CDSAVerifier * __cdecl CDSAVerifier::NewLC(class CDSAPublicKey const &)
+	?NewLC@CModeCBCDecryptor@@SAPAV1@PAVCBlockTransformation@@ABVTDesC8@@@Z @ 160 NONAME ; public: static class CModeCBCDecryptor * __cdecl CModeCBCDecryptor::NewLC(class CBlockTransformation *,class TDesC8 const &)
+	?NewLC@CModeCBCEncryptor@@SAPAV1@PAVCBlockTransformation@@ABVTDesC8@@@Z @ 161 NONAME ; public: static class CModeCBCEncryptor * __cdecl CModeCBCEncryptor::NewLC(class CBlockTransformation *,class TDesC8 const &)
+	?NewLC@CNullCipher@@SAPAV1@XZ @ 162 NONAME ; public: static class CNullCipher * __cdecl CNullCipher::NewLC(void)
+	?NewLC@CPaddingNone@@SAPAV1@H@Z @ 163 NONAME ; public: static class CPaddingNone * __cdecl CPaddingNone::NewLC(int)
+	?NewLC@CPaddingPKCS1Encryption@@SAPAV1@H@Z @ 164 NONAME ; public: static class CPaddingPKCS1Encryption * __cdecl CPaddingPKCS1Encryption::NewLC(int)
+	?NewLC@CPaddingPKCS1Signature@@SAPAV1@H@Z @ 165 NONAME ; public: static class CPaddingPKCS1Signature * __cdecl CPaddingPKCS1Signature::NewLC(int)
+	?NewLC@CPaddingSSLv3@@SAPAV1@H@Z @ 166 NONAME ; public: static class CPaddingSSLv3 * __cdecl CPaddingSSLv3::NewLC(int)
+	?NewLC@CRC2Decryptor@@SAPAV1@ABVTDesC8@@H@Z @ 167 NONAME ; public: static class CRC2Decryptor * __cdecl CRC2Decryptor::NewLC(class TDesC8 const &,int)
+	?NewLC@CRC2Encryptor@@SAPAV1@ABVTDesC8@@H@Z @ 168 NONAME ; public: static class CRC2Encryptor * __cdecl CRC2Encryptor::NewLC(class TDesC8 const &,int)
+	?NewLC@CRSAKeyPair@@SAPAV1@IW4TRSAPrivateKeyType@@@Z @ 169 NONAME ; public: static class CRSAKeyPair * __cdecl CRSAKeyPair::NewLC(unsigned int,enum TRSAPrivateKeyType)
+	?NewLC@CRSAPKCS1v15Decryptor@@SAPAV1@ABVCRSAPrivateKey@@@Z @ 170 NONAME ; public: static class CRSAPKCS1v15Decryptor * __cdecl CRSAPKCS1v15Decryptor::NewLC(class CRSAPrivateKey const &)
+	?NewLC@CRSAPKCS1v15Encryptor@@SAPAV1@ABVCRSAPublicKey@@@Z @ 171 NONAME ; public: static class CRSAPKCS1v15Encryptor * __cdecl CRSAPKCS1v15Encryptor::NewLC(class CRSAPublicKey const &)
+	?NewLC@CRSAPKCS1v15Signer@@SAPAV1@ABVCRSAPrivateKey@@@Z @ 172 NONAME ; public: static class CRSAPKCS1v15Signer * __cdecl CRSAPKCS1v15Signer::NewLC(class CRSAPrivateKey const &)
+	?NewLC@CRSAPKCS1v15Verifier@@SAPAV1@ABVCRSAPublicKey@@@Z @ 173 NONAME ; public: static class CRSAPKCS1v15Verifier * __cdecl CRSAPKCS1v15Verifier::NewLC(class CRSAPublicKey const &)
+	?NewLC@CRSAPrivateKeyCRT@@SAPAV1@AAVRInteger@@00000@Z @ 174 NONAME ; public: static class CRSAPrivateKeyCRT * __cdecl CRSAPrivateKeyCRT::NewLC(class RInteger &,class RInteger &,class RInteger &,class RInteger &,class RInteger &,class RInteger &)
+	?NewLC@CRSAPrivateKeyStandard@@SAPAV1@AAVRInteger@@0@Z @ 175 NONAME ; public: static class CRSAPrivateKeyStandard * __cdecl CRSAPrivateKeyStandard::NewLC(class RInteger &,class RInteger &)
+	?NewLC@CRSAPublicKey@@SAPAV1@AAVRInteger@@0@Z @ 176 NONAME ; public: static class CRSAPublicKey * __cdecl CRSAPublicKey::NewLC(class RInteger &,class RInteger &)
+	?NewLC@CRSASignature@@SAPAV1@AAVRInteger@@@Z @ 177 NONAME ; public: static class CRSASignature * __cdecl CRSASignature::NewLC(class RInteger &)
+	?NewPrimeL@RInteger@@SA?AV1@IW4TRandomAttribute@TInteger@@@Z @ 178 NONAME ; public: static class RInteger  __cdecl RInteger::NewPrimeL(unsigned int,int)
+	?NewRandomL@RInteger@@SA?AV1@ABVTInteger@@0@Z @ 179 NONAME ; public: static class RInteger  __cdecl RInteger::NewRandomL(class TInteger const &,class TInteger const &)
+	?NewRandomL@RInteger@@SA?AV1@IW4TRandomAttribute@TInteger@@@Z @ 180 NONAME ; public: static class RInteger  __cdecl RInteger::NewRandomL(unsigned int,int)
+	?P@CDSAParameters@@QBEABVTInteger@@XZ @ 181 NONAME ; public: class TInteger const & __thiscall CDSAParameters::P(void)const 
+	?P@CRSAPrivateKeyCRT@@QBEABVTInteger@@XZ @ 182 NONAME ; public: class TInteger const & __thiscall CRSAPrivateKeyCRT::P(void)const 
+	?PadL@CPadding@@QAEXABVTDesC8@@AAVTDes8@@@Z @ 183 NONAME ; public: void __thiscall CPadding::PadL(class TDesC8 const &,class TDes8 &)
+	?PrimeCertificate@CDSAKeyPair@@QBEABVCDSAPrimeCertificate@@XZ @ 184 NONAME ; public: class CDSAPrimeCertificate const & __thiscall CDSAKeyPair::PrimeCertificate(void)const 
+	?PrivateKey@CDHKeyPair@@QBEABVCDHPrivateKey@@XZ @ 185 NONAME ; public: class CDHPrivateKey const & __thiscall CDHKeyPair::PrivateKey(void)const 
+	?PrivateKey@CDSAKeyPair@@QBEABVCDSAPrivateKey@@XZ @ 186 NONAME ; public: class CDSAPrivateKey const & __thiscall CDSAKeyPair::PrivateKey(void)const 
+	?PrivateKey@CRSAKeyPair@@QBEABVCRSAPrivateKey@@XZ @ 187 NONAME ; public: class CRSAPrivateKey const & __thiscall CRSAKeyPair::PrivateKey(void)const 
+	?Process@CStreamCipher@@UAEXABVTDesC8@@AAVTDes8@@@Z @ 188 NONAME ; public: virtual void __thiscall CStreamCipher::Process(class TDesC8 const &,class TDes8 &)
+	?ProcessFinalL@CStreamCipher@@UAEXABVTDesC8@@AAVTDes8@@@Z @ 189 NONAME ; public: virtual void __thiscall CStreamCipher::ProcessFinalL(class TDesC8 const &,class TDes8 &)
+	?PublicKey@CDHKeyPair@@QBEABVCDHPublicKey@@XZ @ 190 NONAME ; public: class CDHPublicKey const & __thiscall CDHKeyPair::PublicKey(void)const 
+	?PublicKey@CDSAKeyPair@@QBEABVCDSAPublicKey@@XZ @ 191 NONAME ; public: class CDSAPublicKey const & __thiscall CDSAKeyPair::PublicKey(void)const 
+	?PublicKey@CRSAKeyPair@@QBEABVCRSAPublicKey@@XZ @ 192 NONAME ; public: class CRSAPublicKey const & __thiscall CRSAKeyPair::PublicKey(void)const 
+	?Q@CDSAParameters@@QBEABVTInteger@@XZ @ 193 NONAME ; public: class TInteger const & __thiscall CDSAParameters::Q(void)const 
+	?Q@CRSAPrivateKeyCRT@@QBEABVTInteger@@XZ @ 194 NONAME ; public: class TInteger const & __thiscall CRSAPrivateKeyCRT::Q(void)const 
+	?QInv@CRSAPrivateKeyCRT@@QBEABVTInteger@@XZ @ 195 NONAME ; public: class TInteger const & __thiscall CRSAPrivateKeyCRT::QInv(void)const 
+	?R@CDSASignature@@QBEABVTInteger@@XZ @ 196 NONAME ; public: class TInteger const & __thiscall CDSASignature::R(void)const 
+	?S@CDSASignature@@QBEABVTInteger@@XZ @ 197 NONAME ; public: class TInteger const & __thiscall CDSASignature::S(void)const 
+	?S@CRSASignature@@QBEABVTInteger@@XZ @ 198 NONAME ; public: class TInteger const & __thiscall CRSASignature::S(void)const 
+	?Seed@CDSAPrimeCertificate@@QBEABVTDesC8@@XZ @ 199 NONAME ; public: class TDesC8 const & __thiscall CDSAPrimeCertificate::Seed(void)const 
+	?SetBlockSize@CPadding@@QAEXH@Z @ 200 NONAME ; public: void __thiscall CPadding::SetBlockSize(int)
+	?Strength@TCrypto@@SA?AW4TStrength@1@XZ @ 201 NONAME ; public: static enum TCrypto::TStrength  __cdecl TCrypto::Strength(void)
+	?ValidPrimeLength@CDSAParameters@@SAHI@Z @ 202 NONAME ; public: static int __cdecl CDSAParameters::ValidPrimeLength(unsigned int)
+	?ValidatePrimesL@CDSAParameters@@QBEHABVCDSAPrimeCertificate@@@Z @ 203 NONAME ; public: int __thiscall CDSAParameters::ValidatePrimesL(class CDSAPrimeCertificate const &)const 
+	?WordCount@TInteger@@QBEIXZ @ 204 NONAME ; public: unsigned int __thiscall TInteger::WordCount(void)const 
+	?X@CDHPublicKey@@QBEABVTInteger@@XZ @ 205 NONAME ; public: class TInteger const & __thiscall CDHPublicKey::X(void)const 
+	?X@CDSAPrivateKey@@QBEABVTInteger@@XZ @ 206 NONAME ; public: class TInteger const & __thiscall CDSAPrivateKey::X(void)const 
+	?Y@CDSAPublicKey@@QBEABVTInteger@@XZ @ 207 NONAME ; public: class TInteger const & __thiscall CDSAPublicKey::Y(void)const 
+	?x@CDHPrivateKey@@QBEABVTInteger@@XZ @ 208 NONAME ; public: class TInteger const & __thiscall CDHPrivateKey::x(void)const 
+	?IsAsymmetricWeakEnoughL@TCrypto@@SAHH@Z @ 209 NONAME ; public: static int __cdecl TCrypto::IsAsymmetricWeakEnoughL(int)
+	?IsSymmetricWeakEnoughL@TCrypto@@SAHH@Z @ 210 NONAME ; public: static int __cdecl TCrypto::IsSymmetricWeakEnoughL(int)
+	??0CPaddingPKCS7@@IAE@H@Z @ 211 NONAME ; CPaddingPKCS7::CPaddingPKCS7(int)
+	?NewL@CPaddingPKCS7@@SAPAV1@H@Z @ 212 NONAME ; class CPaddingPKCS7 * CPaddingPKCS7::NewL(int)
+	?NewLC@CPaddingPKCS7@@SAPAV1@H@Z @ 213 NONAME ; class CPaddingPKCS7 * CPaddingPKCS7::NewLC(int)
+	?DHKeyIdentifierL@KeyIdentifierUtil@@SAXABVRInteger@@AAV?$TBuf8@$0BE@@@@Z @ 214 NONAME ; void KeyIdentifierUtil::DHKeyIdentifierL(class RInteger const &, class TBuf8<20> &)
+	?DSAKeyIdentifierL@KeyIdentifierUtil@@SAXABVCDSAPublicKey@@AAV?$TBuf8@$0BE@@@@Z @ 215 NONAME ; void KeyIdentifierUtil::DSAKeyIdentifierL(class CDSAPublicKey const &, class TBuf8<20> &)
+	?RSAKeyIdentifierL@KeyIdentifierUtil@@SAXABVCRSAPublicKey@@AAV?$TBuf8@$0BE@@@@Z @ 216 NONAME ; void KeyIdentifierUtil::RSAKeyIdentifierL(class CRSAPublicKey const &, class TBuf8<20> &)
+	??ETInteger@@QAEAAV0@XZ @ 217 NONAME ; class TInteger & TInteger::operator++(void)
+	??FTInteger@@QAEAAV0@XZ @ 218 NONAME ; class TInteger & TInteger::operator--(void)
+	?InverseModL@TInteger@@QBE?AVRInteger@@ABV1@@Z @ 219 NONAME ; class RInteger TInteger::InverseModL(class TInteger const &) const
+	?TimesL@TInteger@@QBE?AVRInteger@@ABV1@@Z @ 220 NONAME ; class RInteger TInteger::TimesL(class TInteger const &) const
+	??0RInteger@@QAE@ABV0@@Z @ 221 NONAME ; public: __thiscall RInteger::RInteger(class RInteger const &)
+	??4RInteger@@QAEAAV0@ABV0@@Z @ 222 NONAME ; public: class RInteger & __thiscall RInteger::operator=(class RInteger const &)
+	??XTInteger@@QAEAAV0@ABV0@@Z @ 223 NONAME ; public: class TInteger & __thiscall TInteger::operator*=(class TInteger const &)
+	??XTInteger@@QAEAAV0@H@Z @ 224 NONAME ; public: class TInteger & __thiscall TInteger::operator*=(int)
+	??YTInteger@@QAEAAV0@ABV0@@Z @ 225 NONAME ; public: class TInteger & __thiscall TInteger::operator+=(class TInteger const &)
+	??YTInteger@@QAEAAV0@H@Z @ 226 NONAME ; public: class TInteger & __thiscall TInteger::operator+=(int)
+	??ZTInteger@@QAEAAV0@ABV0@@Z @ 227 NONAME ; public: class TInteger & __thiscall TInteger::operator-=(class TInteger const &)
+	??ZTInteger@@QAEAAV0@H@Z @ 228 NONAME ; public: class TInteger & __thiscall TInteger::operator-=(int)
+	??_0TInteger@@QAEAAV0@ABV0@@Z @ 229 NONAME ; public: class TInteger & __thiscall TInteger::operator/=(class TInteger const &)
+	??_0TInteger@@QAEAAV0@H@Z @ 230 NONAME ; public: class TInteger & __thiscall TInteger::operator/=(int)
+	??_1TInteger@@QAEAAV0@ABV0@@Z @ 231 NONAME ; public: class TInteger & __thiscall TInteger::operator%=(class TInteger const &)
+	??_1TInteger@@QAEAAV0@H@Z @ 232 NONAME ; public: class TInteger & __thiscall TInteger::operator%=(int)
+	??_2TInteger@@QAEAAV0@I@Z @ 233 NONAME ; public: class TInteger & __thiscall TInteger::operator>>=(unsigned int)
+	??_3TInteger@@QAEAAV0@I@Z @ 234 NONAME ; public: class TInteger & __thiscall TInteger::operator<<=(unsigned int)
+	?Bit@TInteger@@QBEHI@Z @ 235 NONAME ; public: int __thiscall TInteger::Bit(unsigned int)const 
+	?ConvertToLongL@TInteger@@QBEHXZ @ 236 NONAME ; public: int __thiscall TInteger::ConvertToLongL(void)const 
+	?DividedByL@TInteger@@QBE?AVRInteger@@ABV1@@Z @ 237 NONAME ; public: class RInteger  __thiscall TInteger::DividedByL(class TInteger const &)const 
+	?DividedByL@TInteger@@QBE?AVRInteger@@I@Z @ 238 NONAME ; public: class RInteger  __thiscall TInteger::DividedByL(unsigned int)const 
+	?ExponentiateL@TInteger@@QBE?AVRInteger@@ABV1@@Z @ 239 NONAME ; public: class RInteger  __thiscall TInteger::ExponentiateL(class TInteger const &)const 
+	?GCDL@TInteger@@QBE?AVRInteger@@ABV1@@Z @ 240 NONAME ; public: class RInteger  __thiscall TInteger::GCDL(class TInteger const &)const 
+	?IsPrimeL@TInteger@@QBEHXZ @ 241 NONAME ; public: int __thiscall TInteger::IsPrimeL(void)const 
+	?MinusL@TInteger@@QBE?AVRInteger@@ABV1@@Z @ 242 NONAME ; public: class RInteger  __thiscall TInteger::MinusL(class TInteger const &)const 
+	?ModularMultiplyL@TInteger@@SA?AVRInteger@@ABV1@00@Z @ 243 NONAME ; public: static class RInteger  __cdecl TInteger::ModularMultiplyL(class TInteger const &,class TInteger const &,class TInteger const &)
+	?ModuloL@TInteger@@QBE?AVRInteger@@ABV1@@Z @ 244 NONAME ; public: class RInteger  __thiscall TInteger::ModuloL(class TInteger const &)const 
+	?ModuloL@TInteger@@QBEII@Z @ 245 NONAME ; public: unsigned int __thiscall TInteger::ModuloL(unsigned int)const 
+	?Negate@TInteger@@QAEXXZ @ 246 NONAME ; public: void __thiscall TInteger::Negate(void)
+	?One@TInteger@@SAABV1@XZ @ 247 NONAME ; public: static class TInteger const & __cdecl TInteger::One(void)
+	?PlusL@TInteger@@QBE?AVRInteger@@ABV1@@Z @ 248 NONAME ; public: class RInteger  __thiscall TInteger::PlusL(class TInteger const &)const 
+	?SetBit@TInteger@@QAEXI@Z @ 249 NONAME ; public: void __thiscall TInteger::SetBit(unsigned int)
+	?SignedCompare@TInteger@@QBEHABV1@@Z @ 250 NONAME ; public: int __thiscall TInteger::SignedCompare(class TInteger const &)const 
+	?SignedCompare@TInteger@@QBEHH@Z @ 251 NONAME ; public: int __thiscall TInteger::SignedCompare(int)const 
+	?SquaredL@TInteger@@QBE?AVRInteger@@XZ @ 252 NONAME ; public: class RInteger  __thiscall TInteger::SquaredL(void)const 
+	?Two@TInteger@@SAABV1@XZ @ 253 NONAME ; public: static class TInteger const & __cdecl TInteger::Two(void)
+	?UnsignedCompare@TInteger@@QBEHABV1@@Z @ 254 NONAME ; public: int __thiscall TInteger::UnsignedCompare(class TInteger const &)const 
+	?Zero@TInteger@@SAABV1@XZ @ 255 NONAME ; public: static class TInteger const & __cdecl TInteger::Zero(void)
+	?CopyL@TInteger@@QAEXABV1@H@Z @ 256 NONAME ; public: void __thiscall TInteger::CopyL(class TInteger const &,int)
+	?CopyL@TInteger@@QAEXHH@Z @ 257 NONAME ; public: void __thiscall TInteger::CopyL(int,int)
+	?Set@TInteger@@QAEXABVRInteger@@@Z @ 258 NONAME ; public: void __thiscall TInteger::Set(class RInteger const &)
+	?IsWeakKey@CDES@@SAHABVTDesC8@@@Z @ 259 NONAME ; public: static int __cdecl CDES::IsWeakKey(class TDesC8 const &)
+	?BufferWithNoTruncationLC@TInteger@@QBEPAVHBufC8@@XZ @ 260 NONAME ; class HBufC8 * TInteger::BufferWithNoTruncationLC(void) const
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/bwins/cryptoswitchU.def	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,262 @@
+EXPORTS
+	call_vector_1 @ 1 NONAME ; protected: __thiscall CBlockChainingMode::CBlockChainingMode(void)
+	call_vector_2 @ 2 NONAME ; protected: __thiscall CDH::CDH(class CDHPrivateKey const &)
+	call_vector_3 @ 3 NONAME ; protected: __thiscall CDHKeyPair::CDHKeyPair(void)
+	call_vector_4 @ 4 NONAME ; protected: __thiscall CDHParameters::CDHParameters(class RInteger &,class RInteger &)
+	call_vector_5 @ 5 NONAME ; protected: __thiscall CDHParameters::CDHParameters(void)
+	call_vector_6 @ 6 NONAME ; protected: __thiscall CDHPrivateKey::CDHPrivateKey(class RInteger &,class RInteger &,class RInteger &)
+	call_vector_7 @ 7 NONAME ; protected: __thiscall CDHPrivateKey::CDHPrivateKey(void)
+	call_vector_8 @ 8 NONAME ; protected: __thiscall CDHPublicKey::CDHPublicKey(class RInteger &,class RInteger &,class RInteger &)
+	call_vector_9 @ 9 NONAME ; protected: __thiscall CDHPublicKey::CDHPublicKey(void)
+	call_vector_10 @ 10 NONAME ; protected: __thiscall CDSAKeyPair::CDSAKeyPair(void)
+	call_vector_11 @ 11 NONAME ; protected: __thiscall CDSAParameters::CDSAParameters(class RInteger &,class RInteger &,class RInteger &)
+	call_vector_12 @ 12 NONAME ; protected: __thiscall CDSAParameters::CDSAParameters(void)
+	call_vector_13 @ 13 NONAME ; protected: __thiscall CDSAPrimeCertificate::CDSAPrimeCertificate(unsigned int)
+	call_vector_14 @ 14 NONAME ; protected: __thiscall CDSAPrimeCertificate::CDSAPrimeCertificate(void)
+	call_vector_15 @ 15 NONAME ; protected: __thiscall CDSAPrivateKey::CDSAPrivateKey(class RInteger &,class RInteger &,class RInteger &,class RInteger &)
+	call_vector_16 @ 16 NONAME ; protected: __thiscall CDSAPrivateKey::CDSAPrivateKey(void)
+	call_vector_17 @ 17 NONAME ; protected: __thiscall CDSAPublicKey::CDSAPublicKey(class RInteger &,class RInteger &,class RInteger &,class RInteger &)
+	call_vector_18 @ 18 NONAME ; protected: __thiscall CDSAPublicKey::CDSAPublicKey(void)
+	call_vector_19 @ 19 NONAME ; protected: __thiscall CDSASignature::CDSASignature(class RInteger &,class RInteger &)
+	call_vector_20 @ 20 NONAME ; protected: __thiscall CDSASignature::CDSASignature(void)
+	call_vector_21 @ 21 NONAME ; protected: __thiscall CPadding::CPadding(int)
+	call_vector_22 @ 22 NONAME ; protected: __thiscall CPaddingNone::CPaddingNone(int)
+	call_vector_23 @ 23 NONAME ; protected: __thiscall CPaddingPKCS1Encryption::CPaddingPKCS1Encryption(int)
+	call_vector_24 @ 24 NONAME ; protected: __thiscall CPaddingPKCS1Signature::CPaddingPKCS1Signature(int)
+	call_vector_25 @ 25 NONAME ; protected: __thiscall CPaddingSSLv3::CPaddingSSLv3(int)
+	call_vector_26 @ 26 NONAME ; protected: __thiscall CRSAKeyPair::CRSAKeyPair(void)
+	call_vector_27 @ 27 NONAME ; protected: __thiscall CRSAParameters::CRSAParameters(class RInteger &)
+	call_vector_28 @ 28 NONAME ; protected: __thiscall CRSAParameters::CRSAParameters(void)
+	call_vector_29 @ 29 NONAME ; protected: __thiscall CRSAPrivateKeyCRT::CRSAPrivateKeyCRT(class RInteger &,class RInteger &,class RInteger &,class RInteger &,class RInteger &,class RInteger &)
+	call_vector_30 @ 30 NONAME ; protected: __thiscall CRSAPrivateKeyStandard::CRSAPrivateKeyStandard(class RInteger &,class RInteger &)
+	call_vector_31 @ 31 NONAME ; protected: __thiscall CRSAPublicKey::CRSAPublicKey(class RInteger &,class RInteger &)
+	call_vector_32 @ 32 NONAME ; protected: __thiscall CRSAPublicKey::CRSAPublicKey(void)
+	call_vector_33 @ 33 NONAME ; protected: __thiscall CRSASignature::CRSASignature(class RInteger &)
+	call_vector_34 @ 34 NONAME ; protected: __thiscall CRijndael::CRijndael(void)
+	call_vector_35 @ 35 NONAME ; protected: __thiscall MCryptoSystem::MCryptoSystem(void)
+	call_vector_36 @ 36 NONAME ; protected: __thiscall CDecryptor::CDecryptor(void)
+	call_vector_37 @ 37 NONAME ; protected: __thiscall CEncryptor::CEncryptor(void)
+	call_vector_38 @ 38 NONAME ; protected: __thiscall MSignatureSystem::MSignatureSystem(void)
+	call_vector_39 @ 39 NONAME ; public: __thiscall RInteger::RInteger(void)
+	call_vector_40 @ 40 NONAME ; protected: __thiscall TInteger::TInteger(void)
+	call_vector_41 @ 41 NONAME ; protected: virtual __thiscall CBlockChainingMode::~CBlockChainingMode(void)
+	call_vector_42 @ 42 NONAME ; public: virtual __thiscall CBufferedTransformation::~CBufferedTransformation(void)
+	call_vector_43 @ 43 NONAME ; public: virtual __thiscall CDHKeyPair::~CDHKeyPair(void)
+	call_vector_44 @ 44 NONAME ; public: virtual __thiscall CDHParameters::~CDHParameters(void)
+	call_vector_45 @ 45 NONAME ; public: virtual __thiscall CDHPrivateKey::~CDHPrivateKey(void)
+	call_vector_46 @ 46 NONAME ; public: virtual __thiscall CDHPublicKey::~CDHPublicKey(void)
+	call_vector_47 @ 47 NONAME ; public: virtual __thiscall CDSAKeyPair::~CDSAKeyPair(void)
+	call_vector_48 @ 48 NONAME ; public: virtual __thiscall CDSAParameters::~CDSAParameters(void)
+	call_vector_49 @ 49 NONAME ; public: virtual __thiscall CDSAPrimeCertificate::~CDSAPrimeCertificate(void)
+	call_vector_50 @ 50 NONAME ; public: virtual __thiscall CDSAPrivateKey::~CDSAPrivateKey(void)
+	call_vector_51 @ 51 NONAME ; public: virtual __thiscall CDSAPublicKey::~CDSAPublicKey(void)
+	call_vector_52 @ 52 NONAME ; public: virtual __thiscall CDSASignature::~CDSASignature(void)
+	call_vector_53 @ 53 NONAME ; public: virtual __thiscall CRSAKeyPair::~CRSAKeyPair(void)
+	call_vector_54 @ 54 NONAME ; public: virtual __thiscall CRSAParameters::~CRSAParameters(void)
+	call_vector_55 @ 55 NONAME ; public: virtual __thiscall CRSAPrivateKeyCRT::~CRSAPrivateKeyCRT(void)
+	call_vector_56 @ 56 NONAME ; public: virtual __thiscall CRSAPrivateKeyStandard::~CRSAPrivateKeyStandard(void)
+	call_vector_57 @ 57 NONAME ; public: virtual __thiscall CRSAPublicKey::~CRSAPublicKey(void)
+	call_vector_58 @ 58 NONAME ; public: virtual __thiscall CRSASignature::~CRSASignature(void)
+	call_vector_59 @ 59 NONAME ; public: virtual __thiscall CRijndael::~CRijndael(void)
+	call_vector_60 @ 60 NONAME ; public: int __thiscall TInteger::operator!(void)const 
+	call_vector_61 @ 61 NONAME ; public: int __thiscall CDSASignature::operator==(class CDSASignature const &)const 
+	call_vector_62 @ 62 NONAME ; public: int __thiscall CRSASignature::operator==(class CRSASignature const &)const 
+	call_vector_63 @ 63 NONAME ; public: __thiscall RInteger::operator class TCleanupItem(void)
+	call_vector_64 @ 64 NONAME ; public: class HBufC8 const * __thiscall CDH::AgreeL(class CDHPublicKey const &)const 
+	call_vector_65 @ 65 NONAME ; public: unsigned int __thiscall TInteger::BitCount(void)const 
+	call_vector_66 @ 66 NONAME ; public: int __thiscall CPadding::BlockSize(void)const 
+	call_vector_67 @ 67 NONAME ; public: virtual int __thiscall CStreamCipher::BlockSize(void)const 
+	call_vector_68 @ 68 NONAME ; public: class CBlockTransformation * __thiscall CBufferedTransformation::BlockTransformer(void)const 
+	call_vector_69 @ 69 NONAME ; public: class HBufC8 * __thiscall TInteger::BufferLC(void)const 
+	call_vector_70 @ 70 NONAME ; public: unsigned int __thiscall TInteger::ByteCount(void)const 
+	call_vector_71 @ 71 NONAME ; public: static void __cdecl RInteger::CallClose(void *)
+	call_vector_72 @ 72 NONAME ; public: void __thiscall RInteger::Close(void)
+	call_vector_73 @ 73 NONAME ; protected: void __thiscall CBlockChainingMode::ConstructL(class CBlockTransformation *,class TDesC8 const &)
+	call_vector_74 @ 74 NONAME ; protected: void __thiscall CDHKeyPair::ConstructL(class RInteger &,class RInteger &,class RInteger &)
+	call_vector_75 @ 75 NONAME ; protected: void __thiscall CDHKeyPair::ConstructL(class RInteger &,class RInteger &)
+	call_vector_76 @ 76 NONAME ; public: unsigned int __thiscall CDSAPrimeCertificate::Counter(void)const 
+	call_vector_77 @ 77 NONAME ; public: class TInteger const & __thiscall CRSAPrivateKeyStandard::D(void)const 
+	call_vector_78 @ 78 NONAME ; public: class TInteger const & __thiscall CRSAPrivateKeyCRT::DP(void)const 
+	call_vector_79 @ 79 NONAME ; public: class TInteger const & __thiscall CRSAPrivateKeyCRT::DQ(void)const 
+	call_vector_80 @ 80 NONAME ; public: class TInteger const & __thiscall CRSAPublicKey::E(void)const 
+	call_vector_81 @ 81 NONAME ; public: class TInteger const & __thiscall CDHParameters::G(void)const 
+	call_vector_82 @ 82 NONAME ; public: class TInteger const & __thiscall CDSAParameters::G(void)const 
+	call_vector_83 @ 83 NONAME ; protected: __thiscall CRSASigner::CRSASigner(void)
+	call_vector_84 @ 84 NONAME ; public: virtual int __thiscall CStreamCipher::MaxFinalOutputLength(int)const 
+	call_vector_85 @ 85 NONAME ; protected: __thiscall CRSAVerifier::CRSAVerifier(void)
+	call_vector_86 @ 86 NONAME ; public virtual int CRSAVerifer::VerifyL(class TDesC8 const &,class CRSASignature const &)const
+	call_vector_87 @ 87 NONAME ; public: virtual int __thiscall CStreamCipher::MaxOutputLength(int)const 
+	call_vector_88 @ 88 NONAME ; public: virtual int __thiscall CPadding::MaxPaddedLength(int)const 
+	call_vector_89 @ 89 NONAME ; public: virtual int __thiscall CPadding::MaxUnPaddedLength(int)const 
+	call_vector_90 @ 90 NONAME ; public: static class RInteger  __cdecl TInteger::ModularExponentiateL(class TInteger const &,class TInteger const &,class TInteger const &)
+	call_vector_91 @ 91 NONAME ; public: class TInteger const & __thiscall CDHParameters::N(void)const 
+	call_vector_92 @ 92 NONAME ; public: class TInteger const & __thiscall CRSAParameters::N(void)const 
+	call_vector_93 @ 93 NONAME ; public: static class RInteger  __cdecl RInteger::NewEmptyL(unsigned int)
+	call_vector_94 @ 94 NONAME ; public: static class C3DESDecryptor * __cdecl C3DESDecryptor::NewL(class TDesC8 const &)
+	call_vector_95 @ 95 NONAME ; public: static class C3DESEncryptor * __cdecl C3DESEncryptor::NewL(class TDesC8 const &)
+	call_vector_96 @ 96 NONAME ; public: static class CAESDecryptor * __cdecl CAESDecryptor::NewL(class TDesC8 const &)
+	call_vector_97 @ 97 NONAME ; public: static class CAESEncryptor * __cdecl CAESEncryptor::NewL(class TDesC8 const &)
+	call_vector_98 @ 98 NONAME ; public: static class CARC4 * __cdecl CARC4::NewL(class TDesC8 const &,unsigned int)
+	call_vector_99 @ 99 NONAME ; public: static class CBufferedDecryptor * __cdecl CBufferedDecryptor::NewL(class CBlockTransformation *,class CPadding *)
+	call_vector_100 @ 100 NONAME ; public: static class CBufferedEncryptor * __cdecl CBufferedEncryptor::NewL(class CBlockTransformation *,class CPadding *)
+	call_vector_101 @ 101 NONAME ; public: static class CDESDecryptor * __cdecl CDESDecryptor::NewL(class TDesC8 const &,int)
+	call_vector_102 @ 102 NONAME ; public: static class CDESEncryptor * __cdecl CDESEncryptor::NewL(class TDesC8 const &,int)
+	call_vector_103 @ 103 NONAME ; public: static class CDH * __cdecl CDH::NewL(class CDHPrivateKey const &)
+	call_vector_104 @ 104 NONAME ; public: static class CDHKeyPair * __cdecl CDHKeyPair::NewL(class RInteger &,class RInteger &,class RInteger &)
+	call_vector_105 @ 105 NONAME ; public: static class CDHKeyPair * __cdecl CDHKeyPair::NewL(class RInteger &,class RInteger &)
+	call_vector_106 @ 106 NONAME ; public: static class CDHPrivateKey * __cdecl CDHPrivateKey::NewL(class RInteger &,class RInteger &,class RInteger &)
+	call_vector_107 @ 107 NONAME ; public: static class CDHPublicKey * __cdecl CDHPublicKey::NewL(class RInteger &,class RInteger &,class RInteger &)
+	call_vector_108 @ 108 NONAME ; public: static class CDSAKeyPair * __cdecl CDSAKeyPair::NewL(unsigned int)
+	call_vector_109 @ 109 NONAME ; public: static class CDSAParameters * __cdecl CDSAParameters::NewL(class RInteger &,class RInteger &,class RInteger &)
+	call_vector_110 @ 110 NONAME ; public: static class CDSAPrimeCertificate * __cdecl CDSAPrimeCertificate::NewL(class TDesC8 const &,unsigned int)
+	call_vector_111 @ 111 NONAME ; public: static class CDSAPrivateKey * __cdecl CDSAPrivateKey::NewL(class RInteger &,class RInteger &,class RInteger &,class RInteger &)
+	call_vector_112 @ 112 NONAME ; public: static class CDSAPublicKey * __cdecl CDSAPublicKey::NewL(class RInteger &,class RInteger &,class RInteger &,class RInteger &)
+	call_vector_113 @ 113 NONAME ; public: static class CDSASignature * __cdecl CDSASignature::NewL(class RInteger &,class RInteger &)
+	call_vector_114 @ 114 NONAME ; public: static class CDSASigner * __cdecl CDSASigner::NewL(class CDSAPrivateKey const &)
+	call_vector_115 @ 115 NONAME ; public: static class CDSAVerifier * __cdecl CDSAVerifier::NewL(class CDSAPublicKey const &)
+	call_vector_116 @ 116 NONAME ; public: static class CModeCBCDecryptor * __cdecl CModeCBCDecryptor::NewL(class CBlockTransformation *,class TDesC8 const &)
+	call_vector_117 @ 117 NONAME ; public: static class CModeCBCEncryptor * __cdecl CModeCBCEncryptor::NewL(class CBlockTransformation *,class TDesC8 const &)
+	call_vector_118 @ 118 NONAME ; public: static class CNullCipher * __cdecl CNullCipher::NewL(void)
+	call_vector_119 @ 119 NONAME ; public: static class CPaddingNone * __cdecl CPaddingNone::NewL(int)
+	call_vector_120 @ 120 NONAME ; public: static class CPaddingPKCS1Encryption * __cdecl CPaddingPKCS1Encryption::NewL(int)
+	call_vector_121 @ 121 NONAME ; public: static class CPaddingPKCS1Signature * __cdecl CPaddingPKCS1Signature::NewL(int)
+	call_vector_122 @ 122 NONAME ; public: static class CPaddingSSLv3 * __cdecl CPaddingSSLv3::NewL(int)
+	call_vector_123 @ 123 NONAME ; public: static class CRC2Decryptor * __cdecl CRC2Decryptor::NewL(class TDesC8 const &,int)
+	call_vector_124 @ 124 NONAME ; public: static class CRC2Encryptor * __cdecl CRC2Encryptor::NewL(class TDesC8 const &,int)
+	call_vector_125 @ 125 NONAME ; public: static class CRSAKeyPair * __cdecl CRSAKeyPair::NewL(unsigned int,enum TRSAPrivateKeyType)
+	call_vector_126 @ 126 NONAME ; public: static class CRSAPKCS1v15Decryptor * __cdecl CRSAPKCS1v15Decryptor::NewL(class CRSAPrivateKey const &)
+	call_vector_127 @ 127 NONAME ; public: static class CRSAPKCS1v15Encryptor * __cdecl CRSAPKCS1v15Encryptor::NewL(class CRSAPublicKey const &)
+	call_vector_128 @ 128 NONAME ; public: static class CRSAPKCS1v15Signer * __cdecl CRSAPKCS1v15Signer::NewL(class CRSAPrivateKey const &)
+	call_vector_129 @ 129 NONAME ; public: static class CRSAPKCS1v15Verifier * __cdecl CRSAPKCS1v15Verifier::NewL(class CRSAPublicKey const &)
+	call_vector_130 @ 130 NONAME ; public: static class CRSAPrivateKeyCRT * __cdecl CRSAPrivateKeyCRT::NewL(class RInteger &,class RInteger &,class RInteger &,class RInteger &,class RInteger &,class RInteger &)
+	call_vector_131 @ 131 NONAME ; public: static class CRSAPrivateKeyStandard * __cdecl CRSAPrivateKeyStandard::NewL(class RInteger &,class RInteger &)
+	call_vector_132 @ 132 NONAME ; public: static class CRSAPublicKey * __cdecl CRSAPublicKey::NewL(class RInteger &,class RInteger &)
+	call_vector_133 @ 133 NONAME ; public: static class CRSASignature * __cdecl CRSASignature::NewL(class RInteger &)
+	call_vector_134 @ 134 NONAME ; public: static class RInteger  __cdecl RInteger::NewL(class TDesC8 const &)
+	call_vector_135 @ 135 NONAME ; public: static class RInteger  __cdecl RInteger::NewL(class TInteger const &)
+	call_vector_136 @ 136 NONAME ; public: static class RInteger  __cdecl RInteger::NewL(int)
+	call_vector_137 @ 137 NONAME ; public: static class RInteger  __cdecl RInteger::NewL(unsigned int)
+	call_vector_138 @ 138 NONAME ; public: static class RInteger  __cdecl RInteger::NewL(void)
+	call_vector_139 @ 139 NONAME ; public: static class C3DESDecryptor * __cdecl C3DESDecryptor::NewLC(class TDesC8 const &)
+	call_vector_140 @ 140 NONAME ; public: static class C3DESEncryptor * __cdecl C3DESEncryptor::NewLC(class TDesC8 const &)
+	call_vector_141 @ 141 NONAME ; public: static class CAESDecryptor * __cdecl CAESDecryptor::NewLC(class TDesC8 const &)
+	call_vector_142 @ 142 NONAME ; public: static class CAESEncryptor * __cdecl CAESEncryptor::NewLC(class TDesC8 const &)
+	call_vector_143 @ 143 NONAME ; public: static class CARC4 * __cdecl CARC4::NewLC(class TDesC8 const &,unsigned int)
+	call_vector_144 @ 144 NONAME ; public: static class CBufferedDecryptor * __cdecl CBufferedDecryptor::NewLC(class CBlockTransformation *,class CPadding *)
+	call_vector_145 @ 145 NONAME ; public: static class CBufferedEncryptor * __cdecl CBufferedEncryptor::NewLC(class CBlockTransformation *,class CPadding *)
+	call_vector_146 @ 146 NONAME ; public: static class CDESDecryptor * __cdecl CDESDecryptor::NewLC(class TDesC8 const &,int)
+	call_vector_147 @ 147 NONAME ; public: static class CDESEncryptor * __cdecl CDESEncryptor::NewLC(class TDesC8 const &,int)
+	call_vector_148 @ 148 NONAME ; public: static class CDH * __cdecl CDH::NewLC(class CDHPrivateKey const &)
+	call_vector_149 @ 149 NONAME ; public: static class CDHKeyPair * __cdecl CDHKeyPair::NewLC(class RInteger &,class RInteger &,class RInteger &)
+	call_vector_150 @ 150 NONAME ; public: static class CDHKeyPair * __cdecl CDHKeyPair::NewLC(class RInteger &,class RInteger &)
+	call_vector_151 @ 151 NONAME ; public: static class CDHPrivateKey * __cdecl CDHPrivateKey::NewLC(class RInteger &,class RInteger &,class RInteger &)
+	call_vector_152 @ 152 NONAME ; public: static class CDHPublicKey * __cdecl CDHPublicKey::NewLC(class RInteger &,class RInteger &,class RInteger &)
+	call_vector_153 @ 153 NONAME ; public: static class CDSAKeyPair * __cdecl CDSAKeyPair::NewLC(unsigned int)
+	call_vector_154 @ 154 NONAME ; public: static class CDSAPrimeCertificate * __cdecl CDSAPrimeCertificate::NewLC(class TDesC8 const &,unsigned int)
+	call_vector_155 @ 155 NONAME ; public: static class CDSAPrivateKey * __cdecl CDSAPrivateKey::NewLC(class RInteger &,class RInteger &,class RInteger &,class RInteger &)
+	call_vector_156 @ 156 NONAME ; public: static class CDSAPublicKey * __cdecl CDSAPublicKey::NewLC(class RInteger &,class RInteger &,class RInteger &,class RInteger &)
+	call_vector_157 @ 157 NONAME ; public: static class CDSASignature * __cdecl CDSASignature::NewLC(class RInteger &,class RInteger &)
+	call_vector_158 @ 158 NONAME ; public: static class CDSASigner * __cdecl CDSASigner::NewLC(class CDSAPrivateKey const &)
+	call_vector_159 @ 159 NONAME ; public: static class CDSAVerifier * __cdecl CDSAVerifier::NewLC(class CDSAPublicKey const &)
+	call_vector_160 @ 160 NONAME ; public: static class CModeCBCDecryptor * __cdecl CModeCBCDecryptor::NewLC(class CBlockTransformation *,class TDesC8 const &)
+	call_vector_161 @ 161 NONAME ; public: static class CModeCBCEncryptor * __cdecl CModeCBCEncryptor::NewLC(class CBlockTransformation *,class TDesC8 const &)
+	call_vector_162 @ 162 NONAME ; public: static class CNullCipher * __cdecl CNullCipher::NewLC(void)
+	call_vector_163 @ 163 NONAME ; public: static class CPaddingNone * __cdecl CPaddingNone::NewLC(int)
+	call_vector_164 @ 164 NONAME ; public: static class CPaddingPKCS1Encryption * __cdecl CPaddingPKCS1Encryption::NewLC(int)
+	call_vector_165 @ 165 NONAME ; public: static class CPaddingPKCS1Signature * __cdecl CPaddingPKCS1Signature::NewLC(int)
+	call_vector_166 @ 166 NONAME ; public: static class CPaddingSSLv3 * __cdecl CPaddingSSLv3::NewLC(int)
+	call_vector_167 @ 167 NONAME ; public: static class CRC2Decryptor * __cdecl CRC2Decryptor::NewLC(class TDesC8 const &,int)
+	call_vector_168 @ 168 NONAME ; public: static class CRC2Encryptor * __cdecl CRC2Encryptor::NewLC(class TDesC8 const &,int)
+	call_vector_169 @ 169 NONAME ; public: static class CRSAKeyPair * __cdecl CRSAKeyPair::NewLC(unsigned int,enum TRSAPrivateKeyType)
+	call_vector_170 @ 170 NONAME ; public: static class CRSAPKCS1v15Decryptor * __cdecl CRSAPKCS1v15Decryptor::NewLC(class CRSAPrivateKey const &)
+	call_vector_171 @ 171 NONAME ; public: static class CRSAPKCS1v15Encryptor * __cdecl CRSAPKCS1v15Encryptor::NewLC(class CRSAPublicKey const &)
+	call_vector_172 @ 172 NONAME ; public: static class CRSAPKCS1v15Signer * __cdecl CRSAPKCS1v15Signer::NewLC(class CRSAPrivateKey const &)
+	call_vector_173 @ 173 NONAME ; public: static class CRSAPKCS1v15Verifier * __cdecl CRSAPKCS1v15Verifier::NewLC(class CRSAPublicKey const &)
+	call_vector_174 @ 174 NONAME ; public: static class CRSAPrivateKeyCRT * __cdecl CRSAPrivateKeyCRT::NewLC(class RInteger &,class RInteger &,class RInteger &,class RInteger &,class RInteger &,class RInteger &)
+	call_vector_175 @ 175 NONAME ; public: static class CRSAPrivateKeyStandard * __cdecl CRSAPrivateKeyStandard::NewLC(class RInteger &,class RInteger &)
+	call_vector_176 @ 176 NONAME ; public: static class CRSAPublicKey * __cdecl CRSAPublicKey::NewLC(class RInteger &,class RInteger &)
+	call_vector_177 @ 177 NONAME ; public: static class CRSASignature * __cdecl CRSASignature::NewLC(class RInteger &)
+	call_vector_178 @ 178 NONAME ; public: static class RInteger  __cdecl RInteger::NewPrimeL(unsigned int,int)
+	call_vector_179 @ 179 NONAME ; public: static class RInteger  __cdecl RInteger::NewRandomL(class TInteger const &,class TInteger const &)
+	call_vector_180 @ 180 NONAME ; public: static class RInteger  __cdecl RInteger::NewRandomL(unsigned int,int)
+	call_vector_181 @ 181 NONAME ; public: class TInteger const & __thiscall CDSAParameters::P(void)const 
+	call_vector_182 @ 182 NONAME ; public: class TInteger const & __thiscall CRSAPrivateKeyCRT::P(void)const 
+	call_vector_183 @ 183 NONAME ; public: void __thiscall CPadding::PadL(class TDesC8 const &,class TDes8 &)
+	call_vector_184 @ 184 NONAME ; public: class CDSAPrimeCertificate const & __thiscall CDSAKeyPair::PrimeCertificate(void)const 
+	call_vector_185 @ 185 NONAME ; public: class CDHPrivateKey const & __thiscall CDHKeyPair::PrivateKey(void)const 
+	call_vector_186 @ 186 NONAME ; public: class CDSAPrivateKey const & __thiscall CDSAKeyPair::PrivateKey(void)const 
+	call_vector_187 @ 187 NONAME ; public: class CRSAPrivateKey const & __thiscall CRSAKeyPair::PrivateKey(void)const 
+	call_vector_188 @ 188 NONAME ; public: virtual void __thiscall CStreamCipher::Process(class TDesC8 const &,class TDes8 &)
+	call_vector_189 @ 189 NONAME ; public: virtual void __thiscall CStreamCipher::ProcessFinalL(class TDesC8 const &,class TDes8 &)
+	call_vector_190 @ 190 NONAME ; public: class CDHPublicKey const & __thiscall CDHKeyPair::PublicKey(void)const 
+	call_vector_191 @ 191 NONAME ; public: class CDSAPublicKey const & __thiscall CDSAKeyPair::PublicKey(void)const 
+	call_vector_192 @ 192 NONAME ; public: class CRSAPublicKey const & __thiscall CRSAKeyPair::PublicKey(void)const 
+	call_vector_193 @ 193 NONAME ; public: class TInteger const & __thiscall CDSAParameters::Q(void)const 
+	call_vector_194 @ 194 NONAME ; public: class TInteger const & __thiscall CRSAPrivateKeyCRT::Q(void)const 
+	call_vector_195 @ 195 NONAME ; public: class TInteger const & __thiscall CRSAPrivateKeyCRT::QInv(void)const 
+	call_vector_196 @ 196 NONAME ; public: class TInteger const & __thiscall CDSASignature::R(void)const 
+	call_vector_197 @ 197 NONAME ; public: class TInteger const & __thiscall CDSASignature::S(void)const 
+	call_vector_198 @ 198 NONAME ; public: class TInteger const & __thiscall CRSASignature::S(void)const 
+	call_vector_199 @ 199 NONAME ; public: class TDesC8 const & __thiscall CDSAPrimeCertificate::Seed(void)const 
+	call_vector_200 @ 200 NONAME ; public: void __thiscall CPadding::SetBlockSize(int)
+	call_vector_201 @ 201 NONAME ; public: static enum TCrypto::TStrength  __cdecl TCrypto::Strength(void)
+	call_vector_202 @ 202 NONAME ; public: static int __cdecl CDSAParameters::ValidPrimeLength(unsigned int)
+	call_vector_203 @ 203 NONAME ; public: int __thiscall CDSAParameters::ValidatePrimesL(class CDSAPrimeCertificate const &)const 
+	call_vector_204 @ 204 NONAME ; public: unsigned int __thiscall TInteger::WordCount(void)const 
+	call_vector_205 @ 205 NONAME ; public: class TInteger const & __thiscall CDHPublicKey::X(void)const 
+	call_vector_206 @ 206 NONAME ; public: class TInteger const & __thiscall CDSAPrivateKey::X(void)const 
+	call_vector_207 @ 207 NONAME ; public: class TInteger const & __thiscall CDSAPublicKey::Y(void)const 
+	call_vector_208 @ 208 NONAME ; public: class TInteger const & __thiscall CDHPrivateKey::x(void)const 
+	call_vector_209 @ 209 NONAME ; public: static int __cdecl TCrypto::IsAsymmetricWeakEnoughL(int)
+	call_vector_210 @ 210 NONAME ; public: static int __cdecl TCrypto::IsSymmetricWeakEnoughL(int)
+	call_vector_211 @ 211 NONAME ; CPaddingPKCS7::CPaddingPKCS7(int)
+	call_vector_212 @ 212 NONAME ; class CPaddingPKCS7 * CPaddingPKCS7::NewL(int)
+	call_vector_213 @ 213 NONAME ; class CPaddingPKCS7 * CPaddingPKCS7::NewLC(int)
+	call_vector_214 @ 214 NONAME ; void KeyIdentifierUtil::DHKeyIdentifierL(class RInteger const &, class TBuf8<20> &)
+	call_vector_215 @ 215 NONAME ; void KeyIdentifierUtil::DSAKeyIdentifierL(class CDSAPublicKey const &, class TBuf8<20> &)
+	call_vector_216 @ 216 NONAME ; void KeyIdentifierUtil::RSAKeyIdentifierL(class CRSAPublicKey const &, class TBuf8<20> &)
+	call_vector_217 @ 217 NONAME ; class TInteger & TInteger::operator++(void)
+	call_vector_218 @ 218 NONAME ; class TInteger & TInteger::operator--(void)
+	call_vector_219 @ 219 NONAME ; class RInteger TInteger::InverseModL(class TInteger const &) const
+	call_vector_220 @ 220 NONAME ; class RInteger TInteger::TimesL(class TInteger const &) const
+	call_vector_221 @ 221 NONAME ; public: __thiscall RInteger::RInteger(class RInteger const &)
+	call_vector_222 @ 222 NONAME ; public: class RInteger & __thiscall RInteger::operator=(class RInteger const &)
+	call_vector_223 @ 223 NONAME ; public: class TInteger & __thiscall TInteger::operator*=(class TInteger const &)
+	call_vector_224 @ 224 NONAME ; public: class TInteger & __thiscall TInteger::operator*=(int)
+	call_vector_225 @ 225 NONAME ; public: class TInteger & __thiscall TInteger::operator+=(class TInteger const &)
+	call_vector_226 @ 226 NONAME ; public: class TInteger & __thiscall TInteger::operator+=(int)
+	call_vector_227 @ 227 NONAME ; public: class TInteger & __thiscall TInteger::operator-=(class TInteger const &)
+	call_vector_228 @ 228 NONAME ; public: class TInteger & __thiscall TInteger::operator-=(int)
+	call_vector_229 @ 229 NONAME ; public: class TInteger & __thiscall TInteger::operator/=(class TInteger const &)
+	call_vector_230 @ 230 NONAME ; public: class TInteger & __thiscall TInteger::operator/=(int)
+	call_vector_231 @ 231 NONAME ; public: class TInteger & __thiscall TInteger::operator%=(class TInteger const &)
+	call_vector_232 @ 232 NONAME ; public: class TInteger & __thiscall TInteger::operator%=(int)
+	call_vector_233 @ 233 NONAME ; public: class TInteger & __thiscall TInteger::operator>>=(unsigned int)
+	call_vector_234 @ 234 NONAME ; public: class TInteger & __thiscall TInteger::operator<<=(unsigned int)
+	call_vector_235 @ 235 NONAME ; public: int __thiscall TInteger::Bit(unsigned int)const 
+	call_vector_236 @ 236 NONAME ; public: int __thiscall TInteger::ConvertToLongL(void)const 
+	call_vector_237 @ 237 NONAME ; public: class RInteger  __thiscall TInteger::DividedByL(class TInteger const &)const 
+	call_vector_238 @ 238 NONAME ; public: class RInteger  __thiscall TInteger::DividedByL(unsigned int)const 
+	call_vector_239 @ 239 NONAME ; public: class RInteger  __thiscall TInteger::ExponentiateL(class TInteger const &)const 
+	call_vector_240 @ 240 NONAME ; public: class RInteger  __thiscall TInteger::GCDL(class TInteger const &)const 
+	call_vector_241 @ 241 NONAME ; public: int __thiscall TInteger::IsPrimeL(void)const 
+	call_vector_242 @ 242 NONAME ; public: class RInteger  __thiscall TInteger::MinusL(class TInteger const &)const 
+	call_vector_243 @ 243 NONAME ; public: static class RInteger  __cdecl TInteger::ModularMultiplyL(class TInteger const &,class TInteger const &,class TInteger const &)
+	call_vector_244 @ 244 NONAME ; public: class RInteger  __thiscall TInteger::ModuloL(class TInteger const &)const 
+	call_vector_245 @ 245 NONAME ; public: unsigned int __thiscall TInteger::ModuloL(unsigned int)const 
+	call_vector_246 @ 246 NONAME ; public: void __thiscall TInteger::Negate(void)
+	call_vector_247 @ 247 NONAME ; public: static class TInteger const & __cdecl TInteger::One(void)
+	call_vector_248 @ 248 NONAME ; public: class RInteger  __thiscall TInteger::PlusL(class TInteger const &)const 
+	call_vector_249 @ 249 NONAME ; public: void __thiscall TInteger::SetBit(unsigned int)
+	call_vector_250 @ 250 NONAME ; public: int __thiscall TInteger::SignedCompare(class TInteger const &)const 
+	call_vector_251 @ 251 NONAME ; public: int __thiscall TInteger::SignedCompare(int)const 
+	call_vector_252 @ 252 NONAME ; public: class RInteger  __thiscall TInteger::SquaredL(void)const 
+	call_vector_253 @ 253 NONAME ; public: static class TInteger const & __cdecl TInteger::Two(void)
+	call_vector_254 @ 254 NONAME ; public: int __thiscall TInteger::UnsignedCompare(class TInteger const &)const 
+	call_vector_255 @ 255 NONAME ; public: static class TInteger const & __cdecl TInteger::Zero(void)
+	call_vector_256 @ 256 NONAME ; public: void __thiscall TInteger::CopyL(class TInteger const &,int)
+	call_vector_257 @ 257 NONAME ; public: void __thiscall TInteger::CopyL(int,int)
+	call_vector_258 @ 258 NONAME ; public: void __thiscall TInteger::Set(class RInteger const &)
+	call_vector_259 @ 259 NONAME ; public: static int __cdecl CDES::IsWeakKey(class TDesC8 const &)
+	call_vector_260 @ 260 NONAME ; public: class HBufC8 * __thiscall TInteger::BufferWithLeadingZerosLC(void)const 
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/bwins/randsvru.def	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,3 @@
+EXPORTS
+	?RunRandomServer@@YAHPAX@Z @ 1 NONAME ; int RunRandomServer(void *)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/eabi/PBE_v2U.def	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,91 @@
+EXPORTS
+	_ZN11CPBAuthData4NewLERK6TDesC8S2_jj @ 1 NONAME
+	_ZN11CPBAuthData4NewLERKS_ @ 2 NONAME
+	_ZN11CPBAuthData5NewLCERK6TDesC8S2_jj @ 3 NONAME
+	_ZN11CPBAuthData5NewLCERKS_ @ 4 NONAME
+	_ZN11CPBAuthDataC1Ev @ 5 NONAME
+	_ZN11CPBAuthDataC2Ev @ 6 NONAME
+	_ZN11TPBPasswordC1ERK6TDesC8 @ 7 NONAME
+	_ZN11TPBPasswordC1ERK7TDesC16 @ 8 NONAME
+	_ZN11TPBPasswordC2ERK6TDesC8 @ 9 NONAME
+	_ZN11TPBPasswordC2ERK7TDesC16 @ 10 NONAME
+	_ZN13CPBEncryptSet15ChangePasswordLERK11TPBPassword @ 11 NONAME
+	_ZN13CPBEncryptSet4NewLERK11TPBPassword @ 12 NONAME
+	_ZN13CPBEncryptSet4NewLERK11TPBPassword10TPBECipher @ 13 NONAME
+	_ZN13CPBEncryptSet4NewLERK11TPBPasswordRK15CPBEncryptParms @ 14 NONAME
+	_ZN13CPBEncryptSet4NewLERK17CPBEncryptionDataRK6TDesC8RK11TPBPassword @ 15 NONAME
+	_ZN13CPBEncryptSet5NewLCERK11TPBPassword @ 16 NONAME
+	_ZN13CPBEncryptSet5NewLCERK11TPBPassword10TPBECipher @ 17 NONAME
+	_ZN13CPBEncryptSet5NewLCERK11TPBPasswordRK15CPBEncryptParms @ 18 NONAME
+	_ZN13CPBEncryptSet5NewLCERK17CPBEncryptionDataRK6TDesC8RK11TPBPassword @ 19 NONAME
+	_ZN15CPBDecryptorSet4NewLE10TPBECipherRK6TDesC8 @ 20 NONAME
+	_ZN15CPBDecryptorSet5NewLCE10TPBECipherRK6TDesC8 @ 21 NONAME
+	_ZN15CPBEncryptParms4NewLE10TPBECipherRK6TDesC8S3_j @ 22 NONAME
+	_ZN15CPBEncryptParms4NewLERKS_ @ 23 NONAME
+	_ZN15CPBEncryptParms5NewLCE10TPBECipherRK6TDesC8S3_j @ 24 NONAME
+	_ZN15CPBEncryptParms5NewLCERKS_ @ 25 NONAME
+	_ZN15CPBEncryptParmsC1Ev @ 26 NONAME
+	_ZN15CPBEncryptParmsC2Ev @ 27 NONAME
+	_ZN15CPBEncryptorSet4NewLE10TPBECipherRK6TDesC8 @ 28 NONAME
+	_ZN15CPBEncryptorSet5NewLCE10TPBECipherRK6TDesC8 @ 29 NONAME
+	_ZN17CPBEncryptElement4NewLERK11TPBPassword @ 30 NONAME
+	_ZN17CPBEncryptElement4NewLERK11TPBPassword10TPBECipher @ 31 NONAME
+	_ZN17CPBEncryptElement4NewLERK11TPBPasswordRK15CPBEncryptParms @ 32 NONAME
+	_ZN17CPBEncryptElement4NewLERK17CPBEncryptionDataRK11TPBPassword @ 33 NONAME
+	_ZN17CPBEncryptElement5NewLCERK11TPBPassword @ 34 NONAME
+	_ZN17CPBEncryptElement5NewLCERK11TPBPassword10TPBECipher @ 35 NONAME
+	_ZN17CPBEncryptElement5NewLCERK11TPBPasswordRK15CPBEncryptParms @ 36 NONAME
+	_ZN17CPBEncryptElement5NewLCERK17CPBEncryptionDataRK11TPBPassword @ 37 NONAME
+	_ZN17CPBEncryptionData4NewLERK6TDesC810TPBECipherS2_S2_S2_j @ 38 NONAME
+	_ZN17CPBEncryptionData4NewLERKS_ @ 39 NONAME
+	_ZN17CPBEncryptionData5NewLCERK6TDesC810TPBECipherS2_S2_S2_j @ 40 NONAME
+	_ZN17CPBEncryptionData5NewLCERKS_ @ 41 NONAME
+	_ZN17CPBEncryptionDataC1Ev @ 42 NONAME
+	_ZN17CPBEncryptionDataC2Ev @ 43 NONAME
+	_ZN19CPBDecryptorElement4NewLE10TPBECipherRK6TDesC8S3_ @ 44 NONAME
+	_ZN19CPBDecryptorElement5NewLCE10TPBECipherRK6TDesC8S3_ @ 45 NONAME
+	_ZN19CPBEncryptorElement4NewLE10TPBECipherRK6TDesC8S3_ @ 46 NONAME
+	_ZN19CPBEncryptorElement5NewLCE10TPBECipherRK6TDesC8S3_ @ 47 NONAME
+	_ZN9TPKCS5KDF10DeriveKeyLER5TDes8RK6TDesC8S4_j @ 48 NONAME
+	_ZNK11CPBAuthData10IterationsEv @ 49 NONAME
+	_ZNK11CPBAuthData3KeyEv @ 50 NONAME
+	_ZNK11CPBAuthData4SaltEv @ 51 NONAME
+	_ZNK11CPBAuthDataeqERKS_ @ 52 NONAME
+	_ZNK11TPBPassword8PasswordEv @ 53 NONAME
+	_ZNK13CPBEncryptSet18EncryptedMasterKeyEv @ 54 NONAME
+	_ZNK15CPBEncryptParms10IterationsEv @ 55 NONAME
+	_ZNK15CPBEncryptParms2IVEv @ 56 NONAME
+	_ZNK15CPBEncryptParms4SaltEv @ 57 NONAME
+	_ZNK15CPBEncryptParms6CipherEv @ 58 NONAME
+	_ZNK17CPBEncryptionData12EncryptParmsEv @ 59 NONAME
+	_ZNK17CPBEncryptionData8AuthDataEv @ 60 NONAME
+	_ZTI11CPBAuthData @ 61 NONAME ; #<TI>#
+	_ZTI15CPBEncryptParms @ 62 NONAME ; #<TI>#
+	_ZTI17CPBEncryptionData @ 63 NONAME ; #<TI>#
+	_ZTV11CPBAuthData @ 64 NONAME ; #<VT>#
+	_ZTV15CPBEncryptParms @ 65 NONAME ; #<VT>#
+	_ZTV17CPBEncryptionData @ 66 NONAME ; #<VT>#
+	_ZTI13CPBEncryptSet @ 67 NONAME ; #<TI>#
+	_ZTI15CPBDecryptorSet @ 68 NONAME ; #<TI>#
+	_ZTI15CPBEncryptorSet @ 69 NONAME ; #<TI>#
+	_ZTI17CPBEncryptElement @ 70 NONAME ; #<TI>#
+	_ZTI19CPBDecryptorElement @ 71 NONAME ; #<TI>#
+	_ZTI19CPBEncryptorElement @ 72 NONAME ; #<TI>#
+	_ZTV13CPBEncryptSet @ 73 NONAME ; #<VT>#
+	_ZTV15CPBDecryptorSet @ 74 NONAME ; #<VT>#
+	_ZTV15CPBEncryptorSet @ 75 NONAME ; #<VT>#
+	_ZTV17CPBEncryptElement @ 76 NONAME ; #<VT>#
+	_ZTV19CPBDecryptorElement @ 77 NONAME ; #<VT>#
+	_ZTV19CPBEncryptorElement @ 78 NONAME ; #<VT>#
+	_ZN15CPBEncryptParms11ResizeSaltLEi @ 79 NONAME
+	_ZN15CPBEncryptParms13SetIterationsEi @ 80 NONAME
+	_ZN15CPBEncryptParms4NewLEv @ 81 NONAME
+	_ZN15CPBEncryptParms5NewLCEv @ 82 NONAME
+	_ZN15CPBEncryptParms5SetIVERK6TDesC8 @ 83 NONAME
+	_ZN15CPBEncryptParms6SetKdfENS_4TKdfE @ 84 NONAME
+	_ZN15CPBEncryptParms9SetCipherE10TPBECipher @ 85 NONAME
+	_ZN17CPBEncryptionData4NewLERK6TDesC8S2_RK15CPBEncryptParms @ 86 NONAME
+	_ZN9PKCS12KDF10DeriveKeyLER5TDes8NS_11TIDByteTypeERK6TDesC8S5_j @ 87 NONAME
+	_ZN9PKCS12KDF18GeneratePasswordLCERK7TDesC16 @ 88 NONAME
+	_ZNK15CPBEncryptParms3KdfEv @ 89 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/eabi/cryptographyU.DEF	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,359 @@
+EXPORTS
+	_ZN10CDHKeyPair10ConstructLER8RIntegerS1_ @ 1 NONAME
+	_ZN10CDHKeyPair10ConstructLER8RIntegerS1_S1_ @ 2 NONAME
+	_ZN10CDHKeyPair4NewLER8RIntegerS1_ @ 3 NONAME
+	_ZN10CDHKeyPair4NewLER8RIntegerS1_S1_ @ 4 NONAME
+	_ZN10CDHKeyPair5NewLCER8RIntegerS1_ @ 5 NONAME
+	_ZN10CDHKeyPair5NewLCER8RIntegerS1_S1_ @ 6 NONAME
+	_ZN10CDHKeyPairC1Ev @ 7 NONAME
+	_ZN10CDHKeyPairC2Ev @ 8 NONAME
+	_ZN10CDHKeyPairD0Ev @ 9 NONAME
+	_ZN10CDHKeyPairD1Ev @ 10 NONAME
+	_ZN10CDHKeyPairD2Ev @ 11 NONAME
+	_ZN10CDSASigner4NewLERK14CDSAPrivateKey @ 12 NONAME
+	_ZN10CDSASigner5NewLCERK14CDSAPrivateKey @ 13 NONAME
+	_ZN10CDecryptorC1Ev @ 14 NONAME
+	_ZN10CDecryptorC2Ev @ 15 NONAME
+	_ZN10CEncryptorC1Ev @ 16 NONAME
+	_ZN10CEncryptorC2Ev @ 17 NONAME
+	_ZN10CRSASignerC1Ev @ 18 NONAME
+	_ZN10CRSASignerC2Ev @ 19 NONAME
+	_ZN11CDSAKeyPair4NewLEj @ 20 NONAME
+	_ZN11CDSAKeyPair5NewLCEj @ 21 NONAME
+	_ZN11CDSAKeyPairC1Ev @ 22 NONAME
+	_ZN11CDSAKeyPairC2Ev @ 23 NONAME
+	_ZN11CDSAKeyPairD0Ev @ 24 NONAME
+	_ZN11CDSAKeyPairD1Ev @ 25 NONAME
+	_ZN11CDSAKeyPairD2Ev @ 26 NONAME
+	_ZN11CNullCipher4NewLEv @ 27 NONAME
+	_ZN11CNullCipher5NewLCEv @ 28 NONAME
+	_ZN11CRSAKeyPair4NewLEj18TRSAPrivateKeyType @ 29 NONAME
+	_ZN11CRSAKeyPair5NewLCEj18TRSAPrivateKeyType @ 30 NONAME
+	_ZN11CRSAKeyPairC1Ev @ 31 NONAME
+	_ZN11CRSAKeyPairC2Ev @ 32 NONAME
+	_ZN11CRSAKeyPairD0Ev @ 33 NONAME
+	_ZN11CRSAKeyPairD1Ev @ 34 NONAME
+	_ZN11CRSAKeyPairD2Ev @ 35 NONAME
+	_ZN12CDHPublicKey4NewLER8RIntegerS1_S1_ @ 36 NONAME
+	_ZN12CDHPublicKey5NewLCER8RIntegerS1_S1_ @ 37 NONAME
+	_ZN12CDHPublicKeyC1ER8RIntegerS1_S1_ @ 38 NONAME
+	_ZN12CDHPublicKeyC1Ev @ 39 NONAME
+	_ZN12CDHPublicKeyC2ER8RIntegerS1_S1_ @ 40 NONAME
+	_ZN12CDHPublicKeyC2Ev @ 41 NONAME
+	_ZN12CDHPublicKeyD0Ev @ 42 NONAME
+	_ZN12CDHPublicKeyD1Ev @ 43 NONAME
+	_ZN12CDHPublicKeyD2Ev @ 44 NONAME
+	_ZN12CDSAVerifier4NewLERK13CDSAPublicKey @ 45 NONAME
+	_ZN12CDSAVerifier5NewLCERK13CDSAPublicKey @ 46 NONAME
+	_ZN12CPaddingNone4NewLEi @ 47 NONAME
+	_ZN12CPaddingNone5NewLCEi @ 48 NONAME
+	_ZN12CPaddingNoneC1Ei @ 49 NONAME
+	_ZN12CPaddingNoneC2Ei @ 50 NONAME
+	_ZN12CRSAVerifierC1Ev @ 51 NONAME
+	_ZN12CRSAVerifierC2Ev @ 52 NONAME
+	_ZN13CAESDecryptor4NewLERK6TDesC8 @ 53 NONAME
+	_ZN13CAESDecryptor5NewLCERK6TDesC8 @ 54 NONAME
+	_ZN13CAESEncryptor4NewLERK6TDesC8 @ 55 NONAME
+	_ZN13CAESEncryptor5NewLCERK6TDesC8 @ 56 NONAME
+	_ZN13CDESDecryptor4NewLERK6TDesC8i @ 57 NONAME
+	_ZN13CDESDecryptor5NewLCERK6TDesC8i @ 58 NONAME
+	_ZN13CDESEncryptor4NewLERK6TDesC8i @ 59 NONAME
+	_ZN13CDESEncryptor5NewLCERK6TDesC8i @ 60 NONAME
+	_ZN13CDHParametersC1ER8RIntegerS1_ @ 61 NONAME
+	_ZN13CDHParametersC1Ev @ 62 NONAME
+	_ZN13CDHParametersC2ER8RIntegerS1_ @ 63 NONAME
+	_ZN13CDHParametersC2Ev @ 64 NONAME
+	_ZN13CDHParametersD0Ev @ 65 NONAME
+	_ZN13CDHParametersD1Ev @ 66 NONAME
+	_ZN13CDHParametersD2Ev @ 67 NONAME
+	_ZN13CDHPrivateKey4NewLER8RIntegerS1_S1_ @ 68 NONAME
+	_ZN13CDHPrivateKey5NewLCER8RIntegerS1_S1_ @ 69 NONAME
+	_ZN13CDHPrivateKeyC1ER8RIntegerS1_S1_ @ 70 NONAME
+	_ZN13CDHPrivateKeyC1Ev @ 71 NONAME
+	_ZN13CDHPrivateKeyC2ER8RIntegerS1_S1_ @ 72 NONAME
+	_ZN13CDHPrivateKeyC2Ev @ 73 NONAME
+	_ZN13CDHPrivateKeyD0Ev @ 74 NONAME
+	_ZN13CDHPrivateKeyD1Ev @ 75 NONAME
+	_ZN13CDHPrivateKeyD2Ev @ 76 NONAME
+	_ZN13CDSAPublicKey4NewLER8RIntegerS1_S1_S1_ @ 77 NONAME
+	_ZN13CDSAPublicKey5NewLCER8RIntegerS1_S1_S1_ @ 78 NONAME
+	_ZN13CDSAPublicKeyC1ER8RIntegerS1_S1_S1_ @ 79 NONAME
+	_ZN13CDSAPublicKeyC1Ev @ 80 NONAME
+	_ZN13CDSAPublicKeyC2ER8RIntegerS1_S1_S1_ @ 81 NONAME
+	_ZN13CDSAPublicKeyC2Ev @ 82 NONAME
+	_ZN13CDSAPublicKeyD0Ev @ 83 NONAME
+	_ZN13CDSAPublicKeyD1Ev @ 84 NONAME
+	_ZN13CDSAPublicKeyD2Ev @ 85 NONAME
+	_ZN13CDSASignature4NewLER8RIntegerS1_ @ 86 NONAME
+	_ZN13CDSASignature5NewLCER8RIntegerS1_ @ 87 NONAME
+	_ZN13CDSASignatureC1ER8RIntegerS1_ @ 88 NONAME
+	_ZN13CDSASignatureC1Ev @ 89 NONAME
+	_ZN13CDSASignatureC2ER8RIntegerS1_ @ 90 NONAME
+	_ZN13CDSASignatureC2Ev @ 91 NONAME
+	_ZN13CDSASignatureD0Ev @ 92 NONAME
+	_ZN13CDSASignatureD1Ev @ 93 NONAME
+	_ZN13CDSASignatureD2Ev @ 94 NONAME
+	_ZN13CPaddingPKCS74NewLEi @ 95 NONAME
+	_ZN13CPaddingPKCS75NewLCEi @ 96 NONAME
+	_ZN13CPaddingPKCS7C1Ei @ 97 NONAME
+	_ZN13CPaddingPKCS7C2Ei @ 98 NONAME
+	_ZN13CPaddingSSLv34NewLEi @ 99 NONAME
+	_ZN13CPaddingSSLv35NewLCEi @ 100 NONAME
+	_ZN13CPaddingSSLv3C1Ei @ 101 NONAME
+	_ZN13CPaddingSSLv3C2Ei @ 102 NONAME
+	_ZN13CRC2Decryptor4NewLERK6TDesC8i @ 103 NONAME
+	_ZN13CRC2Decryptor5NewLCERK6TDesC8i @ 104 NONAME
+	_ZN13CRC2Encryptor4NewLERK6TDesC8i @ 105 NONAME
+	_ZN13CRC2Encryptor5NewLCERK6TDesC8i @ 106 NONAME
+	_ZN13CRSAPublicKey4NewLER8RIntegerS1_ @ 107 NONAME
+	_ZN13CRSAPublicKey5NewLCER8RIntegerS1_ @ 108 NONAME
+	_ZN13CRSAPublicKeyC1ER8RIntegerS1_ @ 109 NONAME
+	_ZN13CRSAPublicKeyC1Ev @ 110 NONAME
+	_ZN13CRSAPublicKeyC2ER8RIntegerS1_ @ 111 NONAME
+	_ZN13CRSAPublicKeyC2Ev @ 112 NONAME
+	_ZN13CRSAPublicKeyD0Ev @ 113 NONAME
+	_ZN13CRSAPublicKeyD1Ev @ 114 NONAME
+	_ZN13CRSAPublicKeyD2Ev @ 115 NONAME
+	_ZN13CRSASignature4NewLER8RInteger @ 116 NONAME
+	_ZN13CRSASignature5NewLCER8RInteger @ 117 NONAME
+	_ZN13CRSASignatureC1ER8RInteger @ 118 NONAME
+	_ZN13CRSASignatureC2ER8RInteger @ 119 NONAME
+	_ZN13CRSASignatureD0Ev @ 120 NONAME
+	_ZN13CRSASignatureD1Ev @ 121 NONAME
+	_ZN13CRSASignatureD2Ev @ 122 NONAME
+	_ZN13CStreamCipher13ProcessFinalLERK6TDesC8R5TDes8 @ 123 NONAME
+	_ZN13CStreamCipher7ProcessERK6TDesC8R5TDes8 @ 124 NONAME
+	_ZN13MCryptoSystemC1Ev @ 125 NONAME
+	_ZN13MCryptoSystemC2Ev @ 126 NONAME
+	_ZN14C3DESDecryptor4NewLERK6TDesC8 @ 127 NONAME
+	_ZN14C3DESDecryptor5NewLCERK6TDesC8 @ 128 NONAME
+	_ZN14C3DESEncryptor4NewLERK6TDesC8 @ 129 NONAME
+	_ZN14C3DESEncryptor5NewLCERK6TDesC8 @ 130 NONAME
+	_ZN14CDSAParameters16ValidPrimeLengthEj @ 131 NONAME
+	_ZN14CDSAParameters4NewLER8RIntegerS1_S1_ @ 132 NONAME
+	_ZN14CDSAParametersC1ER8RIntegerS1_S1_ @ 133 NONAME
+	_ZN14CDSAParametersC1Ev @ 134 NONAME
+	_ZN14CDSAParametersC2ER8RIntegerS1_S1_ @ 135 NONAME
+	_ZN14CDSAParametersC2Ev @ 136 NONAME
+	_ZN14CDSAParametersD0Ev @ 137 NONAME
+	_ZN14CDSAParametersD1Ev @ 138 NONAME
+	_ZN14CDSAParametersD2Ev @ 139 NONAME
+	_ZN14CDSAPrivateKey4NewLER8RIntegerS1_S1_S1_ @ 140 NONAME
+	_ZN14CDSAPrivateKey5NewLCER8RIntegerS1_S1_S1_ @ 141 NONAME
+	_ZN14CDSAPrivateKeyC1Ev @ 142 NONAME
+	_ZN14CDSAPrivateKeyC2Ev @ 143 NONAME
+	_ZN14CDSAPrivateKeyD0Ev @ 144 NONAME
+	_ZN14CDSAPrivateKeyD1Ev @ 145 NONAME
+	_ZN14CDSAPrivateKeyD2Ev @ 146 NONAME
+	_ZN14CRSAParametersC1ER8RInteger @ 147 NONAME
+	_ZN14CRSAParametersC1Ev @ 148 NONAME
+	_ZN14CRSAParametersC2ER8RInteger @ 149 NONAME
+	_ZN14CRSAParametersC2Ev @ 150 NONAME
+	_ZN14CRSAParametersD0Ev @ 151 NONAME
+	_ZN14CRSAParametersD1Ev @ 152 NONAME
+	_ZN14CRSAParametersD2Ev @ 153 NONAME
+	_ZN16MSignatureSystemC1Ev @ 154 NONAME
+	_ZN16MSignatureSystemC2Ev @ 155 NONAME
+	_ZN17CModeCBCDecryptor4NewLEP20CBlockTransformationRK6TDesC8 @ 156 NONAME
+	_ZN17CModeCBCDecryptor5NewLCEP20CBlockTransformationRK6TDesC8 @ 157 NONAME
+	_ZN17CModeCBCEncryptor4NewLEP20CBlockTransformationRK6TDesC8 @ 158 NONAME
+	_ZN17CModeCBCEncryptor5NewLCEP20CBlockTransformationRK6TDesC8 @ 159 NONAME
+	_ZN17CRSAPrivateKeyCRT4NewLER8RIntegerS1_S1_S1_S1_S1_ @ 160 NONAME
+	_ZN17CRSAPrivateKeyCRT5NewLCER8RIntegerS1_S1_S1_S1_S1_ @ 161 NONAME
+	_ZN17CRSAPrivateKeyCRTC1ER8RIntegerS1_S1_S1_S1_S1_ @ 162 NONAME
+	_ZN17CRSAPrivateKeyCRTC2ER8RIntegerS1_S1_S1_S1_S1_ @ 163 NONAME
+	_ZN17CRSAPrivateKeyCRTD0Ev @ 164 NONAME
+	_ZN17CRSAPrivateKeyCRTD1Ev @ 165 NONAME
+	_ZN17CRSAPrivateKeyCRTD2Ev @ 166 NONAME
+	_ZN17KeyIdentifierUtil16DHKeyIdentifierLERK8RIntegerR5TBuf8ILi20EE @ 167 NONAME
+	_ZN17KeyIdentifierUtil17DSAKeyIdentifierLERK13CDSAPublicKeyR5TBuf8ILi20EE @ 168 NONAME
+	_ZN17KeyIdentifierUtil17RSAKeyIdentifierLERK13CRSAPublicKeyR5TBuf8ILi20EE @ 169 NONAME
+	_ZN18CBlockChainingMode10ConstructLEP20CBlockTransformationRK6TDesC8 @ 170 NONAME
+	_ZN18CBlockChainingModeC1Ev @ 171 NONAME
+	_ZN18CBlockChainingModeC2Ev @ 172 NONAME
+	_ZN18CBlockChainingModeD0Ev @ 173 NONAME
+	_ZN18CBlockChainingModeD1Ev @ 174 NONAME
+	_ZN18CBlockChainingModeD2Ev @ 175 NONAME
+	_ZN18CBufferedDecryptor4NewLEP20CBlockTransformationP8CPadding @ 176 NONAME
+	_ZN18CBufferedDecryptor5NewLCEP20CBlockTransformationP8CPadding @ 177 NONAME
+	_ZN18CBufferedEncryptor4NewLEP20CBlockTransformationP8CPadding @ 178 NONAME
+	_ZN18CBufferedEncryptor5NewLCEP20CBlockTransformationP8CPadding @ 179 NONAME
+	_ZN18CRSAPKCS1v15Signer4NewLERK14CRSAPrivateKey @ 180 NONAME
+	_ZN18CRSAPKCS1v15Signer5NewLCERK14CRSAPrivateKey @ 181 NONAME
+	_ZN20CDSAPrimeCertificate4NewLERK6TDesC8j @ 182 NONAME
+	_ZN20CDSAPrimeCertificate5NewLCERK6TDesC8j @ 183 NONAME
+	_ZN20CDSAPrimeCertificateC1Ej @ 184 NONAME
+	_ZN20CDSAPrimeCertificateC1Ev @ 185 NONAME
+	_ZN20CDSAPrimeCertificateC2Ej @ 186 NONAME
+	_ZN20CDSAPrimeCertificateC2Ev @ 187 NONAME
+	_ZN20CDSAPrimeCertificateD0Ev @ 188 NONAME
+	_ZN20CDSAPrimeCertificateD1Ev @ 189 NONAME
+	_ZN20CDSAPrimeCertificateD2Ev @ 190 NONAME
+	_ZN20CRSAPKCS1v15Verifier4NewLERK13CRSAPublicKey @ 191 NONAME
+	_ZN20CRSAPKCS1v15Verifier5NewLCERK13CRSAPublicKey @ 192 NONAME
+	_ZN21CRSAPKCS1v15Decryptor4NewLERK14CRSAPrivateKey @ 193 NONAME
+	_ZN21CRSAPKCS1v15Decryptor5NewLCERK14CRSAPrivateKey @ 194 NONAME
+	_ZN21CRSAPKCS1v15Encryptor4NewLERK13CRSAPublicKey @ 195 NONAME
+	_ZN21CRSAPKCS1v15Encryptor5NewLCERK13CRSAPublicKey @ 196 NONAME
+	_ZN22CPaddingPKCS1Signature4NewLEi @ 197 NONAME
+	_ZN22CPaddingPKCS1Signature5NewLCEi @ 198 NONAME
+	_ZN22CPaddingPKCS1SignatureC1Ei @ 199 NONAME
+	_ZN22CPaddingPKCS1SignatureC2Ei @ 200 NONAME
+	_ZN22CRSAPrivateKeyStandard4NewLER8RIntegerS1_ @ 201 NONAME
+	_ZN22CRSAPrivateKeyStandard5NewLCER8RIntegerS1_ @ 202 NONAME
+	_ZN22CRSAPrivateKeyStandardC1ER8RIntegerS1_ @ 203 NONAME
+	_ZN22CRSAPrivateKeyStandardC2ER8RIntegerS1_ @ 204 NONAME
+	_ZN22CRSAPrivateKeyStandardD0Ev @ 205 NONAME
+	_ZN22CRSAPrivateKeyStandardD1Ev @ 206 NONAME
+	_ZN22CRSAPrivateKeyStandardD2Ev @ 207 NONAME
+	_ZN23CBufferedTransformationD0Ev @ 208 NONAME
+	_ZN23CBufferedTransformationD1Ev @ 209 NONAME
+	_ZN23CBufferedTransformationD2Ev @ 210 NONAME
+	_ZN23CPaddingPKCS1Encryption4NewLEi @ 211 NONAME
+	_ZN23CPaddingPKCS1Encryption5NewLCEi @ 212 NONAME
+	_ZN23CPaddingPKCS1EncryptionC1Ei @ 213 NONAME
+	_ZN23CPaddingPKCS1EncryptionC2Ei @ 214 NONAME
+	_ZN3CDH4NewLERK13CDHPrivateKey @ 215 NONAME
+	_ZN3CDH5NewLCERK13CDHPrivateKey @ 216 NONAME
+	_ZN3CDHC1ERK13CDHPrivateKey @ 217 NONAME
+	_ZN3CDHC2ERK13CDHPrivateKey @ 218 NONAME
+	_ZN5CARC44NewLERK6TDesC8j @ 219 NONAME
+	_ZN5CARC45NewLCERK6TDesC8j @ 220 NONAME
+	_ZN7TCrypto22IsSymmetricWeakEnoughLEi @ 221 NONAME
+	_ZN7TCrypto23IsAsymmetricWeakEnoughLEi @ 222 NONAME
+	_ZN7TCrypto8StrengthEv @ 223 NONAME
+	_ZN8CPadding12SetBlockSizeEi @ 224 NONAME
+	_ZN8CPadding4PadLERK6TDesC8R5TDes8 @ 225 NONAME
+	_ZN8CPaddingC1Ei @ 226 NONAME
+	_ZN8CPaddingC2Ei @ 227 NONAME
+	_ZN9CRijndaelC1Ev @ 228 NONAME
+	_ZN9CRijndaelC2Ev @ 229 NONAME
+	_ZNK10CDHKeyPair10PrivateKeyEv @ 230 NONAME
+	_ZNK10CDHKeyPair9PublicKeyEv @ 231 NONAME
+	_ZNK11CDSAKeyPair10PrivateKeyEv @ 232 NONAME
+	_ZNK11CDSAKeyPair16PrimeCertificateEv @ 233 NONAME
+	_ZNK11CDSAKeyPair9PublicKeyEv @ 234 NONAME
+	_ZNK11CRSAKeyPair10PrivateKeyEv @ 235 NONAME
+	_ZNK11CRSAKeyPair9PublicKeyEv @ 236 NONAME
+	_ZNK12CDHPublicKey1XEv @ 237 NONAME
+	_ZNK12CRSAVerifier7VerifyLERK6TDesC8RK13CRSASignature @ 238 NONAME
+	_ZNK13CDHParameters1GEv @ 239 NONAME
+	_ZNK13CDHParameters1NEv @ 240 NONAME
+	_ZNK13CDHPrivateKey1xEv @ 241 NONAME
+	_ZNK13CDSAPublicKey1YEv @ 242 NONAME
+	_ZNK13CDSASignature1REv @ 243 NONAME
+	_ZNK13CDSASignature1SEv @ 244 NONAME
+	_ZNK13CDSASignatureeqERKS_ @ 245 NONAME
+	_ZNK13CRSAPublicKey1EEv @ 246 NONAME
+	_ZNK13CRSASignature1SEv @ 247 NONAME
+	_ZNK13CRSASignatureeqERKS_ @ 248 NONAME
+	_ZNK13CStreamCipher15MaxOutputLengthEi @ 249 NONAME
+	_ZNK13CStreamCipher20MaxFinalOutputLengthEi @ 250 NONAME
+	_ZNK13CStreamCipher9BlockSizeEv @ 251 NONAME
+	_ZNK14CDSAParameters15ValidatePrimesLERK20CDSAPrimeCertificate @ 252 NONAME
+	_ZNK14CDSAParameters1GEv @ 253 NONAME
+	_ZNK14CDSAParameters1PEv @ 254 NONAME
+	_ZNK14CDSAParameters1QEv @ 255 NONAME
+	_ZNK14CDSAPrivateKey1XEv @ 256 NONAME
+	_ZNK14CRSAParameters1NEv @ 257 NONAME
+	_ZNK17CRSAPrivateKeyCRT1PEv @ 258 NONAME
+	_ZNK17CRSAPrivateKeyCRT1QEv @ 259 NONAME
+	_ZNK17CRSAPrivateKeyCRT2DPEv @ 260 NONAME
+	_ZNK17CRSAPrivateKeyCRT2DQEv @ 261 NONAME
+	_ZNK17CRSAPrivateKeyCRT4QInvEv @ 262 NONAME
+	_ZNK20CDSAPrimeCertificate4SeedEv @ 263 NONAME
+	_ZNK20CDSAPrimeCertificate7CounterEv @ 264 NONAME
+	_ZNK22CRSAPrivateKeyStandard1DEv @ 265 NONAME
+	_ZNK23CBufferedTransformation16BlockTransformerEv @ 266 NONAME
+	_ZNK3CDH6AgreeLERK12CDHPublicKey @ 267 NONAME
+	_ZNK8CPadding15MaxPaddedLengthEi @ 268 NONAME
+	_ZNK8CPadding17MaxUnPaddedLengthEi @ 269 NONAME
+	_ZNK8CPadding9BlockSizeEv @ 270 NONAME
+	_ZTI10CDHKeyPair @ 271 NONAME ; #<TI>#
+	_ZTI10CDecryptor @ 272 NONAME ; #<TI>#
+	_ZTI10CEncryptor @ 273 NONAME ; #<TI>#
+	_ZTI10CRSASigner @ 274 NONAME ; #<TI>#
+	_ZTI11CDSAKeyPair @ 275 NONAME ; #<TI>#
+	_ZTI11CRSAKeyPair @ 276 NONAME ; #<TI>#
+	_ZTI12CDHPublicKey @ 277 NONAME ; #<TI>#
+	_ZTI12CPaddingNone @ 278 NONAME ; #<TI>#
+	_ZTI12CRSAVerifier @ 279 NONAME ; #<TI>#
+	_ZTI13CDHParameters @ 280 NONAME ; #<TI>#
+	_ZTI13CDHPrivateKey @ 281 NONAME ; #<TI>#
+	_ZTI13CDSAPublicKey @ 282 NONAME ; #<TI>#
+	_ZTI13CDSASignature @ 283 NONAME ; #<TI>#
+	_ZTI13CPaddingPKCS7 @ 284 NONAME ; #<TI>#
+	_ZTI13CPaddingSSLv3 @ 285 NONAME ; #<TI>#
+	_ZTI13CRSAPublicKey @ 286 NONAME ; #<TI>#
+	_ZTI13CRSASignature @ 287 NONAME ; #<TI>#
+	_ZTI13CStreamCipher @ 288 NONAME ; #<TI>#
+	_ZTI13MCryptoSystem @ 289 NONAME ; #<TI>#
+	_ZTI14CDSAParameters @ 290 NONAME ; #<TI>#
+	_ZTI14CDSAPrivateKey @ 291 NONAME ; #<TI>#
+	_ZTI14CRSAParameters @ 292 NONAME ; #<TI>#
+	_ZTI16MSignatureSystem @ 293 NONAME ; #<TI>#
+	_ZTI17CRSAPrivateKeyCRT @ 294 NONAME ; #<TI>#
+	_ZTI18CBlockChainingMode @ 295 NONAME ; #<TI>#
+	_ZTI20CDSAPrimeCertificate @ 296 NONAME ; #<TI>#
+	_ZTI22CPaddingPKCS1Signature @ 297 NONAME ; #<TI>#
+	_ZTI22CRSAPrivateKeyStandard @ 298 NONAME ; #<TI>#
+	_ZTI23CBufferedTransformation @ 299 NONAME ; #<TI>#
+	_ZTI23CPaddingPKCS1Encryption @ 300 NONAME ; #<TI>#
+	_ZTI3CDH @ 301 NONAME ; #<TI>#
+	_ZTI8CPadding @ 302 NONAME ; #<TI>#
+	_ZTI9CRijndael @ 303 NONAME ; #<TI>#
+	_ZTV10CDHKeyPair @ 304 NONAME ; #<VT>#
+	_ZTV11CDSAKeyPair @ 305 NONAME ; #<VT>#
+	_ZTV11CRSAKeyPair @ 306 NONAME ; #<VT>#
+	_ZTV12CDHPublicKey @ 307 NONAME ; #<VT>#
+	_ZTV12CPaddingNone @ 308 NONAME ; #<VT>#
+	_ZTV12CRSAVerifier @ 309 NONAME ; #<VT>#
+	_ZTV13CDHParameters @ 310 NONAME ; #<VT>#
+	_ZTV13CDHPrivateKey @ 311 NONAME ; #<VT>#
+	_ZTV13CDSAPublicKey @ 312 NONAME ; #<VT>#
+	_ZTV13CDSASignature @ 313 NONAME ; #<VT>#
+	_ZTV13CPaddingPKCS7 @ 314 NONAME ; #<VT>#
+	_ZTV13CPaddingSSLv3 @ 315 NONAME ; #<VT>#
+	_ZTV13CRSAPublicKey @ 316 NONAME ; #<VT>#
+	_ZTV13CRSASignature @ 317 NONAME ; #<VT>#
+	_ZTV13CStreamCipher @ 318 NONAME ; #<VT>#
+	_ZTV14CDSAParameters @ 319 NONAME ; #<VT>#
+	_ZTV14CDSAPrivateKey @ 320 NONAME ; #<VT>#
+	_ZTV14CRSAParameters @ 321 NONAME ; #<VT>#
+	_ZTV17CRSAPrivateKeyCRT @ 322 NONAME ; #<VT>#
+	_ZTV18CBlockChainingMode @ 323 NONAME ; #<VT>#
+	_ZTV20CDSAPrimeCertificate @ 324 NONAME ; #<VT>#
+	_ZTV22CPaddingPKCS1Signature @ 325 NONAME ; #<VT>#
+	_ZTV22CRSAPrivateKeyStandard @ 326 NONAME ; #<VT>#
+	_ZTV23CBufferedTransformation @ 327 NONAME ; #<VT>#
+	_ZTV23CPaddingPKCS1Encryption @ 328 NONAME ; #<VT>#
+	_ZTV8CPadding @ 329 NONAME ; #<VT>#
+	_ZTV9CRijndael @ 330 NONAME ; #<VT>#
+	_ZN8RInteger10NewRandomLERK8TIntegerS2_ @ 331 NONAME
+	_ZN8RInteger10NewRandomLEjN8TInteger16TRandomAttributeE @ 332 NONAME
+	_ZN8RInteger4NewLERK6TDesC8 @ 333 NONAME
+	_ZN8RInteger4NewLERK8TInteger @ 334 NONAME
+	_ZN8RInteger4NewLEi @ 335 NONAME
+	_ZN8RInteger4NewLEj @ 336 NONAME
+	_ZN8RInteger4NewLEv @ 337 NONAME
+	_ZN8RInteger5CloseEv @ 338 NONAME
+	_ZN8RInteger9CallCloseEPv @ 339 NONAME
+	_ZN8RInteger9NewEmptyLEj @ 340 NONAME
+	_ZN8RInteger9NewPrimeLEjN8TInteger16TRandomAttributeE @ 341 NONAME
+	_ZN8RIntegerC1ERKS_ @ 342 NONAME
+	_ZN8RIntegerC1Ev @ 343 NONAME
+	_ZN8RIntegerC2ERKS_ @ 344 NONAME
+	_ZN8RIntegerC2Ev @ 345 NONAME
+	_ZN8RIntegeraSERKS_ @ 346 NONAME
+	_ZN8RIntegercv12TCleanupItemEv @ 347 NONAME
+	_ZN8TInteger20ModularExponentiateLERKS_S1_S1_ @ 348 NONAME
+	_ZN8TIntegermmEv @ 349 NONAME
+	_ZN8TIntegerppEv @ 350 NONAME
+	_ZNK8TInteger11InverseModLERKS_ @ 351 NONAME
+	_ZNK8TInteger6TimesLERKS_ @ 352 NONAME
+	_ZNK8TInteger8BitCountEv @ 353 NONAME
+	_ZNK8TInteger8BufferLCEv @ 354 NONAME
+	_ZNK8TInteger9ByteCountEv @ 355 NONAME
+	_ZNK8TInteger9WordCountEv @ 356 NONAME
+	_ZNK8TIntegerntEv @ 357 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/eabi/cryptography_eka2U.def	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,387 @@
+EXPORTS
+	_ZN10CDHKeyPair10ConstructLER8RIntegerS1_ @ 1 NONAME
+	_ZN10CDHKeyPair10ConstructLER8RIntegerS1_S1_ @ 2 NONAME
+	_ZN10CDHKeyPair4NewLER8RIntegerS1_ @ 3 NONAME
+	_ZN10CDHKeyPair4NewLER8RIntegerS1_S1_ @ 4 NONAME
+	_ZN10CDHKeyPair5NewLCER8RIntegerS1_ @ 5 NONAME
+	_ZN10CDHKeyPair5NewLCER8RIntegerS1_S1_ @ 6 NONAME
+	_ZN10CDHKeyPairC1Ev @ 7 NONAME
+	_ZN10CDHKeyPairC2Ev @ 8 NONAME
+	_ZN10CDHKeyPairD0Ev @ 9 NONAME
+	_ZN10CDHKeyPairD1Ev @ 10 NONAME
+	_ZN10CDHKeyPairD2Ev @ 11 NONAME
+	_ZN10CDSASigner4NewLERK14CDSAPrivateKey @ 12 NONAME
+	_ZN10CDSASigner5NewLCERK14CDSAPrivateKey @ 13 NONAME
+	_ZNK8TInteger8SquaredLEv @ 14 NONAME
+	_ZN10CDecryptorC2Ev @ 15 NONAME
+	_ZNK8TInteger7ModuloLEj @ 16 NONAME
+	_ZN10CEncryptorC2Ev @ 17 NONAME
+	_ZNK8TInteger7ModuloLERKS_ @ 18 NONAME
+	_ZN10CRSASignerC2Ev @ 19 NONAME
+	_ZN11CDSAKeyPair4NewLEj @ 20 NONAME
+	_ZN11CDSAKeyPair5NewLCEj @ 21 NONAME
+	_ZN11CDSAKeyPairC1Ev @ 22 NONAME
+	_ZN11CDSAKeyPairC2Ev @ 23 NONAME
+	_ZN11CDSAKeyPairD0Ev @ 24 NONAME
+	_ZN11CDSAKeyPairD1Ev @ 25 NONAME
+	_ZN11CDSAKeyPairD2Ev @ 26 NONAME
+	_ZN11CNullCipher4NewLEv @ 27 NONAME
+	_ZN11CNullCipher5NewLCEv @ 28 NONAME
+	_ZN11CRSAKeyPair4NewLEj18TRSAPrivateKeyType @ 29 NONAME
+	_ZN11CRSAKeyPair5NewLCEj18TRSAPrivateKeyType @ 30 NONAME
+	_ZN11CRSAKeyPairC1Ev @ 31 NONAME
+	_ZN11CRSAKeyPairC2Ev @ 32 NONAME
+	_ZN11CRSAKeyPairD0Ev @ 33 NONAME
+	_ZN11CRSAKeyPairD1Ev @ 34 NONAME
+	_ZN11CRSAKeyPairD2Ev @ 35 NONAME
+	_ZN12CDHPublicKey4NewLER8RIntegerS1_S1_ @ 36 NONAME
+	_ZN12CDHPublicKey5NewLCER8RIntegerS1_S1_ @ 37 NONAME
+	_ZN12CDHPublicKeyC1ER8RIntegerS1_S1_ @ 38 NONAME
+	_ZN12CDHPublicKeyC1Ev @ 39 NONAME
+	_ZN12CDHPublicKeyC2ER8RIntegerS1_S1_ @ 40 NONAME
+	_ZN12CDHPublicKeyC2Ev @ 41 NONAME
+	_ZN12CDHPublicKeyD0Ev @ 42 NONAME
+	_ZN12CDHPublicKeyD1Ev @ 43 NONAME
+	_ZN12CDHPublicKeyD2Ev @ 44 NONAME
+	_ZN12CDSAVerifier4NewLERK13CDSAPublicKey @ 45 NONAME
+	_ZN12CDSAVerifier5NewLCERK13CDSAPublicKey @ 46 NONAME
+	_ZN12CPaddingNone4NewLEi @ 47 NONAME
+	_ZN12CPaddingNone5NewLCEi @ 48 NONAME
+	_ZN12CPaddingNoneC1Ei @ 49 NONAME
+	_ZN12CPaddingNoneC2Ei @ 50 NONAME
+	_ZNK8TInteger6MinusLERKS_ @ 51 NONAME
+	_ZN12CRSAVerifierC2Ev @ 52 NONAME
+	_ZN13CAESDecryptor4NewLERK6TDesC8 @ 53 NONAME
+	_ZN13CAESDecryptor5NewLCERK6TDesC8 @ 54 NONAME
+	_ZN13CAESEncryptor4NewLERK6TDesC8 @ 55 NONAME
+	_ZN13CAESEncryptor5NewLCERK6TDesC8 @ 56 NONAME
+	_ZN13CDESDecryptor4NewLERK6TDesC8i @ 57 NONAME
+	_ZN13CDESDecryptor5NewLCERK6TDesC8i @ 58 NONAME
+	_ZN13CDESEncryptor4NewLERK6TDesC8i @ 59 NONAME
+	_ZN13CDESEncryptor5NewLCERK6TDesC8i @ 60 NONAME
+	_ZN13CDHParametersC1ER8RIntegerS1_ @ 61 NONAME
+	_ZN13CDHParametersC1Ev @ 62 NONAME
+	_ZN13CDHParametersC2ER8RIntegerS1_ @ 63 NONAME
+	_ZN13CDHParametersC2Ev @ 64 NONAME
+	_ZN13CDHParametersD0Ev @ 65 NONAME
+	_ZN13CDHParametersD1Ev @ 66 NONAME
+	_ZN13CDHParametersD2Ev @ 67 NONAME
+	_ZN13CDHPrivateKey4NewLER8RIntegerS1_S1_ @ 68 NONAME
+	_ZN13CDHPrivateKey5NewLCER8RIntegerS1_S1_ @ 69 NONAME
+	_ZN13CDHPrivateKeyC1ER8RIntegerS1_S1_ @ 70 NONAME
+	_ZN13CDHPrivateKeyC1Ev @ 71 NONAME
+	_ZN13CDHPrivateKeyC2ER8RIntegerS1_S1_ @ 72 NONAME
+	_ZN13CDHPrivateKeyC2Ev @ 73 NONAME
+	_ZN13CDHPrivateKeyD0Ev @ 74 NONAME
+	_ZN13CDHPrivateKeyD1Ev @ 75 NONAME
+	_ZN13CDHPrivateKeyD2Ev @ 76 NONAME
+	_ZN13CDSAPublicKey4NewLER8RIntegerS1_S1_S1_ @ 77 NONAME
+	_ZN13CDSAPublicKey5NewLCER8RIntegerS1_S1_S1_ @ 78 NONAME
+	_ZN13CDSAPublicKeyC1ER8RIntegerS1_S1_S1_ @ 79 NONAME
+	_ZN13CDSAPublicKeyC1Ev @ 80 NONAME
+	_ZN13CDSAPublicKeyC2ER8RIntegerS1_S1_S1_ @ 81 NONAME
+	_ZN13CDSAPublicKeyC2Ev @ 82 NONAME
+	_ZN13CDSAPublicKeyD0Ev @ 83 NONAME
+	_ZN13CDSAPublicKeyD1Ev @ 84 NONAME
+	_ZN13CDSAPublicKeyD2Ev @ 85 NONAME
+	_ZN13CDSASignature4NewLER8RIntegerS1_ @ 86 NONAME
+	_ZN13CDSASignature5NewLCER8RIntegerS1_ @ 87 NONAME
+	_ZN13CDSASignatureC1ER8RIntegerS1_ @ 88 NONAME
+	_ZN13CDSASignatureC1Ev @ 89 NONAME
+	_ZN13CDSASignatureC2ER8RIntegerS1_ @ 90 NONAME
+	_ZN13CDSASignatureC2Ev @ 91 NONAME
+	_ZN13CDSASignatureD0Ev @ 92 NONAME
+	_ZN13CDSASignatureD1Ev @ 93 NONAME
+	_ZN13CDSASignatureD2Ev @ 94 NONAME
+	_ZN13CPaddingPKCS74NewLEi @ 95 NONAME
+	_ZN13CPaddingPKCS75NewLCEi @ 96 NONAME
+	_ZN13CPaddingPKCS7C1Ei @ 97 NONAME
+	_ZN13CPaddingPKCS7C2Ei @ 98 NONAME
+	_ZN13CPaddingSSLv34NewLEi @ 99 NONAME
+	_ZN13CPaddingSSLv35NewLCEi @ 100 NONAME
+	_ZN13CPaddingSSLv3C1Ei @ 101 NONAME
+	_ZN13CPaddingSSLv3C2Ei @ 102 NONAME
+	_ZN13CRC2Decryptor4NewLERK6TDesC8i @ 103 NONAME
+	_ZN13CRC2Decryptor5NewLCERK6TDesC8i @ 104 NONAME
+	_ZN13CRC2Encryptor4NewLERK6TDesC8i @ 105 NONAME
+	_ZN13CRC2Encryptor5NewLCERK6TDesC8i @ 106 NONAME
+	_ZN13CRSAPublicKey4NewLER8RIntegerS1_ @ 107 NONAME
+	_ZN13CRSAPublicKey5NewLCER8RIntegerS1_ @ 108 NONAME
+	_ZN13CRSAPublicKeyC1ER8RIntegerS1_ @ 109 NONAME
+	_ZN13CRSAPublicKeyC1Ev @ 110 NONAME
+	_ZN13CRSAPublicKeyC2ER8RIntegerS1_ @ 111 NONAME
+	_ZN13CRSAPublicKeyC2Ev @ 112 NONAME
+	_ZN13CRSAPublicKeyD0Ev @ 113 NONAME
+	_ZN13CRSAPublicKeyD1Ev @ 114 NONAME
+	_ZN13CRSAPublicKeyD2Ev @ 115 NONAME
+	_ZN13CRSASignature4NewLER8RInteger @ 116 NONAME
+	_ZN13CRSASignature5NewLCER8RInteger @ 117 NONAME
+	_ZN13CRSASignatureC1ER8RInteger @ 118 NONAME
+	_ZN13CRSASignatureC2ER8RInteger @ 119 NONAME
+	_ZN13CRSASignatureD0Ev @ 120 NONAME
+	_ZN13CRSASignatureD1Ev @ 121 NONAME
+	_ZN13CRSASignatureD2Ev @ 122 NONAME
+	_ZN13CStreamCipher13ProcessFinalLERK6TDesC8R5TDes8 @ 123 NONAME
+	_ZN13CStreamCipher7ProcessERK6TDesC8R5TDes8 @ 124 NONAME
+	_ZNK8TInteger5PlusLERKS_ @ 125 NONAME
+	_ZN13MCryptoSystemC2Ev @ 126 NONAME
+	_ZN14C3DESDecryptor4NewLERK6TDesC8 @ 127 NONAME
+	_ZN14C3DESDecryptor5NewLCERK6TDesC8 @ 128 NONAME
+	_ZN14C3DESEncryptor4NewLERK6TDesC8 @ 129 NONAME
+	_ZN14C3DESEncryptor5NewLCERK6TDesC8 @ 130 NONAME
+	_ZN14CDSAParameters16ValidPrimeLengthEj @ 131 NONAME
+	_ZN14CDSAParameters4NewLER8RIntegerS1_S1_ @ 132 NONAME
+	_ZN14CDSAParametersC1ER8RIntegerS1_S1_ @ 133 NONAME
+	_ZN14CDSAParametersC1Ev @ 134 NONAME
+	_ZN14CDSAParametersC2ER8RIntegerS1_S1_ @ 135 NONAME
+	_ZN14CDSAParametersC2Ev @ 136 NONAME
+	_ZN14CDSAParametersD0Ev @ 137 NONAME
+	_ZN14CDSAParametersD1Ev @ 138 NONAME
+	_ZN14CDSAParametersD2Ev @ 139 NONAME
+	_ZN14CDSAPrivateKey4NewLER8RIntegerS1_S1_S1_ @ 140 NONAME
+	_ZN14CDSAPrivateKey5NewLCER8RIntegerS1_S1_S1_ @ 141 NONAME
+	_ZN14CDSAPrivateKeyC1Ev @ 142 NONAME
+	_ZN14CDSAPrivateKeyC2Ev @ 143 NONAME
+	_ZN14CDSAPrivateKeyD0Ev @ 144 NONAME
+	_ZN14CDSAPrivateKeyD1Ev @ 145 NONAME
+	_ZN14CDSAPrivateKeyD2Ev @ 146 NONAME
+	_ZN14CRSAParametersC1ER8RInteger @ 147 NONAME
+	_ZN14CRSAParametersC1Ev @ 148 NONAME
+	_ZN14CRSAParametersC2ER8RInteger @ 149 NONAME
+	_ZN14CRSAParametersC2Ev @ 150 NONAME
+	_ZN14CRSAParametersD0Ev @ 151 NONAME
+	_ZN14CRSAParametersD1Ev @ 152 NONAME
+	_ZN14CRSAParametersD2Ev @ 153 NONAME
+	_ZNK8TInteger4GCDLERKS_ @ 154 NONAME
+	_ZN16MSignatureSystemC2Ev @ 155 NONAME
+	_ZN17CModeCBCDecryptor4NewLEP20CBlockTransformationRK6TDesC8 @ 156 NONAME
+	_ZN17CModeCBCDecryptor5NewLCEP20CBlockTransformationRK6TDesC8 @ 157 NONAME
+	_ZN17CModeCBCEncryptor4NewLEP20CBlockTransformationRK6TDesC8 @ 158 NONAME
+	_ZN17CModeCBCEncryptor5NewLCEP20CBlockTransformationRK6TDesC8 @ 159 NONAME
+	_ZN17CRSAPrivateKeyCRT4NewLER8RIntegerS1_S1_S1_S1_S1_ @ 160 NONAME
+	_ZN17CRSAPrivateKeyCRT5NewLCER8RIntegerS1_S1_S1_S1_S1_ @ 161 NONAME
+	_ZN17CRSAPrivateKeyCRTC1ER8RIntegerS1_S1_S1_S1_S1_ @ 162 NONAME
+	_ZN17CRSAPrivateKeyCRTC2ER8RIntegerS1_S1_S1_S1_S1_ @ 163 NONAME
+	_ZN17CRSAPrivateKeyCRTD0Ev @ 164 NONAME
+	_ZN17CRSAPrivateKeyCRTD1Ev @ 165 NONAME
+	_ZN17CRSAPrivateKeyCRTD2Ev @ 166 NONAME
+	_ZN17KeyIdentifierUtil16DHKeyIdentifierLERK8RIntegerR5TBuf8ILi20EE @ 167 NONAME
+	_ZN17KeyIdentifierUtil17DSAKeyIdentifierLERK13CDSAPublicKeyR5TBuf8ILi20EE @ 168 NONAME
+	_ZN17KeyIdentifierUtil17RSAKeyIdentifierLERK13CRSAPublicKeyR5TBuf8ILi20EE @ 169 NONAME
+	_ZN18CBlockChainingMode10ConstructLEP20CBlockTransformationRK6TDesC8 @ 170 NONAME
+	_ZNK8TInteger3BitEj @ 171 NONAME
+	_ZN18CBlockChainingModeC2Ev @ 172 NONAME
+	_ZN18CBlockChainingModeD0Ev @ 173 NONAME
+	_ZN18CBlockChainingModeD1Ev @ 174 NONAME
+	_ZN18CBlockChainingModeD2Ev @ 175 NONAME
+	_ZN18CBufferedDecryptor4NewLEP20CBlockTransformationP8CPadding @ 176 NONAME
+	_ZN18CBufferedDecryptor5NewLCEP20CBlockTransformationP8CPadding @ 177 NONAME
+	_ZN18CBufferedEncryptor4NewLEP20CBlockTransformationP8CPadding @ 178 NONAME
+	_ZN18CBufferedEncryptor5NewLCEP20CBlockTransformationP8CPadding @ 179 NONAME
+	_ZN18CRSAPKCS1v15Signer4NewLERK14CRSAPrivateKey @ 180 NONAME
+	_ZN18CRSAPKCS1v15Signer5NewLCERK14CRSAPrivateKey @ 181 NONAME
+	_ZN20CDSAPrimeCertificate4NewLERK6TDesC8j @ 182 NONAME
+	_ZN20CDSAPrimeCertificate5NewLCERK6TDesC8j @ 183 NONAME
+	_ZN20CDSAPrimeCertificateC1Ej @ 184 NONAME
+	_ZN20CDSAPrimeCertificateC1Ev @ 185 NONAME
+	_ZN20CDSAPrimeCertificateC2Ej @ 186 NONAME
+	_ZN20CDSAPrimeCertificateC2Ev @ 187 NONAME
+	_ZN20CDSAPrimeCertificateD0Ev @ 188 NONAME
+	_ZN20CDSAPrimeCertificateD1Ev @ 189 NONAME
+	_ZN20CDSAPrimeCertificateD2Ev @ 190 NONAME
+	_ZN20CRSAPKCS1v15Verifier4NewLERK13CRSAPublicKey @ 191 NONAME
+	_ZN20CRSAPKCS1v15Verifier5NewLCERK13CRSAPublicKey @ 192 NONAME
+	_ZN21CRSAPKCS1v15Decryptor4NewLERK14CRSAPrivateKey @ 193 NONAME
+	_ZN21CRSAPKCS1v15Decryptor5NewLCERK14CRSAPrivateKey @ 194 NONAME
+	_ZN21CRSAPKCS1v15Encryptor4NewLERK13CRSAPublicKey @ 195 NONAME
+	_ZN21CRSAPKCS1v15Encryptor5NewLCERK13CRSAPublicKey @ 196 NONAME
+	_ZN22CPaddingPKCS1Signature4NewLEi @ 197 NONAME
+	_ZN22CPaddingPKCS1Signature5NewLCEi @ 198 NONAME
+	_ZN22CPaddingPKCS1SignatureC1Ei @ 199 NONAME
+	_ZN22CPaddingPKCS1SignatureC2Ei @ 200 NONAME
+	_ZN22CRSAPrivateKeyStandard4NewLER8RIntegerS1_ @ 201 NONAME
+	_ZN22CRSAPrivateKeyStandard5NewLCER8RIntegerS1_ @ 202 NONAME
+	_ZN22CRSAPrivateKeyStandardC1ER8RIntegerS1_ @ 203 NONAME
+	_ZN22CRSAPrivateKeyStandardC2ER8RIntegerS1_ @ 204 NONAME
+	_ZN22CRSAPrivateKeyStandardD0Ev @ 205 NONAME
+	_ZN22CRSAPrivateKeyStandardD1Ev @ 206 NONAME
+	_ZN22CRSAPrivateKeyStandardD2Ev @ 207 NONAME
+	_ZN23CBufferedTransformationD0Ev @ 208 NONAME
+	_ZN23CBufferedTransformationD1Ev @ 209 NONAME
+	_ZN23CBufferedTransformationD2Ev @ 210 NONAME
+	_ZN23CPaddingPKCS1Encryption4NewLEi @ 211 NONAME
+	_ZN23CPaddingPKCS1Encryption5NewLCEi @ 212 NONAME
+	_ZN23CPaddingPKCS1EncryptionC1Ei @ 213 NONAME
+	_ZN23CPaddingPKCS1EncryptionC2Ei @ 214 NONAME
+	_ZN3CDH4NewLERK13CDHPrivateKey @ 215 NONAME
+	_ZN3CDH5NewLCERK13CDHPrivateKey @ 216 NONAME
+	_ZN3CDHC1ERK13CDHPrivateKey @ 217 NONAME
+	_ZN3CDHC2ERK13CDHPrivateKey @ 218 NONAME
+	_ZN5CARC44NewLERK6TDesC8j @ 219 NONAME
+	_ZN5CARC45NewLCERK6TDesC8j @ 220 NONAME
+	_ZN7TCrypto22IsSymmetricWeakEnoughLEi @ 221 NONAME
+	_ZN7TCrypto23IsAsymmetricWeakEnoughLEi @ 222 NONAME
+	_ZN7TCrypto8StrengthEv @ 223 NONAME
+	_ZN8CPadding12SetBlockSizeEi @ 224 NONAME
+	_ZN8CPadding4PadLERK6TDesC8R5TDes8 @ 225 NONAME
+	_ZNK8TInteger15UnsignedCompareERKS_ @ 226 NONAME
+	_ZN8CPaddingC2Ei @ 227 NONAME
+	_ZN8RInteger10NewRandomLERK8TIntegerS2_ @ 228 NONAME
+	_ZN8RInteger10NewRandomLEjN8TInteger16TRandomAttributeE @ 229 NONAME
+	_ZN8RInteger4NewLERK6TDesC8 @ 230 NONAME
+	_ZN8RInteger4NewLERK8TInteger @ 231 NONAME
+	_ZN8RInteger4NewLEi @ 232 NONAME
+	_ZN8RInteger4NewLEj @ 233 NONAME
+	_ZN8RInteger4NewLEv @ 234 NONAME
+	_ZN8RInteger5CloseEv @ 235 NONAME
+	_ZN8RInteger9CallCloseEPv @ 236 NONAME
+	_ZN8RInteger9NewEmptyLEj @ 237 NONAME
+	_ZN8RInteger9NewPrimeLEjN8TInteger16TRandomAttributeE @ 238 NONAME
+	_ZN8RIntegerC1ERKS_ @ 239 NONAME
+	_ZN8RIntegerC1Ev @ 240 NONAME
+	_ZN8RIntegerC2ERKS_ @ 241 NONAME
+	_ZN8RIntegerC2Ev @ 242 NONAME
+	_ZN8RIntegeraSERKS_ @ 243 NONAME
+	_ZN8RIntegercv12TCleanupItemEv @ 244 NONAME
+	_ZN8TInteger20ModularExponentiateLERKS_S1_S1_ @ 245 NONAME
+	_ZN8TIntegermmEv @ 246 NONAME
+	_ZN8TIntegerppEv @ 247 NONAME
+	_ZNK8TInteger14ConvertToLongLEv @ 248 NONAME
+	_ZN9CRijndaelC2Ev @ 249 NONAME
+	_ZNK10CDHKeyPair10PrivateKeyEv @ 250 NONAME
+	_ZNK10CDHKeyPair9PublicKeyEv @ 251 NONAME
+	_ZNK11CDSAKeyPair10PrivateKeyEv @ 252 NONAME
+	_ZNK11CDSAKeyPair16PrimeCertificateEv @ 253 NONAME
+	_ZNK11CDSAKeyPair9PublicKeyEv @ 254 NONAME
+	_ZNK11CRSAKeyPair10PrivateKeyEv @ 255 NONAME
+	_ZNK11CRSAKeyPair9PublicKeyEv @ 256 NONAME
+	_ZNK12CDHPublicKey1XEv @ 257 NONAME
+	_ZNK12CRSAVerifier7VerifyLERK6TDesC8RK13CRSASignature @ 258 NONAME
+	_ZNK13CDHParameters1GEv @ 259 NONAME
+	_ZNK13CDHParameters1NEv @ 260 NONAME
+	_ZNK13CDHPrivateKey1xEv @ 261 NONAME
+	_ZNK13CDSAPublicKey1YEv @ 262 NONAME
+	_ZNK13CDSASignature1REv @ 263 NONAME
+	_ZNK13CDSASignature1SEv @ 264 NONAME
+	_ZNK13CDSASignatureeqERKS_ @ 265 NONAME
+	_ZNK13CRSAPublicKey1EEv @ 266 NONAME
+	_ZNK13CRSASignature1SEv @ 267 NONAME
+	_ZNK13CRSASignatureeqERKS_ @ 268 NONAME
+	_ZNK13CStreamCipher15MaxOutputLengthEi @ 269 NONAME
+	_ZNK13CStreamCipher20MaxFinalOutputLengthEi @ 270 NONAME
+	_ZNK13CStreamCipher9BlockSizeEv @ 271 NONAME
+	_ZNK14CDSAParameters15ValidatePrimesLERK20CDSAPrimeCertificate @ 272 NONAME
+	_ZNK14CDSAParameters1GEv @ 273 NONAME
+	_ZNK14CDSAParameters1PEv @ 274 NONAME
+	_ZNK14CDSAParameters1QEv @ 275 NONAME
+	_ZNK14CDSAPrivateKey1XEv @ 276 NONAME
+	_ZNK14CRSAParameters1NEv @ 277 NONAME
+	_ZNK17CRSAPrivateKeyCRT1PEv @ 278 NONAME
+	_ZNK17CRSAPrivateKeyCRT1QEv @ 279 NONAME
+	_ZNK17CRSAPrivateKeyCRT2DPEv @ 280 NONAME
+	_ZNK17CRSAPrivateKeyCRT2DQEv @ 281 NONAME
+	_ZNK17CRSAPrivateKeyCRT4QInvEv @ 282 NONAME
+	_ZNK20CDSAPrimeCertificate4SeedEv @ 283 NONAME
+	_ZNK20CDSAPrimeCertificate7CounterEv @ 284 NONAME
+	_ZNK22CRSAPrivateKeyStandard1DEv @ 285 NONAME
+	_ZNK23CBufferedTransformation16BlockTransformerEv @ 286 NONAME
+	_ZNK3CDH6AgreeLERK12CDHPublicKey @ 287 NONAME
+	_ZNK8CPadding15MaxPaddedLengthEi @ 288 NONAME
+	_ZNK8CPadding17MaxUnPaddedLengthEi @ 289 NONAME
+	_ZNK8CPadding9BlockSizeEv @ 290 NONAME
+	_ZNK8TInteger11InverseModLERKS_ @ 291 NONAME
+	_ZNK8TInteger6TimesLERKS_ @ 292 NONAME
+	_ZNK8TInteger8BitCountEv @ 293 NONAME
+	_ZNK8TInteger8BufferLCEv @ 294 NONAME
+	_ZNK8TInteger9ByteCountEv @ 295 NONAME
+	_ZNK8TInteger9WordCountEv @ 296 NONAME
+	_ZNK8TIntegerntEv @ 297 NONAME
+	_ZTI10CDHKeyPair @ 298 NONAME ; #<TI>#
+	_ZTI10CDecryptor @ 299 NONAME ABSENT ; #<TI>#
+	_ZTI10CEncryptor @ 300 NONAME ABSENT ; #<TI>#
+	_ZTI10CRSASigner @ 301 NONAME ABSENT ; #<TI>#
+	_ZTI11CDSAKeyPair @ 302 NONAME ; #<TI>#
+	_ZTI11CRSAKeyPair @ 303 NONAME ; #<TI>#
+	_ZTI12CDHPublicKey @ 304 NONAME ; #<TI>#
+	_ZTI12CPaddingNone @ 305 NONAME ; #<TI>#
+	_ZTI12CRSAVerifier @ 306 NONAME ; #<TI>#
+	_ZTI13CDHParameters @ 307 NONAME ; #<TI>#
+	_ZTI13CDHPrivateKey @ 308 NONAME ; #<TI>#
+	_ZTI13CDSAPublicKey @ 309 NONAME ; #<TI>#
+	_ZTI13CDSASignature @ 310 NONAME ; #<TI>#
+	_ZTI13CPaddingPKCS7 @ 311 NONAME ; #<TI>#
+	_ZTI13CPaddingSSLv3 @ 312 NONAME ; #<TI>#
+	_ZTI13CRSAPublicKey @ 313 NONAME ; #<TI>#
+	_ZTI13CRSASignature @ 314 NONAME ; #<TI>#
+	_ZTI13CStreamCipher @ 315 NONAME ; #<TI>#
+	_ZTI13MCryptoSystem @ 316 NONAME ABSENT ; #<TI>#
+	_ZTI14CDSAParameters @ 317 NONAME ; #<TI>#
+	_ZTI14CDSAPrivateKey @ 318 NONAME ; #<TI>#
+	_ZTI14CRSAParameters @ 319 NONAME ; #<TI>#
+	_ZTI16MSignatureSystem @ 320 NONAME ABSENT ; #<TI>#
+	_ZTI17CRSAPrivateKeyCRT @ 321 NONAME ; #<TI>#
+	_ZTI18CBlockChainingMode @ 322 NONAME ; #<TI>#
+	_ZTI20CDSAPrimeCertificate @ 323 NONAME ; #<TI>#
+	_ZTI22CPaddingPKCS1Signature @ 324 NONAME ; #<TI>#
+	_ZTI22CRSAPrivateKeyStandard @ 325 NONAME ; #<TI>#
+	_ZTI23CBufferedTransformation @ 326 NONAME ; #<TI>#
+	_ZTI23CPaddingPKCS1Encryption @ 327 NONAME ; #<TI>#
+	_ZTI3CDH @ 328 NONAME ABSENT ; #<TI>#
+	_ZTI8CPadding @ 329 NONAME ; #<TI>#
+	_ZTI9CRijndael @ 330 NONAME ; #<TI>#
+	_ZTV10CDHKeyPair @ 331 NONAME ; #<VT>#
+	_ZTV11CDSAKeyPair @ 332 NONAME ; #<VT>#
+	_ZTV11CRSAKeyPair @ 333 NONAME ; #<VT>#
+	_ZTV12CDHPublicKey @ 334 NONAME ; #<VT>#
+	_ZTV12CPaddingNone @ 335 NONAME ; #<VT>#
+	_ZTV12CRSAVerifier @ 336 NONAME ; #<VT>#
+	_ZTV13CDHParameters @ 337 NONAME ; #<VT>#
+	_ZTV13CDHPrivateKey @ 338 NONAME ; #<VT>#
+	_ZTV13CDSAPublicKey @ 339 NONAME ; #<VT>#
+	_ZTV13CDSASignature @ 340 NONAME ; #<VT>#
+	_ZTV13CPaddingPKCS7 @ 341 NONAME ; #<VT>#
+	_ZTV13CPaddingSSLv3 @ 342 NONAME ; #<VT>#
+	_ZTV13CRSAPublicKey @ 343 NONAME ; #<VT>#
+	_ZTV13CRSASignature @ 344 NONAME ; #<VT>#
+	_ZTV13CStreamCipher @ 345 NONAME ; #<VT>#
+	_ZTV14CDSAParameters @ 346 NONAME ; #<VT>#
+	_ZTV14CDSAPrivateKey @ 347 NONAME ; #<VT>#
+	_ZTV14CRSAParameters @ 348 NONAME ; #<VT>#
+	_ZTV17CRSAPrivateKeyCRT @ 349 NONAME ; #<VT>#
+	_ZTV18CBlockChainingMode @ 350 NONAME ; #<VT>#
+	_ZTV20CDSAPrimeCertificate @ 351 NONAME ; #<VT>#
+	_ZTV22CPaddingPKCS1Signature @ 352 NONAME ; #<VT>#
+	_ZTV22CRSAPrivateKeyStandard @ 353 NONAME ; #<VT>#
+	_ZTV23CBufferedTransformation @ 354 NONAME ; #<VT>#
+	_ZTV23CPaddingPKCS1Encryption @ 355 NONAME ; #<VT>#
+	_ZTV8CPadding @ 356 NONAME ; #<VT>#
+	_ZTV9CRijndael @ 357 NONAME ; #<VT>#
+	_ZN8TInteger16ModularMultiplyLERKS_S1_S1_ @ 358 NONAME
+	_ZN8TInteger3OneEv @ 359 NONAME
+	_ZN8TInteger3SetERK8RInteger @ 360 NONAME
+	_ZN8TInteger3TwoEv @ 361 NONAME
+	_ZN8TInteger4ZeroEv @ 362 NONAME
+	_ZN8TInteger5CopyLERKS_i @ 363 NONAME
+	_ZN8TInteger5CopyLEii @ 364 NONAME
+	_ZN8TInteger6NegateEv @ 365 NONAME
+	_ZN8TInteger6SetBitEj @ 366 NONAME
+	_ZN8TIntegerdVERKS_ @ 367 NONAME
+	_ZN8TIntegerdVEi @ 368 NONAME
+	_ZN8TIntegerlSEj @ 369 NONAME
+	_ZN8TIntegermIERKS_ @ 370 NONAME
+	_ZN8TIntegermIEi @ 371 NONAME
+	_ZN8TIntegermLERKS_ @ 372 NONAME
+	_ZN8TIntegermLEi @ 373 NONAME
+	_ZN8TIntegerpLERKS_ @ 374 NONAME
+	_ZN8TIntegerpLEi @ 375 NONAME
+	_ZN8TIntegerrMERKS_ @ 376 NONAME
+	_ZN8TIntegerrMEi @ 377 NONAME
+	_ZN8TIntegerrSEj @ 378 NONAME
+	_ZNK8TInteger10DividedByLERKS_ @ 379 NONAME
+	_ZNK8TInteger10DividedByLEj @ 380 NONAME
+	_ZNK8TInteger13ExponentiateLERKS_ @ 381 NONAME
+	_ZNK8TInteger13SignedCompareERKS_ @ 382 NONAME
+	_ZNK8TInteger13SignedCompareEi @ 383 NONAME
+	_ZN4CDES9IsWeakKeyERK6TDesC8 @ 384 NONAME
+	_ZNK8TInteger24BufferWithNoTruncationLCEv @ 385 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/eabi/hashU.DEF	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,118 @@
+EXPORTS
+	_ZTV14CMessageDigest @ 1 NONAME ; #<VT>#
+	_ZTI14CMessageDigest @ 2 NONAME ; #<TI>#
+	_ZN14CMessageDigestC2ERKS_ @ 3 NONAME
+	_ZN14CMessageDigestC2Ev @ 4 NONAME
+	_ZN14CMessageDigestD0Ev @ 5 NONAME
+	_ZN14CMessageDigestD1Ev @ 6 NONAME
+	_ZN14CMessageDigestD2Ev @ 7 NONAME
+	_ZN21CMessageDigestFactory10NewDigestLEN14CMessageDigest7THashIdE @ 8 NONAME
+	_ZN21CMessageDigestFactory11NewDigestLCEN14CMessageDigest7THashIdE @ 9 NONAME
+	_ZN21CMessageDigestFactory8NewHMACLEN14CMessageDigest7THashIdERK6TDesC8 @ 10 NONAME
+	_ZN21CMessageDigestFactory9NewHMACLCEN14CMessageDigest7THashIdERK6TDesC8 @ 11 NONAME
+	_ZN4CMD210ReplicateLEv @ 12 NONAME
+	_ZN4CMD24HashERK6TDesC8 @ 13 NONAME
+	_ZN4CMD24NewLEv @ 14 NONAME
+	_ZN4CMD25CopyLEv @ 15 NONAME
+	_ZN4CMD25FinalERK6TDesC8 @ 16 NONAME
+	_ZN4CMD25FinalEv @ 17 NONAME
+	_ZN4CMD25ResetEv @ 18 NONAME
+	_ZN4CMD26UpdateERK6TDesC8 @ 19 NONAME
+	_ZN4CMD28HashSizeEv @ 20 NONAME
+	_ZN4CMD29BlockSizeEv @ 21 NONAME
+	_ZN4CMD2D0Ev @ 22 NONAME
+	_ZN4CMD2D1Ev @ 23 NONAME
+	_ZN4CMD2D2Ev @ 24 NONAME
+	_ZN4CMD510ReplicateLEv @ 25 NONAME
+	_ZN4CMD54HashERK6TDesC8 @ 26 NONAME
+	_ZN4CMD54NewLEv @ 27 NONAME
+	_ZN4CMD55CopyLEv @ 28 NONAME
+	_ZN4CMD55FinalERK6TDesC8 @ 29 NONAME
+	_ZN4CMD55FinalEv @ 30 NONAME
+	_ZN4CMD55ResetEv @ 31 NONAME
+	_ZN4CMD56UpdateERK6TDesC8 @ 32 NONAME
+	_ZN4CMD58HashSizeEv @ 33 NONAME
+	_ZN4CMD59BlockSizeEv @ 34 NONAME
+	_ZN4CMD5D0Ev @ 35 NONAME
+	_ZN4CMD5D1Ev @ 36 NONAME
+	_ZN4CMD5D2Ev @ 37 NONAME
+	_ZN4CSHA10ReplicateLEv @ 38 NONAME
+	_ZN4CSHA4HashERK6TDesC8 @ 39 NONAME
+	_ZN4CSHA4NewLEv @ 40 NONAME
+	_ZN4CSHA5CopyLEv @ 41 NONAME
+	_ZN4CSHA5FinalERK6TDesC8 @ 42 NONAME
+	_ZN4CSHA5FinalEv @ 43 NONAME
+	_ZN4CSHA5ResetEv @ 44 NONAME
+	_ZN4CSHA6UpdateERK6TDesC8 @ 45 NONAME
+	_ZN4CSHA8HashSizeEv @ 46 NONAME
+	_ZN4CSHA9BlockSizeEv @ 47 NONAME
+	_ZN4CSHAD0Ev @ 48 NONAME
+	_ZN4CSHAD1Ev @ 49 NONAME
+	_ZN4CSHAD2Ev @ 50 NONAME
+	_ZN5CHMAC10ReplicateLEv @ 51 NONAME
+	_ZN5CHMAC4HashERK6TDesC8 @ 52 NONAME
+	_ZN5CHMAC4NewLERK6TDesC8P14CMessageDigest @ 53 NONAME
+	_ZN5CHMAC5CopyLEv @ 54 NONAME
+	_ZN5CHMAC5FinalERK6TDesC8 @ 55 NONAME
+	_ZN5CHMAC5FinalEv @ 56 NONAME
+	_ZN5CHMAC5ResetEv @ 57 NONAME
+	_ZN5CHMAC6UpdateERK6TDesC8 @ 58 NONAME
+	_ZN5CHMAC8HashSizeEv @ 59 NONAME
+	_ZN5CHMAC9BlockSizeEv @ 60 NONAME
+	_ZN5CHMACD0Ev @ 61 NONAME
+	_ZN5CHMACD1Ev @ 62 NONAME
+	_ZN5CHMACD2Ev @ 63 NONAME
+	_ZN5CSHA110ReplicateLEv @ 64 NONAME
+	_ZN5CSHA14HashERK6TDesC8 @ 65 NONAME
+	_ZN5CSHA14NewLEv @ 66 NONAME
+	_ZN5CSHA15CopyLEv @ 67 NONAME
+	_ZN5CSHA15FinalERK6TDesC8 @ 68 NONAME
+	_ZN5CSHA15FinalEv @ 69 NONAME
+	_ZN5CSHA15ResetEv @ 70 NONAME
+	_ZN5CSHA16UpdateERK6TDesC8 @ 71 NONAME
+	_ZN5CSHA18HashSizeEv @ 72 NONAME
+	_ZN5CSHA19BlockSizeEv @ 73 NONAME
+	_ZN5CSHA1D0Ev @ 74 NONAME
+	_ZN5CSHA1D1Ev @ 75 NONAME
+	_ZN5CSHA1D2Ev @ 76 NONAME
+	_ZTI4CMD2 @ 77 NONAME ; #<TI>#
+	_ZTI4CMD5 @ 78 NONAME ; #<TI>#
+	_ZTI4CSHA @ 79 NONAME ; #<TI>#
+	_ZTI5CHMAC @ 80 NONAME ; #<TI>#
+	_ZTI5CSHA1 @ 81 NONAME ; #<TI>#
+	_ZTV4CMD2 @ 82 NONAME ; #<VT>#
+	_ZTV4CMD5 @ 83 NONAME ; #<VT>#
+	_ZTV4CSHA @ 84 NONAME ; #<VT>#
+	_ZTV5CHMAC @ 85 NONAME ; #<VT>#
+	_ZTV5CSHA1 @ 86 NONAME ; #<VT>#
+	_ZN4CMD410ReplicateLEv @ 87 NONAME
+	_ZN4CMD44HashERK6TDesC8 @ 88 NONAME
+	_ZN4CMD44NewLEv @ 89 NONAME
+	_ZN4CMD45CopyLEv @ 90 NONAME
+	_ZN4CMD45FinalERK6TDesC8 @ 91 NONAME
+	_ZN4CMD45FinalEv @ 92 NONAME
+	_ZN4CMD45ResetEv @ 93 NONAME
+	_ZN4CMD46UpdateERK6TDesC8 @ 94 NONAME
+	_ZN4CMD48HashSizeEv @ 95 NONAME
+	_ZN4CMD49BlockSizeEv @ 96 NONAME
+	_ZN4CMD4D0Ev @ 97 NONAME
+	_ZN4CMD4D1Ev @ 98 NONAME
+	_ZN4CMD4D2Ev @ 99 NONAME
+	_ZTI4CMD4 @ 100 NONAME
+	_ZTV4CMD4 @ 101 NONAME
+	_ZN5CSHA210ReplicateLEv @ 102 NONAME
+	_ZN5CSHA24HashERK6TDesC8 @ 103 NONAME
+	_ZN5CSHA24NewLE8TSH2Algo @ 104 NONAME
+	_ZN5CSHA25CopyLEv @ 105 NONAME
+	_ZN5CSHA25FinalERK6TDesC8 @ 106 NONAME
+	_ZN5CSHA25FinalEv @ 107 NONAME
+	_ZN5CSHA25NewLCE8TSH2Algo @ 108 NONAME
+	_ZN5CSHA25ResetEv @ 109 NONAME
+	_ZN5CSHA26UpdateERK6TDesC8 @ 110 NONAME
+	_ZN5CSHA28HashSizeEv @ 111 NONAME
+	_ZN5CSHA29BlockSizeEv @ 112 NONAME
+	_ZN5CSHA2D0Ev @ 113 NONAME
+	_ZN5CSHA2D1Ev @ 114 NONAME
+	_ZN5CSHA2D2Ev @ 115 NONAME
+	_ZTI5CSHA2 @ 116 NONAME
+	_ZTV5CSHA2 @ 117 NONAME
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/eabi/randomU.DEF	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,18 @@
+EXPORTS
+	RAND_bytes @ 1 NONAME
+	_Z16SetThreadRandomLP7CRandom @ 2 NONAME
+	_Z17SetThreadRandomLCP7CRandom @ 3 NONAME
+	_Z19DestroyThreadRandomv @ 4 NONAME
+	_Z20GenerateRandomBytesLR5TDes8 @ 5 NONAME
+	_ZN13CSystemRandom4NewLEv @ 6 NONAME
+	_ZN13CSystemRandom5NewLCEv @ 7 NONAME
+	_ZN14RRandomSession8ConnectLEv @ 8 NONAME
+	_ZN14RRandomSession9GetRandomER5TDes8 @ 9 NONAME
+	_ZN14RRandomSessionC1Ev @ 10 NONAME
+	_ZN14RRandomSessionC2Ev @ 11 NONAME
+	_ZTV13CSystemRandom @ 12 NONAME ; #<VT>#
+	_ZN7CRandomC2Ev @ 13 NONAME
+	_ZN7TRandom6RandomER5TDes8 @ 14 NONAME
+	_ZTI13CSystemRandom @ 15 NONAME ; #<TI>#
+	_ZN7TRandom7RandomLER5TDes8 @ 16 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/eabi/randsvrU.DEF	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,9 @@
+EXPORTS
+	_Z15RunRandomServerPv @ 1 NONAME
+	_ZTI13CRandomServer @ 2 NONAME ; #<TI>#
+	_ZTI14CRandomSession @ 3 NONAME ; #<TI>#
+	_ZTI16CRandomScheduler @ 4 NONAME ; #<TI>#
+	_ZTV13CRandomServer @ 5 NONAME ; #<VT>#
+	_ZTV14CRandomSession @ 6 NONAME ; #<VT>#
+	_ZTV16CRandomScheduler @ 7 NONAME ; #<VT>#
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/group/How_To_Build_Strong_Crypto.txt	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,11 @@
+Previously it was not possible for teams other than Security to build the crypto
+library as the source code was licensed from RSA and access to it was
+restricted.  Now that the source for cryptography.dll is accessible in the
+master codeline all teams can build this library according to their needs.
+
+To build strong crypto, you must build the file crypto/strong/bld.inf in
+addition to crypto/group/bld.inf.  This will generate an addition dll,
+strong_cryptography.dll.
+
+This can be included in ROMs by specifying the flag USE_STRONG_CRYPTOGRAPHY.  On
+the emulator, the strong version is automatically picked up if it has been built.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/group/README.txt	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,63 @@
+The cryptography libraries should not build thumb.  
+
+On EKA1 they cannot build on thumb because the long long support files (supplied by base) contain instructions that are not supported on that platform.  This has the knock-on effect that those components that include bigint code in their build (and thus require the long long support files too) also cannot build thumb.  The entire list of components affected is as follows:
+
+the cryptography library cryptography.dll
+tasn1 (use CopyL, operator ==, operator < and operator *=) 
+tx509, twtlscert (both use operator < and > which are not exported from TInteger) 
+
+
+On EKA2 it should not build thumb either, because it has been deemed to be too slow.  
+
+Thus the cryptography library must be built on the ARMi platform to substitute for the thumb binary where a thumb set of binaries is required (eg for Lubbock roms).  The ARMi build should occur first in the build order.  To speed up the build process, I've stopped our testcode building ARMi where it's not required to do so.
+
+Some information (from Chris Mokes) about how to prevent the cryptography library building on thumb, and how to manage ROM building follows:
+
+
+(a)	To stop thumb being built do this in the PRJ_MMPFILES section of   bld.inf
+
+#if !defined(MARM_THUMB)
+	mmpfilename
+#endif
+
+or I think you can specify -THUMB in bld.inf but that'll stop everything being build for thumb.
+
+
+(b)	You need to build the dll for ARMI, but still build a thumb lib file for thumb binaries which use the dll to be linked with.  Thumb and armi dlls are interchangable, armi code linked with the armi lib can call exports in a thumb dll and the other way around.
+
+As you've seen the rombuild downgrades to armi if the thumb binary isn't present., so if you have built the armi version and not the thumb one it will pick up the correct one.
+
+Euser has its own define EUSER_ABI in the rombuilding scripts.  EUSER_ABI is ARM4 in an ARM4 build and ARMI for thumb and armi builds. 
+
+The nicest solution is to add to epoc32\rom\include\header.iby to define a CRYPTO_ABI which will be basically the same as the euser one.
+
+Thus,
+
+header.iby 
+<snip>
+#ifdef _ARM4
+define DESIRED_ABI     ARM4
+define EUSER_ABI       ARM4
+define ELOCL_ABI       ARM4
+define CRYPTO_ABI      ARM4
+#endif
+
+#ifdef _ARMI
+define DESIRED_ABI     ARMI
+define EUSER_ABI       ARMI
+define ELOCL_ABI       ARM4
+define CRYPTO_ABI      ARMI
+#endif
+
+#ifdef _THUMB
+define DESIRED_ABI     THUMB
+define EUSER_ABI       ARMI
+define ELOCL_ABI       ARM4
+define CRYPTO_ABI      ARMI
+#endif
+<snip>
+
+
+Then use  CRYPTO_ABI rather than ABI_DIR  in cryptalg.iby.
+
+So, the simplest way is the just build armi and arm4 and the armi one will be downgraded to in a thumb rom.  This is the situation at present.  The most complex but best is to use the define CRYPTO_ABI as explained above.  This cannot be done until the cryptography libraries are submitted to the build and the Master Codeline accepts divergence from 7.0s release.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/group/README_POST_94_MCL_BRANCH.txt	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,36 @@
+May 16th 2007
+-------------
+
+PREQ57 (CryptoSPI) has now been delivered into the MCL. This
+replaces this component ('crypto') for 9.5 onwards. CryptoSPI
+is binary compatible with crypto, and provides header files in
+the following locations:
+
+   cryptospi/inc        -- old 'crypto' header files
+   cryptospi/inc/spi    -- new 'cryptospi' header files
+
+A number of other teams' MMP files continue to use hard-coded
+paths of 'common/generic/security/crypto/inc' within the MMP
+file. They do not use /epoc32/include for export-control
+reasons. When 9.4 has been branched from the MCL, these MMP
+files should be rewritten to use the location 'cryptospi/inc'
+instead. These MMP files are:
+
+   common/generic/j2me/utils/JavaMIDletInstaller/group/JavaHelper.mmp
+   common/generic/networking/ipsec/ipsec_itest/group/ts_ipsec.mmp
+   common/generic/networking/ipsec/pkiservice/group/pkiservicenew.mmp
+   common/generic/networking/ipsec/pkiservice/group/pkiservicesymb.mmp
+   common/generic/networking/ipsec/utlpkcs1/group/utlpkcs1new.mmp
+   common/generic/networking/ipsec/utlpkcs5/group/utlpkcs5new.mmp
+   common/generic/networking/ppp/group/PPP.MMP
+   common/generic/networking/ppp/te_ppp/group/t_ppp_lib.mmp
+   common/generic/syslibs/store/BMAKE/ESTOR.MMP
+   common/generic/syslibs/store/TCRYPT/T_CRYPT.MMP
+   common/generic/syslibs/store/TPAGE/T_SPAGE.MMP
+   common/generic/wap-stack/wapstack/group/wapstksrv.mmp
+
+Once these MMP files have been modified, the 'crypto' component tree
+can be deleted from Perforce and a TBAS build completed to confirm
+that there are no regressions. This will enable the old 'crypto' code
+to be removed once 9.4 has branched from the MCL.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/group/bld.inf	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,184 @@
+/*
+* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* Cryptographic algorithms - en/decryption, signing, verification, hashing
+*
+*/
+
+
+/**
+ @file
+*/
+
+
+
+PRJ_PLATFORMS
+default winc
+
+PRJ_EXPORTS
+../inc/cryptopanic.h SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(cryptopanic.h)
+../inc/hash.h SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(hash.h)
+../inc/random.h SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(random.h)
+#ifdef SYMBIAN_OLD_EXPORT_LOCATION
+../inc/keyidentifierutil.h
+#endif
+../inc/randsvr.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(randsvr.h)
+../inc/randcliserv.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(randcliserv.h)
+../inc/pkcs5kdf.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(pkcs5kdf.h)
+../inc/pkcs12kdf.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(pkcs12kdf.h)
+
+../inc/crypto.iby /epoc32/rom/include/crypto.iby
+../inc/hash.iby /epoc32/rom/include/hash.iby
+../inc/random.iby /epoc32/rom/include/random.iby
+../inc/pbe.iby /epoc32/rom/include/pbe.iby
+
+
+#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
+#ifdef SYMBIAN_OLD_EXPORT_LOCATION
+../inc/randsvrimpl.h 				/epoc32/include/randsvrimpl.h
+#endif
+#endif
+
+#ifndef SYMBIAN_CRYPTOSPI
+#ifndef TOOLS // Don't build anything for tools
+#ifndef TOOLS2 // Don't build anything for tools2
+
+// For EKA1 arm builds, things that use long long support don't get built for thumb
+
+PRJ_MMPFILES
+cryptolib.mmp
+#ifndef MARM_THUMB
+crypto.mmp	BUILD_AS_ARM //	Don't build for thumb
+#endif
+hash.mmp
+randsvr.mmp
+random.mmp
+pbe.mmp
+
+#ifdef WINS
+cryptoswitch.mmp
+#endif
+
+PRJ_TESTMMPFILES
+tasymmetric.mmp
+#ifndef MARM_THUMB
+tbigint.mmp  BUILD_AS_ARM // Don't build for thumb
+#endif
+tpkcs5kdf.mmp 
+tpbe.mmp	
+tsymmetric.mmp
+thash.mmp
+trandom.mmp
+tpaddingServer.mmp
+
+#endif // TOOLS2
+#endif //TOOLS
+
+
+PRJ_TESTEXPORTS
+
+// bigint
+../test/tbigint/scripts/tbasicmathstests.txt /epoc32/winscw/c/tbigint/tbasicmathstests.txt
+../test/tbigint/scripts/tconstructiontests.txt /epoc32/winscw/c/tbigint/tconstructiontests.txt
+../test/tbigint/scripts/tprimegen.txt /epoc32/winscw/c/tbigint/tprimegen.txt
+../test/tbigint/scripts/tmontgomerytests.txt /epoc32/winscw/c/tbigint/tmontgomerytests.txt
+../test/tbigint/scripts/tprimetests.txt /epoc32/winscw/c/tbigint/tprimetests.txt
+../test/tbigint/scripts/tprimetests2.txt /epoc32/winscw/c/tbigint/tprimetests2.txt
+../test/tbigint/scripts/tprimefailuretests.txt /epoc32/winscw/c/tbigint/tprimefailuretests.txt
+../test/tbigint/scripts/tperformancetests.txt /epoc32/winscw/c/tbigint/tperformancetests.txt
+
+../test/tpkcs5kdf/scripts/tpkcs12kdftests.txt /epoc32/winscw/c/tpkcs5kdf/tpkcs12kdftests.txt
+
+// pbe
+../test/tpbe/scripts/tpbetests_v2.txt /epoc32/winscw/c/tpbe/tpbetests_v2.txt
+../test/tpbe/Data/strong.dat /epoc32/winscw/c/tpbe/strong.dat
+../test/tpbe/Data/weak.dat /epoc32/winscw/c/tpbe/weak.dat
+../test/tpbe/Data/pkcs5-orig.dat /epoc32/winscw/c/tpbe/pkcs5-orig.dat
+../test/tpbe/Data/pkcs12-first.dat /epoc32/winscw/c/tpbe/pkcs12-first.dat
+
+// Asymmetric
+../test/tasymmetric/scripts/tasymmetrictests.txt /epoc32/winscw/c/tasymmetric/tasymmetrictests.txt
+
+../test/tasymmetric/scripts/asymmetricPerformance.txt /epoc32/winscw/c/tasymmetric/asymmetricperformance.txt
+
+// Symmetric
+../test/tsymmetric/scripts/tsymmetrictests.txt /epoc32/winscw/c/tsymmetric/tsymmetrictests.txt
+
+../test/tsymmetric/scripts/tsymmetricperformancetests.txt /epoc32/winscw/c/tsymmetric/tsymmetricperformancetests.txt
+
+../test/tsymmetric/scripts/symmetricOOMtests.txt /epoc32/winscw/c/tsymmetric/symmetricoomtests.txt
+
+../test/tsymmetric/scripts/AESECBVectorsScript.txt /epoc32/winscw/c/tsymmetric/aesecbvectorsscript.txt
+../test/tsymmetric/scripts/AESECB_KAT_VT.txt /epoc32/winscw/c/tsymmetric/aesecb_kat_vt.txt
+../test/tsymmetric/scripts/AESECB_KAT_VK.txt /epoc32/winscw/c/tsymmetric/aesecb_kat_vk.txt
+
+../test/tsymmetric/scripts/AESMonteCarloEncryptECB128.txt /epoc32/winscw/c/tsymmetric/aesmontecarloencryptecb128.txt
+../test/tsymmetric/scripts/AESMonteCarloEncryptECB192.txt /epoc32/winscw/c/tsymmetric/aesmontecarloencryptecb192.txt
+../test/tsymmetric/scripts/AESMonteCarloEncryptECB256.txt /epoc32/winscw/c/tsymmetric/aesmontecarloencryptecb256.txt
+
+../test/tsymmetric/scripts/AESMonteCarloDecryptECB128.txt /epoc32/winscw/c/tsymmetric/aesmontecarlodecryptecb128.txt
+../test/tsymmetric/scripts/AESMonteCarloDecryptECB192.txt /epoc32/winscw/c/tsymmetric/aesmontecarlodecryptecb192.txt
+../test/tsymmetric/scripts/AESMonteCarloDecryptECB256.txt /epoc32/winscw/c/tsymmetric/aesmontecarlodecryptecb256.txt
+
+../test/tsymmetric/scripts/AESMonteCarloEncryptCBC128.txt /epoc32/winscw/c/tsymmetric/aesmontecarloencryptcbc128.txt
+../test/tsymmetric/scripts/AESMonteCarloEncryptCBC192.txt /epoc32/winscw/c/tsymmetric/aesmontecarloencryptcbc192.txt
+../test/tsymmetric/scripts/AESMonteCarloEncryptCBC256.txt /epoc32/winscw/c/tsymmetric/aesmontecarloencryptcbc256.txt
+
+../test/tsymmetric/scripts/AESMonteCarloDecryptCBC128.txt /epoc32/winscw/c/tsymmetric/aesmontecarlodecryptcbc128.txt
+../test/tsymmetric/scripts/AESMonteCarloDecryptCBC192.txt /epoc32/winscw/c/tsymmetric/aesmontecarlodecryptcbc192.txt
+../test/tsymmetric/scripts/AESMonteCarloDecryptCBC256.txt /epoc32/winscw/c/tsymmetric/aesmontecarlodecryptcbc256.txt
+
+//	Hash
+../test/thash/testdata/hmacmd2.dat	/epoc32/winscw/c/thash/hmacmd2.dat
+../test/thash/testdata/hmacmd5.dat	/epoc32/winscw/c/thash/hmacmd5.dat
+../test/thash/testdata/hmacmd4.dat	/epoc32/winscw/c/thash/hmacmd4.dat 
+../test/thash/testdata/hmacsha1.dat	/epoc32/winscw/c/thash/hmacsha1.dat
+../test/thash/testdata/hmacsha224.dat	/epoc32/winscw/c/thash/hmacsha224.dat
+../test/thash/testdata/hmacsha256.dat	/epoc32/winscw/c/thash/hmacsha256.dat
+../test/thash/testdata/hmacsha384.dat	/epoc32/winscw/c/thash/hmacsha384.dat
+../test/thash/testdata/hmacsha512.dat	/epoc32/winscw/c/thash/hmacsha512.dat
+../test/thash/testdata/md2.dat		/epoc32/winscw/c/thash/md2.dat
+../test/thash/testdata/md5.dat		/epoc32/winscw/c/thash/md5.dat
+../test/thash/testdata/sha1.dat		/epoc32/winscw/c/thash/sha1.dat
+../test/thash/testdata/md4.dat		/epoc32/winscw/c/thash/md4.dat
+../test/thash/testdata/md4_largedata1.txt	/epoc32/winscw/c/thash/md4_largedata1.txt
+../test/thash/testdata/md4_largedata2.txt	/epoc32/winscw/c/thash/md4_largedata2.txt
+../test/thash/testdata/md4_largedata3.txt	/epoc32/winscw/c/thash/md4_largedata3.txt
+../test/thash/testdata/448bit_data.txt		/epoc32/winscw/c/thash/448bit_data.txt
+../test/thash/testdata/512bit_data.txt		/epoc32/winscw/c/thash/512bit_data.txt
+../test/thash/testdata/512bitdata_largerkey.txt	/epoc32/winscw/c/thash/512bitdata_largerkey.txt
+../test/thash/testdata/largerthanblocksizedata_key.txt	/epoc32/winscw/c/thash/largerthanblocksizedata_key.txt
+../test/thash/testdata/sha224.dat	/epoc32/winscw/c/thash/sha224.dat
+../test/thash/testdata/sha256.dat	/epoc32/winscw/c/thash/sha256.dat
+../test/thash/testdata/sha384.dat	/epoc32/winscw/c/thash/sha384.dat
+../test/thash/testdata/sha512.dat	/epoc32/winscw/c/thash/sha512.dat
+
+
+//	Padding
+../test/tpadding/scripts/tpadSSLv3.ini		/epoc32/winscw/c/tpadding/tpadsslv3.ini
+../test/tpadding/scripts/tpadpkcs7.ini		/epoc32/winscw/c/tpadding/tpadpkcs7.ini
+../test/tpadding/scripts/tpaddingnone.ini	/epoc32/winscw/c/tpadding/tpaddingnone.ini
+../test/tpadding/scripts/tpadding.script	/epoc32/winscw/c/tpadding/tpadding.script
+../test/tpadding/scripts/tpaddingudeb.script	/epoc32/winscw/c/tpadding/tpaddingudeb.script
+
+
+// ROMKIT includes
+../inc/cryptotests.iby /epoc32/rom/include/cryptotests.iby
+../inc/hashtests.iby /epoc32/rom/include/hashtests.iby
+../inc/pbetests.iby /epoc32/rom/include/pbetests.iby
+../inc/randomtests.iby /epoc32/rom/include/randomtests.iby
+../inc/pkcs5kdftests.iby /epoc32/rom/include/pkcs5kdftests.iby
+../inc/paddingtests.iby /epoc32/rom/include/paddingtests.iby
+
+#endif // SYMBIAN_CRYPTOSPI
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/group/crypto.mmh	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,53 @@
+/*
+* Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* Used by crypto.mmp and strong_crypto.mmp
+*
+*/
+
+
+CAPABILITY	All
+TARGETTYPE    dll
+UID			0x1000008d 0x101FD20B
+
+DEFFILE		cryptography_eka2.def
+
+NOEXPORTLIBRARY
+
+SOURCEPATH		../source/symmetric
+SOURCE			des.cpp 3des.cpp rijndael.cpp rc2.cpp arc4.cpp nullcipher.cpp
+SOURCE			cbcmode.cpp
+SOURCE			bufferedtransformation.cpp mstreamcipher.cpp
+
+SOURCEPATH		../source/common
+SOURCE			cryptostrength.cpp keyidentifierutil.cpp
+
+SOURCEPATH		../source/padding
+SOURCE			padding.cpp pkcs7.cpp
+
+SOURCEPATH 		../source/asymmetric
+SOURCE			rsakeys.cpp rsaencryptor.cpp rsadecryptor.cpp asymmetric.cpp
+SOURCE			rsafunction.cpp rsasigner.cpp rsaverifier.cpp
+SOURCE			dsasigner.cpp dsaverifier.cpp dsakeys.cpp
+SOURCE			dhkeys.cpp dh.cpp
+
+SOURCEPATH		../source/bigint
+SOURCE			windowslider.cpp algorithms.cpp bigint.cpp mont.cpp rinteger.cpp
+SOURCE			primes.cpp
+
+USERINCLUDE 	../inc
+OS_LAYER_SYSTEMINCLUDE
+
+LIBRARY			euser.lib random.lib hash.lib
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/group/crypto.mmp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,32 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+/**
+@file
+
+@SYMPurpose weak_cryptography.dll Weak version of cryptography.dll
+*/
+
+// Weak version of cryptography.dll, not subject to export restrictions
+
+TARGET        weak_cryptography.dll
+UNPAGED
+
+#include "crypto.mmh"
+
+VENDORID 0x70000001
+SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/group/cryptolib.mmp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* cryptography.lib Specifies cryptpgraphy def files
+*
+*/
+
+
+/**
+ @file
+*/
+
+TARGET        cryptography.lib
+TARGETTYPE    implib
+
+DEFFILE		cryptography_eka2.def
+
+UID			0x1000008d 0x101FD20B
+VENDORID 0x70000001
+SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/group/cryptoswitch.mmp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,49 @@
+/*
+* Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* cryptography.dll Implements cryptography features
+*
+*/
+
+
+/**
+ @file
+*/
+
+
+TARGET 		cryptography.dll
+CAPABILITY	All
+TARGETTYPE 	dll
+NOEXPORTLIBRARY
+
+UID		0x1000008d 0x101FD20B
+VENDORID 0x70000001
+
+DEFFILE		cryptoswitch.def
+
+SOURCEPATH	../source/cryptoswitch
+SOURCE		cryptoswitch.cpp
+
+USERINCLUDE		../source/cryptoswitch
+
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+
+LIBRARY		euser.lib
+LIBRARY     emulator.lib
+
+START WINS
+WIN32_LIBRARY	kernel32.lib
+END
+
+SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/group/doxyfile	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,852 @@
+# Doxyfile 1.2.11.1
+
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project
+#
+# All text after a hash (#) is considered a comment and will be ignored
+# The format is:
+#       TAG = value [value, ...]
+# For lists items can also be appended using:
+#       TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (" ")
+
+#---------------------------------------------------------------------------
+# General configuration options
+#---------------------------------------------------------------------------
+
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded 
+# by quotes) that should identify the project.
+
+PROJECT_NAME           = "Crypto"
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number. 
+# This could be handy for archiving the generated documentation or 
+# if some version control system is used.
+
+PROJECT_NUMBER         = 
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 
+# base path where the generated documentation will be put. 
+# If a relative path is entered, it will be relative to the location 
+# where doxygen was started. If left blank the current directory will be used.
+
+OUTPUT_DIRECTORY       = ../docs
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all 
+# documentation generated by doxygen is written. Doxygen will use this 
+# information to generate all constant output in the proper language. 
+# The default language is English, other supported languages are: 
+# Brazilian, Chinese, Croatian, Czech, Danish, Dutch, Finnish, French, 
+# German, Hungarian, Italian, Japanese, Korean, Norwegian, Polish, 
+# Portuguese, Romanian, Russian, Slovak, Slovene, Spanish and Swedish.
+
+OUTPUT_LANGUAGE        = English
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in 
+# documentation are documented, even if no documentation was available. 
+# Private class members and static file members will be hidden unless 
+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
+
+EXTRACT_ALL            = YES
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class 
+# will be included in the documentation.
+
+EXTRACT_PRIVATE        = NO
+
+# If the EXTRACT_STATIC tag is set to YES all static members of a file 
+# will be included in the documentation.
+
+EXTRACT_STATIC         = YES
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all 
+# undocumented members of documented classes, files or namespaces. 
+# If set to NO (the default) these members will be included in the 
+# various overviews, but no documentation section is generated. 
+# This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_MEMBERS     = NO
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all 
+# undocumented classes that are normally visible in the class hierarchy. 
+# If set to NO (the default) these class will be included in the various 
+# overviews. This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_CLASSES     = NO
+
+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will 
+# include brief member descriptions after the members that are listed in 
+# the file and class documentation (similar to JavaDoc). 
+# Set to NO to disable this.
+
+BRIEF_MEMBER_DESC      = YES
+
+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend 
+# the brief description of a member or function before the detailed description. 
+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the 
+# brief descriptions will be completely suppressed.
+
+REPEAT_BRIEF           = YES
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then 
+# Doxygen will generate a detailed section even if there is only a brief 
+# description.
+
+ALWAYS_DETAILED_SEC    = YES
+
+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full 
+# path before files name in the file list and in the header files. If set 
+# to NO the shortest path that makes the file name unique will be used.
+
+FULL_PATH_NAMES        = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag 
+# can be used to strip a user defined part of the path. Stripping is 
+# only done if one of the specified strings matches the left-hand part of 
+# the path. It is allowed to use relative paths in the argument list.
+
+STRIP_FROM_PATH        = ../..
+
+# The INTERNAL_DOCS tag determines if documentation 
+# that is typed after a \internal command is included. If the tag is set 
+# to NO (the default) then the documentation will be excluded. 
+# Set it to YES to include the internal documentation.
+
+INTERNAL_DOCS          = NO
+
+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will 
+# generate a class diagram (in Html and LaTeX) for classes with base or 
+# super classes. Setting the tag to NO turns the diagrams off.
+
+CLASS_DIAGRAMS         = YES
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will 
+# be generated. Documented entities will be cross-referenced with these sources.
+
+SOURCE_BROWSER         = YES
+
+# Setting the INLINE_SOURCES tag to YES will include the body 
+# of functions and classes directly in the documentation.
+
+INLINE_SOURCES         = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct 
+# doxygen to hide any special comment blocks from generated source code 
+# fragments. Normal C and C++ comments will always remain visible.
+
+STRIP_CODE_COMMENTS    = YES
+
+# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate 
+# file names in lower case letters. If set to YES upper case letters are also 
+# allowed. This is useful if you have classes or files whose names only differ 
+# in case and if your file system supports case sensitive file names. Windows 
+# users are adviced to set this option to NO.
+
+CASE_SENSE_NAMES       = YES
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter 
+# (but less readable) file names. This can be useful is your file systems 
+# doesn't support long names like on DOS, Mac, or CD-ROM.
+
+SHORT_NAMES            = NO
+
+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen 
+# will show members with their full class and namespace scopes in the 
+# documentation. If set to YES the scope will be hidden.
+
+HIDE_SCOPE_NAMES       = NO
+
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen 
+# will generate a verbatim copy of the header file for each class for 
+# which an include is specified. Set to NO to disable this.
+
+VERBATIM_HEADERS       = YES
+
+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen 
+# will put list of the files that are included by a file in the documentation 
+# of that file.
+
+SHOW_INCLUDE_FILES     = YES
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen 
+# will interpret the first line (until the first dot) of a JavaDoc-style 
+# comment as the brief description. If set to NO, the JavaDoc 
+# comments  will behave just like the Qt-style comments (thus requiring an 
+# explict @brief command for a brief description.
+
+JAVADOC_AUTOBRIEF      = YES
+
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented 
+# member inherits the documentation from any documented member that it 
+# reimplements.
+
+INHERIT_DOCS           = YES
+
+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] 
+# is inserted in the documentation for inline members.
+
+INLINE_INFO            = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen 
+# will sort the (detailed) documentation of file and class members 
+# alphabetically by member name. If set to NO the members will appear in 
+# declaration order.
+
+SORT_MEMBER_DOCS       = YES
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC 
+# tag is set to YES, then doxygen will reuse the documentation of the first 
+# member in the group (if any) for the other members of the group. By default 
+# all members of a group must be documented explicitly.
+
+DISTRIBUTE_GROUP_DOC   = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab. 
+# Doxygen uses this value to replace tabs by spaces in code fragments.
+
+TAB_SIZE               = 4
+
+# The GENERATE_TODOLIST tag can be used to enable (YES) or 
+# disable (NO) the list. This list is created by putting keyword 
+# commands in the documentation.
+
+GENERATE_TODOLIST      = YES
+
+# The GENERATE_TESTLIST tag can be used to enable (YES) or 
+# disable (NO) the test list. This list is created by putting \test 
+# commands in the documentation.
+
+GENERATE_TESTLIST      = YES
+
+# The GENERATE_BUGLIST tag can be used to enable (YES) or 
+# disable (NO) the list. This list is created by putting keyword 
+# commands in the documentation.
+
+GENERATE_BUGLIST       = YES
+
+# This tag can be used to specify a number of aliases that acts 
+# as commands in the documentation. An alias has the form "name=value". 
+# For example adding "sideeffect=\par Side Effects:\n" will allow you to 
+# put the command \sideeffect (or @sideeffect) in the documentation, which 
+# will result in a user defined paragraph with heading "Side Effects:". 
+# You can put \n's in the value part of an alias to insert newlines.
+
+ALIASES                = 
+
+# The ENABLED_SECTIONS tag can be used to enable conditional 
+# documentation sections, marked by \if sectionname ... \endif.
+
+ENABLED_SECTIONS       = 
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines 
+# the initial value of a variable or define consist of for it to appear in 
+# the documentation. If the initializer consists of more lines than specified 
+# here it will be hidden. Use a value of 0 to hide initializers completely. 
+# The appearance of the initializer of individual variables and defines in the 
+# documentation can be controlled using \showinitializer or \hideinitializer 
+# command in the documentation regardless of this setting.
+
+MAX_INITIALIZER_LINES  = 30
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources 
+# only. Doxygen will then generate output that is more tailored for C. 
+# For instance some of the names that are used will be different. The list 
+# of all members will be omitted, etc.
+
+OPTIMIZE_OUTPUT_FOR_C  = NO
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated 
+# at the bottom of the documentation of classes and structs. If set to YES the 
+# list will mention the files that were used to generate the documentation.
+
+SHOW_USED_FILES        = YES
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated 
+# by doxygen. Possible values are YES and NO. If left blank NO is used.
+
+QUIET                  = NO
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are 
+# generated by doxygen. Possible values are YES and NO. If left blank 
+# NO is used.
+
+WARNINGS               = YES
+
+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings 
+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will 
+# automatically be disabled.
+
+WARN_IF_UNDOCUMENTED   = YES
+
+# The WARN_FORMAT tag determines the format of the warning messages that 
+# doxygen can produce. The string should contain the $file, $line, and $text 
+# tags, which will be replaced by the file and line number from which the 
+# warning originated and the warning text.
+
+WARN_FORMAT            = 
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning 
+# and error messages should be written. If left blank the output is written 
+# to stderr.
+
+WARN_LOGFILE           = 
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+# The INPUT tag can be used to specify the files and/or directories that contain 
+# documented source files. You may enter file names like "myfile.cpp" or 
+# directories like "/usr/src/myproject". Separate the files or directories 
+# with spaces.
+
+INPUT                  = ../inc/ ../docs/ ../source
+
+# If the value of the INPUT tag contains directories, you can use the 
+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
+# and *.h) to filter out the source-files in the directories. If left 
+# blank all files are included.
+
+FILE_PATTERNS          = *.h *.dox *.inl *.cpp
+
+# The RECURSIVE tag can be used to turn specify whether or not subdirectories 
+# should be searched for input files as well. Possible values are YES and NO. 
+# If left blank NO is used.
+
+RECURSIVE              = YES
+
+# The EXCLUDE tag can be used to specify files and/or directories that should 
+# excluded from the INPUT source files. This way you can easily exclude a 
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
+
+EXCLUDE                = 
+
+# If the value of the INPUT tag contains directories, you can use the 
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude 
+# certain files from those directories.
+
+EXCLUDE_PATTERNS       = 
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or 
+# directories that contain example code fragments that are included (see 
+# the \include command).
+
+EXAMPLE_PATH           = 
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the 
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
+# and *.h) to filter out the source-files in the directories. If left 
+# blank all files are included.
+
+EXAMPLE_PATTERNS       = 
+
+# The IMAGE_PATH tag can be used to specify one or more files or 
+# directories that contain image that are included in the documentation (see 
+# the \image command).
+
+IMAGE_PATH             = ../docsrc
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should 
+# invoke to filter for each input file. Doxygen will invoke the filter program 
+# by executing (via popen()) the command <filter> <input-file>, where <filter> 
+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an 
+# input file. Doxygen will then use the output that the filter program writes 
+# to standard output.
+
+INPUT_FILTER           = 
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using 
+# INPUT_FILTER) will be used to filter the input files when producing source 
+# files to browse.
+
+FILTER_SOURCE_FILES    = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index 
+# of all compounds will be generated. Enable this if the project 
+# contains a lot of classes, structs, unions or interfaces.
+
+ALPHABETICAL_INDEX     = YES
+
+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then 
+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns 
+# in which this list will be split (can be a number in the range [1..20])
+
+COLS_IN_ALPHA_INDEX    = 5
+
+# In case all classes in a project start with a common prefix, all 
+# classes will be put under the same header in the alphabetical index. 
+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that 
+# should be ignored while generating the index headers.
+
+IGNORE_PREFIX          = CCT TCT MCT
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will 
+# generate HTML output.
+
+GENERATE_HTML          = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `html' will be used as the default path.
+
+HTML_OUTPUT            = 
+
+# The HTML_HEADER tag can be used to specify a personal HTML header for 
+# each generated HTML page. If it is left blank doxygen will generate a 
+# standard header.
+
+HTML_HEADER            = 
+
+# The HTML_FOOTER tag can be used to specify a personal HTML footer for 
+# each generated HTML page. If it is left blank doxygen will generate a 
+# standard footer.
+
+HTML_FOOTER            = 
+
+# The HTML_STYLESHEET tag can be used to specify a user defined cascading 
+# style sheet that is used by each HTML page. It can be used to 
+# fine-tune the look of the HTML output. If the tag is left blank doxygen 
+# will generate a default style sheet
+
+HTML_STYLESHEET        = 
+
+# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, 
+# files or namespaces will be aligned in HTML using tables. If set to 
+# NO a bullet list will be used.
+
+HTML_ALIGN_MEMBERS     = YES
+
+# If the GENERATE_HTMLHELP tag is set to YES, additional index files 
+# will be generated that can be used as input for tools like the 
+# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) 
+# of the generated HTML documentation.
+
+GENERATE_HTMLHELP      = YES
+
+# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag 
+# controls if a separate .chi index file is generated (YES) or that 
+# it should be included in the master .chm file (NO).
+
+GENERATE_CHI           = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag 
+# controls whether a binary table of contents is generated (YES) or a 
+# normal table of contents (NO) in the .chm file.
+
+BINARY_TOC             = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members 
+# to the contents of the Html help documentation and to the tree view.
+
+TOC_EXPAND             = NO
+
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index at 
+# top of each HTML page. The value NO (the default) enables the index and 
+# the value YES disables it.
+
+DISABLE_INDEX          = NO
+
+# This tag can be used to set the number of enum values (range [1..20]) 
+# that doxygen will group on one line in the generated HTML documentation.
+
+ENUM_VALUES_PER_LINE   = 4
+
+# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
+# generated containing a tree-like index structure (just like the one that 
+# is generated for HTML Help). For this to work a browser that supports 
+# JavaScript and frames is required (for instance Netscape 4.0+ 
+# or Internet explorer 4.0+).
+
+GENERATE_TREEVIEW      = YES
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be 
+# used to set the initial width (in pixels) of the frame in which the tree 
+# is shown.
+
+TREEVIEW_WIDTH         = 250
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will 
+# generate Latex output.
+
+GENERATE_LATEX         = NO
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `latex' will be used as the default path.
+
+LATEX_OUTPUT           = 
+
+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact 
+# LaTeX documents. This may be useful for small projects and may help to 
+# save some trees in general.
+
+COMPACT_LATEX          = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used 
+# by the printer. Possible values are: a4, a4wide, letter, legal and 
+# executive. If left blank a4wide will be used.
+
+PAPER_TYPE             = a4wide
+
+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX 
+# packages that should be included in the LaTeX output.
+
+EXTRA_PACKAGES         = 
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for 
+# the generated latex document. The header should contain everything until 
+# the first chapter. If it is left blank doxygen will generate a 
+# standard header. Notice: only use this tag if you know what you are doing!
+
+LATEX_HEADER           = 
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated 
+# is prepared for conversion to pdf (using ps2pdf). The pdf file will 
+# contain links (just like the HTML output) instead of page references 
+# This makes the output suitable for online browsing using a pdf viewer.
+
+PDF_HYPERLINKS         = NO
+
+# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of 
+# plain latex in the generated Makefile. Set this option to YES to get a 
+# higher quality PDF documentation.
+
+USE_PDFLATEX           = NO
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. 
+# command to the generated LaTeX files. This will instruct LaTeX to keep 
+# running if errors occur, instead of asking the user for help. 
+# This option is also used when generating formulas in HTML.
+
+LATEX_BATCHMODE        = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output 
+# The RTF output is optimised for Word 97 and may not look very pretty with 
+# other RTF readers or editors.
+
+GENERATE_RTF           = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `rtf' will be used as the default path.
+
+RTF_OUTPUT             = 
+
+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact 
+# RTF documents. This may be useful for small projects and may help to 
+# save some trees in general.
+
+COMPACT_RTF            = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated 
+# will contain hyperlink fields. The RTF file will 
+# contain links (just like the HTML output) instead of page references. 
+# This makes the output suitable for online browsing using WORD or other 
+# programs which support those fields. 
+# Note: wordpad (write) and others do not support links.
+
+RTF_HYPERLINKS         = YES
+
+# Load stylesheet definitions from file. Syntax is similar to that of doxygen's 
+# config file, i.e. a series of assigments. You only have to provide 
+# replacements, missing definitions are set to their default value.
+
+RTF_STYLESHEET_FILE    = 
+
+# Set optional variables used in the generation of an rtf document. 
+# Syntax is similar to that of doxygen's config file.
+
+RTF_EXTENSIONS_FILE    = 
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will 
+# generate man pages
+
+GENERATE_MAN           = NO
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `man' will be used as the default path.
+
+MAN_OUTPUT             = 
+
+# The MAN_EXTENSION tag determines the extension that is added to 
+# the generated man pages (default is the subroutine's section .3)
+
+MAN_EXTENSION          = 
+
+# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
+# then it will generate one additional man file for each entity
+# documented in the real man page(s). These additional files
+# only source the real man page, but without them the man command
+# would be unable to find the correct page. The default is NO.
+
+MAN_LINKS              = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES Doxygen will 
+# generate an XML file that captures the structure of 
+# the code including all documentation. Note that this 
+# feature is still experimental and not complete at the 
+# moment.
+
+GENERATE_XML           = NO
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor   
+#---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will 
+# evaluate all C-preprocessor directives found in the sources and include 
+# files.
+
+ENABLE_PREPROCESSING   = YES
+
+# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro 
+# names in the source code. If set to NO (the default) only conditional 
+# compilation will be performed. Macro expansion can be done in a controlled 
+# way by setting EXPAND_ONLY_PREDEF to YES.
+
+MACRO_EXPANSION        = NO
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES 
+# then the macro expansion is limited to the macros specified with the 
+# PREDEFINED and EXPAND_AS_PREDEFINED tags.
+
+EXPAND_ONLY_PREDEF     = NO
+
+# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files 
+# in the INCLUDE_PATH (see below) will be search if a #include is found.
+
+SEARCH_INCLUDES        = YES
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that 
+# contain include files that are not input files but should be processed by 
+# the preprocessor.
+
+INCLUDE_PATH           = 
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard 
+# patterns (like *.h and *.hpp) to filter out the header-files in the 
+# directories. If left blank, the patterns specified with FILE_PATTERNS will 
+# be used.
+
+INCLUDE_FILE_PATTERNS  = 
+
+# The PREDEFINED tag can be used to specify one or more macro names that 
+# are defined before the preprocessor is started (similar to the -D option of 
+# gcc). The argument of the tag is a list of macros of the form: name 
+# or name=definition (no spaces). If the definition and the = are 
+# omitted =1 is assumed.
+
+PREDEFINED             = SYMBIAN_CRYPTO
+
+# If the MACRO_EXPANSION and EXPAND_PREDEF_ONLY tags are set to YES then 
+# this tag can be used to specify a list of macro names that should be expanded. 
+# The macro definition that is found in the sources will be used. 
+# Use the PREDEFINED tag if you want to use a different macro definition.
+
+EXPAND_AS_DEFINED      = 
+
+# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then 
+# doxygen's preprocessor will remove all function-like macros that are alone 
+# on a line and do not end with a semicolon. Such function macros are typically 
+# used for boiler-plate code, and will confuse the parser if not removed.
+
+SKIP_FUNCTION_MACROS   = YES
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to external references   
+#---------------------------------------------------------------------------
+
+# The TAGFILES tag can be used to specify one or more tagfiles.
+
+TAGFILES               = 
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create 
+# a tag file that is based on the input files it reads.
+
+GENERATE_TAGFILE       = DOXYTAGS
+
+# If the ALLEXTERNALS tag is set to YES all external classes will be listed 
+# in the class index. If set to NO only the inherited external classes 
+# will be listed.
+
+ALLEXTERNALS           = NO
+
+# The PERL_PATH should be the absolute path and name of the perl script 
+# interpreter (i.e. the result of `which perl').
+
+PERL_PATH              = 
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool   
+#---------------------------------------------------------------------------
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is 
+# available from the path. This tool is part of Graphviz, a graph visualization 
+# toolkit from AT&T and Lucent Bell Labs. The other options in this section 
+# have no effect if this option is set to NO (the default)
+
+HAVE_DOT               = YES
+
+# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen 
+# will generate a graph for each documented class showing the direct and 
+# indirect inheritance relations. Setting this tag to YES will force the 
+# the CLASS_DIAGRAMS tag to NO.
+
+CLASS_GRAPH            = YES
+
+# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen 
+# will generate a graph for each documented class showing the direct and 
+# indirect implementation dependencies (inheritance, containment, and 
+# class references variables) of the class with other documented classes.
+
+COLLABORATION_GRAPH    = YES
+
+# If set to YES, the inheritance and collaboration graphs will show the 
+# relations between templates and their instances.
+
+TEMPLATE_RELATIONS     = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT 
+# tags are set to YES then doxygen will generate a graph for each documented 
+# file showing the direct and indirect include dependencies of the file with 
+# other documented files.
+
+INCLUDE_GRAPH          = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and 
+# HAVE_DOT tags are set to YES then doxygen will generate a graph for each 
+# documented header file showing the documented files that directly or 
+# indirectly include this file.
+
+INCLUDED_BY_GRAPH      = YES
+
+# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen 
+# will graphical hierarchy of all classes instead of a textual one.
+
+GRAPHICAL_HIERARCHY    = YES
+
+# The tag DOT_PATH can be used to specify the path where the dot tool can be 
+# found. If left blank, it is assumed the dot tool can be found on the path.
+
+DOT_PATH               = 
+
+# The DOTFILE_DIRS tag can be used to specify one or more directories that 
+# contain dot files that are included in the documentation (see the 
+# \dotfile command).
+
+DOTFILE_DIRS           = 
+
+# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width 
+# (in pixels) of the graphs generated by dot. If a graph becomes larger than 
+# this value, doxygen will try to truncate the graph, so that it fits within 
+# the specified constraint. Beware that most browsers cannot cope with very 
+# large images.
+
+MAX_DOT_GRAPH_WIDTH    = 1024
+
+# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height 
+# (in pixels) of the graphs generated by dot. If a graph becomes larger than 
+# this value, doxygen will try to truncate the graph, so that it fits within 
+# the specified constraint. Beware that most browsers cannot cope with very 
+# large images.
+
+MAX_DOT_GRAPH_HEIGHT   = 1024
+
+# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will 
+# generate a legend page explaining the meaning of the various boxes and 
+# arrows in the dot generated graphs.
+
+GENERATE_LEGEND        = YES
+
+# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will 
+# remove the intermedate dot files that are used to generate 
+# the various graphs.
+
+DOT_CLEANUP            = YES
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to the search engine   
+#---------------------------------------------------------------------------
+
+# The SEARCHENGINE tag specifies whether or not a search engine should be 
+# used. If set to NO the values of all tags below this one will be ignored.
+
+SEARCHENGINE           = NO
+
+# The CGI_NAME tag should be the name of the CGI script that 
+# starts the search engine (doxysearch) with the correct parameters. 
+# A script with this name will be generated by doxygen.
+
+CGI_NAME               = 
+
+# The CGI_URL tag should be the absolute URL to the directory where the 
+# cgi binaries are located. See the documentation of your http daemon for 
+# details.
+
+CGI_URL                = 
+
+# The DOC_URL tag should be the absolute URL to the directory where the 
+# documentation is located. If left blank the absolute path to the 
+# documentation, with file:// prepended to it, will be used.
+
+DOC_URL                = 
+
+# The DOC_ABSPATH tag should be the absolute path to the directory where the 
+# documentation is located. If left blank the directory on the local machine 
+# will be used.
+
+DOC_ABSPATH            = 
+
+# The BIN_ABSPATH tag must point to the directory where the doxysearch binary 
+# is installed.
+
+BIN_ABSPATH            = 
+
+# The EXT_DOC_PATHS tag can be used to specify one or more paths to 
+# documentation generated for other projects. This allows doxysearch to search 
+# the documentation for these projects as well.
+
+EXT_DOC_PATHS          = 
+
+ALIASES =	panic=@exception \
+			leave=@exception \
+			"capability=@par Capabilities" \
+			"internalTechnology=@par Internal technology" \
+			"internalComponent=@par Internal component"\
+			"internalAll=@par Internal all" \
+			"prototype=@par Prototype" \
+			"interim=@par Interim" \
+			"released=@par Released" \
+			"removed=@par Removed" \
+			"publishedPartner=@par Published-partner" \
+			"publishedAll=@par Published-all" \
+			"test=@par test"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/group/hash.mmp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,45 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+/**
+@file
+
+@SYMPurpose hash.dll Hash functions such as MD5, SHA1 and HMAC
+*/
+
+TARGET			hash.dll
+CAPABILITY All
+TARGETTYPE		DLL
+UNPAGED
+
+UID      0x1000008d 0x10005E11 
+VENDORID 0x70000001
+
+SOURCEPATH	../source/hash
+SOURCE          hash.cpp md2.cpp md5.cpp sha1.cpp hmac.cpp md4.cpp sha2.cpp sha224and256.cpp sha384and512.cpp
+
+USERINCLUDE		../inc
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+
+LIBRARY         euser.lib 
+
+START WINS
+BASEADDRESS     0x7b100000
+END
+
+SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/group/pbe.mmp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,52 @@
+/*
+* Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* pbe.dll Implements Password based Encryption
+*
+*/
+
+
+/**
+ @file
+*/
+
+TARGET        pbe.dll
+CAPABILITY All
+TARGETTYPE    DLL
+UNPAGED
+
+UID    0x1000008d 0x101F7F20
+VENDORID 0x70000001
+
+SOURCEPATH	../source/pbe
+SOURCE		pbe.cpp pbencryptor.cpp pbeset.cpp 
+SOURCE		pbedata.cpp pbencryptorset.cpp 
+SOURCE		pbesymmetricfactory.cpp
+
+SOURCEPATH	../source/pkcs5kdf
+SOURCE		pkcs5kdf.cpp
+
+SOURCEPATH		../source/pkcs12kdf
+SOURCE			pkcs12kdf.cpp
+
+USERINCLUDE   ../inc
+USERINCLUDE   ../source/symmetric
+
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+
+LIBRARY       euser.lib cryptography.lib hash.lib random.lib
+
+DEFFILE		PBE_v2.def
+
+SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/group/random.mmp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,45 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+/**
+@file
+
+@SYMPurpose random.dll Pseudo-random number generator server, client-side
+*/
+
+TARGET			random.dll
+CAPABILITY All
+TARGETTYPE		DLL
+UNPAGED
+
+UID      0x1000008d 0x10005E12
+VENDORID 0x70000001
+
+SOURCEPATH	../source/random
+SOURCE          random.cpp threadrandom.cpp
+
+USERINCLUDE 	../inc
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+OS_LAYER_LIBC_SYSTEMINCLUDE
+
+LIBRARY         euser.lib 
+
+START WINS
+BASEADDRESS     0x7b120000
+END
+SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/group/randsvr.mmp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,44 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+/**
+@file
+
+@SYMPurpose randsvr.exe Pseudo-random number generator server
+*/
+
+TARGET			randsvr.exe
+CAPABILITY ProtServ
+TARGETTYPE		EXEXP
+
+UID      0x1000008d 0x100066dc
+VENDORID 0x70000001
+
+SOURCEPATH	../source/random
+SOURCE          randsvr.cpp
+
+USERINCLUDE 	../inc
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+OS_LAYER_LIBC_SYSTEMINCLUDE
+LIBRARY         euser.lib 
+LIBRARY 	hash.lib
+
+START WINS
+BASEADDRESS     0x7b130000
+END
+SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/group/security_crypto_strong.history.xml	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<relnotes name="Cryptography Library">
+  <purpose>
+    Non-RSA cryptographic algorithms including symmetric and asymmetric ciphers, hash functions and a cryptographic strong random number generator. Supercedes RSA-based Security/cryptalg, export restricted.
+  </purpose>
+
+  <deliverystep number="" name="PREQ2193 SMP-Safe Crypto Services Components" osproject="Diran" revision="016">
+	  <milestone project="GT0433" number="MS3.7"/>
+	  <preq number="2193" title="SMP-Safe Crypto Services Components">
+		  Add SMPSAFE keyword in SDP mmp files
+	  </preq>
+  </deliverystep>
+ 
+ <defect number="DEF124570" title="Annoying preprocessor warnings due to wrong keyword in symmetric.h" revision="015">
+    Fixed preprocessor warnings as a result of error within symmetric.h 
+  </defect>
+
+  <deliverystep number="921" name="PREQ1493: Crypto Services: Add SHA 224, 256, 384, 512 hash algorithms to the Cryptographic Library." osproject="Sphinx" revision="014">
+     <milestone project="GT0379" number="MS3.15"/>
+     <preq number="1493" title="Add SHA 224, 256, 384, 512 hash algorithms to the Cryptographic Library.">
+       Adds support for SHA 224, 256, 384, 512 algorithms to the old Crypto library in Naiad.
+     </preq>
+  </deliverystep>
+  
+  <defect number="PDEF114232" title="RandomServer crashes under IPC attack" revision="013">
+    Added parameter validation for Random Server.
+  </defect>
+
+  <defect number="DEF112296" title="HMAC(crypto) only works with hash functions having 64 byte block" revision="012">
+    HMAC(crypto) works with the block size as supplied by the hash algorithm.
+  </defect>
+  
+  <deliverystep number="496" name="EC073: Security: Crypto Services Header File Refactoring" osproject="Oghma" revision="011">
+	  <milestone project="GT0313" number="MS3.7"/>
+	  <ec number="73" title="Crypto Services Header File Refactoring (to simplify the SDK creation process)">
+		  Non-exported published functions made internal.
+		  Status added to published files if it was missing.
+	  </ec>
+  </deliverystep>
+
+  <defect number="DEF106230" title="Clean up build's tagscan errors" revision="010">
+    Removed tagscan errors
+  </defect>
+
+  <defect number="DEF107276" title="Lint errors in security code should be fixed (production and test)" revision="009">
+    Minor changes to remove lint errors
+  </defect>
+
+  <ec number="074" title="Include an implementation of the MD4 hash function (IETF RFC 1320) in those provided by the Symbian Hash library (part of Symbian Security subsystem)" revision="008">
+    Added the MD4 Message Digest Algorithm(RFC 1320) implementation.
+  </ec>
+
+  <preq number="1182" title="GNU Make-based build system" revision="007">
+    TOOLS2 macro is added with TOOLS.
+  </preq>
+
+  <preq number="1182" title="GNU Make-based build system" revision="006">
+    Changed according to filename policy to support the building of Symbian OS on both Windows and Linux for the test code.
+  </preq>
+
+  <defect number="DEF101551" title="tpkcs5kdftests.txt regression" revision="005">
+    Removed tpkcs5kdftests.txt and added the test cases present in tpkcs5kdftests.txt to tpkcs12kdftests.txt. Removed pbeU.def.
+  </defect>
+
+  <defect number="DEF102043" title="Makesis &amp; SWI assumes system drive is c:" revision="004">
+    Removed hardcoded references to C drive and replaced with system drive.
+  </defect>
+
+  <defect number="PDEF098589" title="The length of the RSA signature should be the length of the RSA modulus" revision="003">
+    Added a function which takes care leading zeros in the signature
+  </defect>
+
+  <defect number="DEF096191" title="57: t_testhandler2 OOM test framework can go into an infinite loop" revision="002">
+    Infinite loop exited when any unknown error comes other than KErrNone and KErrNoMemory for OOM Test Framework.
+  </defect>
+
+  <defect number="DEF099289" title="Remove SYMBIAN_PKCS12 #ifdefs from code" revision="001">
+    Removed SYMBIAN_PKCS12 #ifdefs from code.
+  </defect>
+</relnotes>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/group/security_crypto_strong.mrp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,15 @@
+component	security_crypto_strong
+source	\sf\os\security\crypto\weakcrypto
+binary  \sf\os\security\crypto\weakcrypto\strong all
+exports  \sf\os\security\crypto\weakcrypto\strong
+notes_source	\component_defs\release.src
+
+
+#  == IPR section auto-inserted from distribution.policy files  ==
+ipr export-restricted E 
+ipr export-restricted B \sf\os\security\crypto\weakcrypto\docs
+ipr export-restricted B \sf\os\security\crypto\weakcrypto\source
+ipr export-restricted B \sf\os\security\crypto\weakcrypto\strong
+ipr export-restricted T \sf\os\security\crypto\weakcrypto\test
+
+# == end auto-inserted section ==
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/group/security_crypto_weak.history.xml	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<relnotes name="Cryptography Library">
+  <purpose>
+    Non-RSA cryptographic algorithms including symmetric and asymmetric ciphers, hash functions and a cryptographic strong random number generator. Supercedes RSA-based Security/cryptalg, export restricted.
+  </purpose>
+
+  <deliverystep number="" name="PREQ2193 SMP-Safe Crypto Services Components" osproject="Diran" revision="015">
+	  <milestone project="GT0433" number="MS3.7"/>
+	  <preq number="2193" title="SMP-Safe Crypto Services Components">
+		  Add SMPSAFE keyword in SDP mmp files
+	  </preq>
+  </deliverystep>
+ 
+ <deliverystep number="921" name="PREQ1493: Crypto Services: Add SHA 224, 256, 384, 512 hash algorithms to the Cryptographic Library." osproject="Sphinx" revision="014">
+     <milestone project="GT0379" number="MS3.15"/>
+     <preq number="1493" title="Add SHA 224, 256, 384, 512 hash algorithms to the Cryptographic Library.">
+       Adds support for SHA 224, 256, 384, 512 algorithms to the old Crypto library in Naiad.
+     </preq>
+  </deliverystep>  
+  
+  <defect number=" PDEF114232" title="RandomServer crashes under IPC attack" revision="012">
+    Added parameter validation for Random Server.
+  </defect>
+  
+  <defect number="DEF112296" title="HMAC(crypto) only works with hash functions having 64 byte block" revision="011">
+    HMAC(crypto) works with the block size as supplied by the hash algorithm.
+  </defect>
+  
+  <deliverystep number="496" name="EC073: Security: Crypto Services Header File Refactoring" osproject="Oghma" revision="010">
+	  <milestone project="GT0313" number="MS3.7"/>
+	  <ec number="73" title="Crypto Services Header File Refactoring (to simplify the SDK creation process)">
+		  Non-exported published functions made internal.
+		  Status added to published files if it was missing.
+	  </ec>
+  </deliverystep>
+
+  <defect number="DEF106230" title="Clean up build's tagscan errors" revision="009">
+    Removed tagscan errors
+  </defect>
+
+  <defect number="DEF107276" title="Lint errors in security code should be fixed (production and test)" revision="008">
+    Minor changes to remove lint errors
+  </defect>
+
+  <ec number="074" title="Include an implementation of the MD4 hash function (IETF RFC 1320) in those provided by the Symbian Hash library (part of Symbian Security subsystem)" revision="007">
+    Added the MD4 Message Digest Algorithm(RFC 1320) implementation.
+  </ec>
+
+  <preq number="1182" title="GNU Make-based build system" revision="006">
+    TOOLS2 macro is added with TOOLS.
+  </preq>
+
+  <preq number="1182" title="GNU Make-based build system" revision="005">
+    Changed according to filename policy to support the building of Symbian OS on both Windows and Linux for the test code.
+  </preq>
+
+  <defect number="DEF101551" title="tpkcs5kdftests.txt regression" revision="004">
+    Removed tpkcs5kdftests.txt and added the test cases present in tpkcs5kdftests.txt to tpkcs12kdftests.txt. Removed pbeU.def.
+  </defect>
+
+  <defect number="DEF102043" title="Makesis &amp; SWI assumes system drive is c:" revision="003">
+    Removed hardcoded references to C drive and replaced with system drive.
+  </defect>
+
+  <defect number="PDEF098589" title="The length of the RSA signature should be the length of the RSA modulus" revision="002">
+    Added a function which takes care leading zeros in the signature
+  </defect>
+
+  <defect number="DEF096191" title="57: t_testhandler2 OOM test framework can go into an infinite loop" revision="001">
+    Infinite loop exited when any unknown error comes other than KErrNone and KErrNoMemory for OOM Test Framework.
+  </defect>
+</relnotes>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/group/security_crypto_weak.mrp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,7 @@
+component security_crypto_weak
+binary  \sf\os\security\crypto\weakcrypto\group all
+exports \sf\os\security\crypto\weakcrypto\group security_crypto_strong
+notes_source \component_defs\release.src 
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/group/tasymmetric.mmp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,46 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+/**
+@file
+
+@SYMPurpose tasymmetric.exe Test harness for asymmetric implementation
+*/
+
+TARGET	tasymmetric.exe
+TARGETTYPE	exe
+UID 0x10000079 0x101F7F1F
+VENDORID 0x70000001
+
+SOURCEPATH	../test/tasymmetric
+SOURCE tasymmetricmain.cpp
+SOURCE trsaencryptfb.cpp trsasignfb.cpp 
+SOURCE tdsasignfb.cpp tdsavector.cpp
+SOURCE tvectortest.cpp trsavector.cpp tvectorutils.cpp
+SOURCE tbrokenrandom.cpp tdsaprimegen.cpp
+SOURCE performancetest.cpp
+SOURCE tsignatureinput.cpp
+SOURCE tdhvector.cpp
+SOURCE trsaparams.cpp
+
+USERINCLUDE .
+USERINCLUDE ../inc 
+
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+
+LIBRARY	euser.lib efsrv.lib t_testhandler2.lib random.lib cryptography.lib hash.lib
+SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/group/tbigint.mmp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,48 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+/**
+@file
+
+@SYMPurpose tbigint.exe Test harness for bigint implemetation
+*/
+
+TARGET	tbigint.exe
+TARGETTYPE	exe
+UID 0x10000079 0x10001011
+VENDORID 0x70000001
+
+SOURCEPATH	../test/tbigint
+SOURCE tbigintmain.cpp tconstructionvector.cpp tconstructionfb.cpp
+SOURCE tbasicmathsvector.cpp tbasicmathsfb.cpp
+SOURCE tmontgomeryvector.cpp tmontgomeryfb.cpp
+SOURCE tutils.cpp tprimevector.cpp tmontgomeryperformance.cpp
+SOURCE tprimegenperformance.cpp tprimevectorperformance.cpp
+SOURCE tprimegen.cpp tprimegenvector.cpp
+
+// Include bigint code, so we can test non-public functionality
+
+SOURCEPATH		../source/bigint
+SOURCE			windowslider.cpp algorithms.cpp bigint.cpp mont.cpp rinteger.cpp
+SOURCE			primes.cpp
+
+
+USERINCLUDE ../inc
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+
+LIBRARY	euser.lib efsrv.lib t_testhandler2.lib random.lib
+SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/group/thash.mmp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,36 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+/**
+@file
+
+@SYMPurpose thash.exe Test harness for hash implemetation
+*/
+
+TARGET        thash.exe
+TARGETTYPE    EXE
+
+SOURCEPATH	.              
+SOURCE        ../test/thash/thash.cpp
+SOURCE        ../test/thash/hashtestutils.cpp
+
+USERINCLUDE  ../inc
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+LIBRARY       euser.lib efsrv.lib hash.lib charconv.lib
+
+VENDORID 0x70000001
+SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/group/tpaddingServer.mmp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,40 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+TARGET 		tpaddingserver.exe
+TARGETTYPE 	exe
+UID 		0x1000007a 0x101f777c
+CAPABILITY	ReadUserData WriteUserData
+
+VENDORID	0x70000001
+
+SOURCEPATH	../test/tpadding
+SOURCE 		tpaddingServer.cpp
+SOURCE 		tpaddingTestSteps.cpp
+SOURCE 		tpaddingNone.cpp
+SOURCE		tpaddingSSLv3.cpp
+SOURCE		tpaddingPKCS1.cpp
+SOURCE		tpaddingPKCS7.cpp
+
+USERINCLUDE	../inc
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+
+LIBRARY		testexecuteutils.lib
+LIBRARY		testexecutelogclient.lib
+LIBRARY		euser.lib cryptography.lib random.lib
+SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/group/tpbe.mmp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,40 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+/**
+@file
+
+@SYMPurpose tpbe.exe Test harness for password based encryption
+*/
+
+TARGET	tpbe.exe
+TARGETTYPE	exe
+UID 0x10000079 0x101F7F22
+VENDORID 0x70000001
+
+SOURCEPATH	../test/tpbe
+SOURCE tactionelement.cpp tpbemain.cpp tactionset.cpp tactionsetwritepfs.cpp tactionsetreadpfs.cpp
+SOURCE		texternpbeparams.cpp
+
+USERINCLUDE ../inc
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+OS_LAYER_LIBC_SYSTEMINCLUDE
+
+LIBRARY	euser.lib efsrv.lib t_testhandler2.lib pbe.lib estor.lib cryptography.lib
+
+SMPSAFE
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/group/tpkcs5kdf.mmp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,40 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+/**
+@file
+
+@SYMPurpose tpkcs5kdf.exe Test harness for pkcs5 implementation
+*/
+
+TARGET	tpkcs5kdf.exe
+TARGETTYPE	exe
+UID 0x10000079 0x101F7F23
+VENDORID 0x70000001
+
+SOURCEPATH	../test/tpkcs5kdf
+SOURCE tactionderivekey.cpp tpkcs5kdfmain.cpp
+
+USERINCLUDE ../inc
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+OS_LAYER_LIBC_SYSTEMINCLUDE
+
+LIBRARY	euser.lib efsrv.lib t_testhandler2.lib pbe.lib estlib.lib
+
+SMPSAFE
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/group/trandom.mmp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,39 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+/**
+@file
+
+@SYMPurpose t_random.exe Test harness for random generation implementation
+*/
+
+TARGET        t_random.exe
+TARGETTYPE    EXE
+
+SOURCEPATH	../test/trandom
+SOURCE        t_random.cpp
+
+USERINCLUDE ../inc 
+USERINCLUDE ../source/random
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+
+LIBRARY       euser.lib 
+LIBRARY       efsrv.lib random.lib
+
+
+VENDORID 0x70000001
+SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/group/tsymmetric.mmp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,45 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+/**
+@file
+
+@SYMPurpose tsymmetric.exe Test harness for symmetric implementation
+*/
+
+TARGET	tsymmetric.exe
+TARGETTYPE	exe
+UID 0x10000079 0x101F7F1F
+VENDORID 0x70000001
+
+SOURCEPATH	../test/tsymmetric
+SOURCE			tperformancetest.cpp
+SOURCE			tactionvector.cpp
+SOURCE			tactionincremental.cpp
+SOURCE			tactionmontecarlo.cpp
+SOURCE			tsymmetricmain.cpp
+SOURCE			cryptotestaction.cpp
+
+USERINCLUDE .
+USERINCLUDE 	../inc
+USERINCLUDE 	../source/symmetric
+
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+
+LIBRARY			euser.lib efsrv.lib t_testhandler2.lib 
+LIBRARY			cryptography.lib random.lib
+SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/asymmetric/asymmetric.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,124 @@
+/*
+* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include <asymmetric.h>
+#include <bigint.h>
+
+/* MCryptoSystem */
+
+EXPORT_C MCryptoSystem::MCryptoSystem(void)
+	{
+	}
+
+/* CEncryptor */
+
+EXPORT_C CEncryptor::CEncryptor(void)
+	{
+	}
+
+/* CDecryptor */
+
+EXPORT_C CDecryptor::CDecryptor(void)
+	{
+	}
+
+/* MSignatureSystem */
+
+EXPORT_C MSignatureSystem::MSignatureSystem(void)
+	{
+	}
+
+/* CRSASignature */ 
+
+EXPORT_C CRSASignature* CRSASignature::NewL(RInteger& aS)
+	{
+	CRSASignature* self = new(ELeave)CRSASignature(aS);
+	return self;
+	}
+
+EXPORT_C CRSASignature* CRSASignature::NewLC(RInteger& aS)
+	{
+	CRSASignature* self = NewL(aS);
+	CleanupStack::PushL(self);
+	return self;
+	}
+
+EXPORT_C const TInteger& CRSASignature::S(void) const
+	{
+	return iS;
+	}
+
+EXPORT_C TBool CRSASignature::operator==(const CRSASignature& aSig) const
+	{
+	return ( S() == aSig.S() );
+	}
+
+EXPORT_C CRSASignature::~CRSASignature(void)
+	{
+	iS.Close();
+	}
+
+EXPORT_C CRSASignature::CRSASignature(RInteger& aS) : iS(aS)
+	{
+	}
+
+/* CDSASignature */
+
+EXPORT_C CDSASignature* CDSASignature::NewL(RInteger& aR, RInteger& aS)
+	{
+	CDSASignature* self = new(ELeave)CDSASignature(aR, aS);
+	return self;
+	}
+
+EXPORT_C CDSASignature* CDSASignature::NewLC(RInteger& aR, RInteger& aS)
+	{
+	CDSASignature* self = NewL(aR, aS);
+	CleanupStack::PushL(self);
+	return self;
+	}
+
+EXPORT_C const TInteger& CDSASignature::R(void) const
+	{
+	return iR;
+	}
+
+EXPORT_C const TInteger& CDSASignature::S(void) const
+	{
+	return iS;
+	}
+
+EXPORT_C TBool CDSASignature::operator==(const CDSASignature& aSig) const
+	{
+	return ( R() == aSig.R() && S() == aSig.S() );
+	}
+
+EXPORT_C CDSASignature::~CDSASignature(void)
+	{
+	iR.Close();
+	iS.Close();
+	}
+
+EXPORT_C CDSASignature::CDSASignature()
+	{
+	}
+
+EXPORT_C CDSASignature::CDSASignature(RInteger& aR, RInteger& aS) 
+	: iR(aR), iS(aS)
+	{
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/asymmetric/dh.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,52 @@
+/*
+* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include <asymmetric.h>
+#include <asymmetrickeys.h>
+#include <bigint.h>
+
+EXPORT_C CDH* CDH::NewL(const CDHPrivateKey& aPrivateKey)
+	{
+	CDH* self = new(ELeave) CDH(aPrivateKey);
+	return self;
+	}
+
+EXPORT_C CDH* CDH::NewLC(const CDHPrivateKey& aPrivateKey)
+	{
+	CDH* self = NewL(aPrivateKey);
+	CleanupStack::PushL(self);
+	return self;
+	}
+
+EXPORT_C HBufC8* CDH::AgreeL(const CDHPublicKey& aPublicKey) const
+	{
+	//Calculate X^x mod N
+	RInteger result = TInteger::ModularExponentiateL(aPublicKey.X(), 
+		iPrivateKey.x(), aPublicKey.N());
+	CleanupStack::PushL(result);
+	HBufC8* key = result.BufferLC();
+	CleanupStack::Pop(key);
+	CleanupStack::PopAndDestroy(&result);
+	return key;
+	}
+
+EXPORT_C CDH::CDH(const CDHPrivateKey& aPrivateKey) : iPrivateKey(aPrivateKey)
+	{
+	}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/asymmetric/dhkeys.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,221 @@
+/*
+* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include <asymmetrickeys.h>
+#include <bigint.h>
+
+/* CDHParameters */
+EXPORT_C const TInteger& CDHParameters::N(void) const
+	{
+	return iN;
+	}
+
+EXPORT_C const TInteger& CDHParameters::G(void) const
+	{
+	return iG;
+	}
+
+EXPORT_C CDHParameters::~CDHParameters(void)
+	{
+	iN.Close();
+	iG.Close();
+	}
+
+EXPORT_C CDHParameters::CDHParameters(RInteger& aN, RInteger& aG) : iN(aN), iG(aG)
+	{
+	}
+
+EXPORT_C CDHParameters::CDHParameters(void)
+	{
+	}
+
+/* CDHPublicKey */
+EXPORT_C CDHPublicKey* CDHPublicKey::NewL(RInteger& aN, RInteger& aG, 
+	RInteger& aX)
+	{
+	CDHPublicKey* self = new(ELeave) CDHPublicKey(aN, aG, aX);
+	return self;
+	}
+
+EXPORT_C CDHPublicKey* CDHPublicKey::NewLC(RInteger& aN, RInteger& aG, 
+	RInteger& aX)
+	{
+	CDHPublicKey* self = NewL(aN, aG, aX);
+	CleanupStack::PushL(self);
+	return self;
+	}
+
+EXPORT_C const TInteger& CDHPublicKey::X(void) const
+	{
+	return iX;
+	}
+
+EXPORT_C CDHPublicKey::CDHPublicKey(RInteger& aN, RInteger& aG, RInteger& aX)
+	: CDHParameters(aN, aG), iX(aX)
+	{
+	}
+
+EXPORT_C CDHPublicKey::CDHPublicKey(void)
+	{
+	}
+
+EXPORT_C CDHPublicKey::~CDHPublicKey(void)
+	{
+	iX.Close();
+	}
+
+/* CDHPrivateKey */
+EXPORT_C CDHPrivateKey* CDHPrivateKey::NewL(RInteger& aN, RInteger& aG, 
+	RInteger& ax)
+	{
+	CDHPrivateKey* self = new(ELeave) CDHPrivateKey(aN, aG, ax);
+	return self;
+	}
+
+EXPORT_C CDHPrivateKey* CDHPrivateKey::NewLC(RInteger& aN, RInteger& aG, 
+	RInteger& ax)
+	{
+	CDHPrivateKey* self = NewL(aN, aG, ax);
+	CleanupStack::PushL(self);
+	return self;
+	}
+
+EXPORT_C const TInteger& CDHPrivateKey::x(void) const
+	{
+	return ix;
+	}
+
+EXPORT_C CDHPrivateKey::CDHPrivateKey(RInteger& aN, RInteger& aG, RInteger& ax)
+	: CDHParameters(aN, aG), ix(ax)
+	{
+	}
+
+EXPORT_C CDHPrivateKey::CDHPrivateKey(void)
+	{
+	}
+
+EXPORT_C CDHPrivateKey::~CDHPrivateKey(void)
+	{
+	ix.Close();
+	}
+
+/* CDHKeyPair */
+
+EXPORT_C CDHKeyPair* CDHKeyPair::NewL(RInteger& aN, RInteger& aG)
+	{
+	CDHKeyPair* self = NewLC(aN, aG);
+	CleanupStack::Pop(self);
+	return self;
+	}
+
+EXPORT_C CDHKeyPair* CDHKeyPair::NewLC(RInteger& aN, RInteger& aG)
+	{
+	CDHKeyPair* self = new(ELeave) CDHKeyPair();
+	CleanupStack::PushL(self);
+	self->ConstructL(aN, aG);
+	return self;
+	}
+
+EXPORT_C CDHKeyPair* CDHKeyPair::NewL(RInteger& aN, RInteger& aG, RInteger& ax)
+	{
+	CDHKeyPair* self = NewLC(aN, aG, ax);
+	CleanupStack::Pop(self);
+	return self;
+	}
+
+EXPORT_C CDHKeyPair* CDHKeyPair::NewLC(RInteger& aN, RInteger& aG, RInteger& ax)
+	{
+	CDHKeyPair* self = new(ELeave) CDHKeyPair();
+	CleanupStack::PushL(self);
+	self->ConstructL(aN, aG, ax);
+	return self;
+	}
+
+EXPORT_C const CDHPublicKey& CDHKeyPair::PublicKey(void) const
+	{
+	return *iPublic;
+	}
+
+EXPORT_C const CDHPrivateKey& CDHKeyPair::PrivateKey(void) const
+	{
+	return *iPrivate;
+	}
+
+EXPORT_C CDHKeyPair::~CDHKeyPair(void)
+	{
+	delete iPublic;
+	delete iPrivate;
+	}
+
+EXPORT_C CDHKeyPair::CDHKeyPair(void)
+	{
+	}	
+
+EXPORT_C void CDHKeyPair::ConstructL(RInteger& aN, RInteger& aG)
+	{
+	//declaring a reference just for clarity in NewRandomL statement
+	RInteger& nminus2 = aN;
+	--nminus2;
+	--nminus2;
+
+	//find a random x | 1 <= x <= n-2
+	RInteger x = RInteger::NewRandomL(TInteger::One(), nminus2);
+	CleanupStack::PushL(x);
+	++nminus2;
+	++nminus2; // reincrement aN
+
+	ConstructL(aN, aG, x);
+
+	CleanupStack::Pop(&x);
+	}
+
+EXPORT_C void CDHKeyPair::ConstructL(RInteger& aN, RInteger& aG, RInteger& ax)
+	{
+	//declaring a reference just for clarity in if statements
+	RInteger& nminus2 = aN;
+	--nminus2;
+	--nminus2;
+	
+	if( aG < TInteger::Two() || aG > nminus2 )
+		{
+		User::Leave(KErrArgument);
+		}
+	//In the case of the other ConstructL calling this function this if
+	//statement is redundant.  However, we need to check as this is can be
+	//called without going through the other api.
+	if( ax < TInteger::One() || ax > nminus2 )
+		{
+		User::Leave(KErrArgument);
+		}
+
+	++nminus2;
+	++nminus2; // reincrement aN
+
+	// Calculate X = g^(x) mod n; (note the case sensitivity)
+	RInteger X = TInteger::ModularExponentiateL(aG, ax, aN);
+	CleanupStack::PushL(X);
+
+	RInteger n1 = RInteger::NewL(aN);
+	CleanupStack::PushL(n1);
+	RInteger g1 = RInteger::NewL(aG);
+	CleanupStack::PushL(g1);
+	iPublic = CDHPublicKey::NewL(n1, g1, X);
+	CleanupStack::Pop(3, &X); // g1, n1, X all owned by iPublic
+	
+	iPrivate = CDHPrivateKey::NewL(aN, aG, ax);
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/asymmetric/dsakeys.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,468 @@
+/*
+* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include <asymmetrickeys.h>
+#include <bigint.h>
+#include <random.h>
+#include <hash.h>
+#include "../common/inlines.h"
+#include "../bigint/mont.h"
+
+const TUint SHASIZE = 20;
+const TUint KMinPrimeLength = 512;
+const TUint KMaxPrimeLength = 1024;
+const TUint KPrimeLengthMultiple = 64;
+
+/* CDSAParameters */
+
+EXPORT_C const TInteger& CDSAParameters::P(void) const
+	{
+	return iP;
+	}
+
+EXPORT_C const TInteger& CDSAParameters::Q(void) const
+	{
+	return iQ;
+	}
+
+EXPORT_C const TInteger& CDSAParameters::G(void) const
+	{
+	return iG;
+	}
+
+EXPORT_C CDSAParameters::~CDSAParameters(void)
+	{
+	iP.Close();
+	iQ.Close();
+	iG.Close();
+	}
+
+EXPORT_C CDSAParameters* CDSAParameters::NewL(RInteger& aP, RInteger& aQ, 
+	RInteger& aG)
+	{
+	CDSAParameters* me = new (ELeave) CDSAParameters(aP, aQ, aG);
+	return (me);
+	}
+
+EXPORT_C TBool CDSAParameters::ValidatePrimesL(const CDSAPrimeCertificate& aCert)
+	const
+	{
+	TBool result = EFalse;
+	RInteger p;
+	RInteger q;
+	//Regenerate primes using aCert's seed and counter
+	TUint counter = aCert.Counter();
+	if(!CDSAParameters::GeneratePrimesL(aCert.Seed(), counter, p, 
+		P().BitCount(), q, ETrue))
+		{
+		return result;
+		}
+	//this doesn't leave, no need to push p and q
+	if(p == P() && q == Q() && counter == aCert.Counter())
+		{
+		result = ETrue;
+		}
+	p.Close();
+	q.Close();
+	return result;
+	}
+
+EXPORT_C TBool CDSAParameters::ValidPrimeLength(TUint aPrimeBits)
+	{
+	return (aPrimeBits >= KMinPrimeLength &&
+		aPrimeBits <= KMaxPrimeLength &&
+		aPrimeBits % KPrimeLengthMultiple == 0);
+	}
+
+EXPORT_C CDSAParameters::CDSAParameters(RInteger& aP, RInteger& aQ, 	
+	RInteger& aG) : iP(aP), iQ(aQ), iG(aG)
+	{
+	}
+
+EXPORT_C CDSAParameters::CDSAParameters(void)
+	{
+	}
+
+TBool CDSAParameters::GeneratePrimesL(const TDesC8& aSeed, TUint& aCounter, 
+	RInteger& aP, TUint aL, RInteger& aQ, TBool aUseInputCounter)
+	{
+	//This follows the steps in FIPS 186-2 
+	//See DSS Appendix 2.2
+	//Note. Step 1 is performed prior to calling GeneratePrimesL, so that this
+	//routine can be used for both generation and validation.
+	//Step 1.  Choose an arbitrary sequence of at least 160 bits and call it
+	//SEED.  Let g be the length of SEED in bits.
+
+	if(!CDSAParameters::ValidPrimeLength(aL))
+		{
+		User::Leave(KErrNotSupported);
+		}
+	
+	CSHA1* sha1 = CSHA1::NewL();
+	CleanupStack::PushL(sha1);
+
+	HBufC8* seedBuf = aSeed.AllocLC();
+	TPtr8 seed = seedBuf->Des();
+	TUint gBytes = aSeed.Size();
+	//Note that the DSS's g = BytesToBits(gBytes) ie. the number of random bits
+	//in the seed.  
+	//This function has made the assumption (for ease of computation) that g%8
+	//is 0.  Ie the seed is a whole number of random bytes.
+	TBuf8<SHASIZE> U; 
+	TBuf8<SHASIZE> temp; 
+	const TUint n = (aL-1)/160;
+	const TUint b = (aL-1)%160;
+	HBufC8* Wbuf = HBufC8::NewMaxLC((n+1) * SHASIZE);
+	TUint8* W = const_cast<TUint8*>(Wbuf->Ptr());
+
+	U.Copy(sha1->Final(seed));
+	
+	//Step 2. U = SHA-1[SEED] XOR SHA-1[(SEED+1) mod 2^g]
+	for(TInt i=gBytes - 1, carry=ETrue; i>=0 && carry; i--)
+		{
+		//!++(TUint) adds one to the current word which if it overflows to zero
+		//sets carry to 1 thus letting the loop continue.  It's a poor man's
+		//multi-word addition.  Swift eh?
+		carry = !++(seed[i]);
+		}
+
+	temp.Copy(sha1->Final(seed));
+	XorBuf(const_cast<TUint8*>(U.Ptr()), temp.Ptr(), SHASIZE);
+
+	//Step 3. Form q from U by setting the most significant bit (2^159)
+	//and the least significant bit to 1.
+	U[0] |= 0x80;
+	U[SHASIZE-1] |= 1;
+
+	aQ = RInteger::NewL(U);
+	CleanupStack::PushL(aQ);
+
+	//Step 4. Use a robust primality testing algo to test if q is prime
+	//The robust part is the calling codes problem.  This will use whatever
+	//random number generator you set for the thread.  To attempt FIPS 186-2
+	//compliance, set a FIPS 186-2 compliant RNG.
+	if( !aQ.IsPrimeL() )
+		{
+		//Step 5. If not exit and get a new seed
+		CleanupStack::PopAndDestroy(&aQ);
+		CleanupStack::PopAndDestroy(Wbuf);
+		CleanupStack::PopAndDestroy(seedBuf);
+		CleanupStack::PopAndDestroy(sha1);
+		return EFalse;
+		}
+	
+	TUint counterEnd = aUseInputCounter ? aCounter+1 : 4096;
+	
+	//Step 6. Let counter = 0 and offset = 2
+	//Note 1. that the DSS speaks of SEED + offset + k because they always
+	//refer to a constant SEED.  We update our seed as we go so the offset
+	//variable has already been added to seed in the previous iterations.
+	//Note 2. We've already added 1 to our seed, so the first time through this
+	//the offset in DSS speak will be 2.
+	for(TUint counter=0; counter < counterEnd; counter++)
+		{
+		//Step 7. For k=0, ..., n let
+		// Vk = SHA-1[(SEED + offset + k) mod 2^g]
+		//I'm storing the Vk's inside of a big W buffer.
+		for(TUint k=0; k<=n; k++)
+			{
+			for(TInt i=gBytes-1, carry=ETrue; i>=0 && carry; i--)
+				{
+				carry = !++(seed[i]);
+				}
+			if(!aUseInputCounter || counter == aCounter)
+				{
+				TPtr8 Wptr(W+(n-k)*SHASIZE, gBytes);
+				Wptr.Copy(sha1->Final(seed));
+				}
+			}
+		if(!aUseInputCounter || counter == aCounter)
+			{
+			//Step 8. Let W be the integer...  and let X = W + 2^(L-1)
+			const_cast<TUint8&>((*Wbuf)[SHASIZE - 1 - b/8]) |= 0x80;
+			TPtr8 Wptr(W + SHASIZE - 1 - b/8, aL/8, aL/8);
+			RInteger X = RInteger::NewL(Wptr);
+			CleanupStack::PushL(X);
+			//Step 9. Let c = X mod 2q and set p = X - (c-1)
+			RInteger twoQ = aQ.TimesL(TInteger::Two());
+			CleanupStack::PushL(twoQ);
+			RInteger c = X.ModuloL(twoQ);
+			CleanupStack::PushL(c);
+			--c;
+			aP = X.MinusL(c);
+			CleanupStack::PopAndDestroy(3, &X); //twoQ, c, X
+			CleanupStack::PushL(aP);
+			
+			//Step 10 and 11: if p >= 2^(L-1) and p is prime
+			if( aP.Bit(aL-1) && aP.IsPrimeL() )
+				{
+				aCounter = counter;
+				CleanupStack::Pop(&aP);
+				CleanupStack::Pop(&aQ);
+				CleanupStack::PopAndDestroy(Wbuf);
+				CleanupStack::PopAndDestroy(seedBuf);
+				CleanupStack::PopAndDestroy(sha1);
+				return ETrue;
+				}
+			CleanupStack::PopAndDestroy(&aP);
+			}
+		}
+	CleanupStack::PopAndDestroy(&aQ);
+	CleanupStack::PopAndDestroy(Wbuf);
+	CleanupStack::PopAndDestroy(seedBuf);
+	CleanupStack::PopAndDestroy(sha1);
+	return EFalse;
+	}
+
+/* CDSAPublicKey */
+
+EXPORT_C CDSAPublicKey* CDSAPublicKey::NewL(RInteger& aP, RInteger& aQ, 
+	RInteger& aG, RInteger& aY)
+	{
+	CDSAPublicKey* self = new(ELeave) CDSAPublicKey(aP, aQ, aG, aY);
+	return self;
+	}
+
+EXPORT_C CDSAPublicKey* CDSAPublicKey::NewLC(RInteger& aP, RInteger& aQ, 
+	RInteger& aG, RInteger& aY)
+	{
+	CDSAPublicKey* self = NewL(aP, aQ, aG, aY);
+	CleanupStack::PushL(self);
+	return self;
+	}
+
+EXPORT_C const TInteger& CDSAPublicKey::Y(void) const
+	{
+	return iY;
+	}
+
+EXPORT_C CDSAPublicKey::CDSAPublicKey(void)
+	{
+	} 
+
+EXPORT_C CDSAPublicKey::CDSAPublicKey(RInteger& aP, RInteger& aQ, RInteger& aG, 
+	RInteger& aY) : CDSAParameters(aP, aQ, aG), iY(aY)
+	{
+	}
+
+EXPORT_C CDSAPublicKey::~CDSAPublicKey(void)
+	{
+	iY.Close();
+	}
+
+/* CDSAPrivateKey */
+
+EXPORT_C CDSAPrivateKey* CDSAPrivateKey::NewL(RInteger& aP, RInteger& aQ, 
+	RInteger& aG, RInteger& aX)
+	{
+	CDSAPrivateKey* self = new(ELeave) CDSAPrivateKey(aP, aQ, aG, aX);
+	return self;
+	}
+
+EXPORT_C CDSAPrivateKey* CDSAPrivateKey::NewLC(RInteger& aP, RInteger& aQ, 
+	RInteger& aG, RInteger& aX)
+	{
+	CDSAPrivateKey* self = NewL(aP, aQ, aG, aX);
+	CleanupStack::PushL(self);
+	return self;
+	}
+
+EXPORT_C const TInteger& CDSAPrivateKey::X(void) const
+	{
+	return iX;
+	}
+
+CDSAPrivateKey::CDSAPrivateKey(RInteger& aP, RInteger& aQ, RInteger& aG, 
+	RInteger& aX) : CDSAParameters(aP, aQ, aG), iX(aX)
+	{
+	}
+
+EXPORT_C CDSAPrivateKey::CDSAPrivateKey(void)
+	{
+	}
+
+EXPORT_C CDSAPrivateKey::~CDSAPrivateKey(void)
+	{
+	iX.Close();
+	}
+
+/* CDSAKeyPair */
+
+EXPORT_C CDSAKeyPair* CDSAKeyPair::NewL(TUint aKeyBits)
+	{
+	CDSAKeyPair* self = NewLC(aKeyBits);
+	CleanupStack::Pop();
+	return self;
+	}
+
+EXPORT_C CDSAKeyPair* CDSAKeyPair::NewLC(TUint aKeyBits)
+	{
+	CDSAKeyPair* self = new(ELeave) CDSAKeyPair();
+	CleanupStack::PushL(self);
+	self->ConstructL(aKeyBits);
+	return self;
+	}
+
+EXPORT_C const CDSAPublicKey& CDSAKeyPair::PublicKey(void) const
+	{
+	return *iPublic;
+	}
+	
+EXPORT_C const CDSAPrivateKey& CDSAKeyPair::PrivateKey(void) const
+	{
+	return *iPrivate;
+	}
+
+EXPORT_C CDSAKeyPair::~CDSAKeyPair(void) 
+	{
+	delete iPublic;
+	delete iPrivate;
+	delete iPrimeCertificate;
+	}
+
+EXPORT_C CDSAKeyPair::CDSAKeyPair(void) 
+	{
+	}
+
+EXPORT_C const CDSAPrimeCertificate& CDSAKeyPair::PrimeCertificate(void) const
+	{
+	return *iPrimeCertificate;
+	}
+
+void CDSAKeyPair::ConstructL(TUint aPBits)
+	{
+	//This is the first step of DSA prime generation.  The remaining steps are
+	//performed in CDSAParameters::GeneratePrimesL
+	//Step 1.  Choose an arbitrary sequence of at least 160 bits and call it
+	//SEED.  Let g be the length of SEED in bits.
+	TBuf8<SHASIZE> seed(SHASIZE); 
+	TUint c;
+	RInteger p;
+	RInteger q;
+	do 
+		{
+		GenerateRandomBytesL(seed);
+		}
+	while(!CDSAParameters::GeneratePrimesL(seed, c, p, aPBits, q));
+	//Double PushL will not fail as GeneratePrimesL uses the CleanupStack
+	//(at least one push and pop ;)
+	CleanupStack::PushL(p);
+	CleanupStack::PushL(q);
+	iPrimeCertificate = CDSAPrimeCertificate::NewL(seed, c);
+
+	CMontgomeryStructure* montP = CMontgomeryStructure::NewLC(p);
+
+	--p;
+
+	// e = (p-1)/q
+	RInteger e = p.DividedByL(q);
+	CleanupStack::PushL(e);
+
+	--p; //now it's p-2 :)
+
+	RInteger h;
+	const TInteger* g = 0;
+	do
+		{
+		// find a random h | 1 < h < p-1
+		h = RInteger::NewRandomL(TInteger::Two(), p);
+		CleanupStack::PushL(h);
+		// g = h^e mod p
+		g = &(montP->ExponentiateL(h, e));
+		CleanupStack::PopAndDestroy(&h); 
+		}
+	while( *g <= TInteger::One() );
+	CleanupStack::PopAndDestroy(&e);
+
+	++p; //reincrement p to original value
+	++p;
+
+	RInteger g1 = RInteger::NewL(*g); //take a copy of montP's g
+	CleanupStack::PushL(g1);
+	RInteger p1 = RInteger::NewL(p);
+	CleanupStack::PushL(p1);
+	RInteger q1 = RInteger::NewL(q);
+	CleanupStack::PushL(q1);
+	
+	--q;
+	// select random x | 0 < x < q
+	RInteger x = RInteger::NewRandomL(TInteger::One(), q);
+	CleanupStack::PushL(x);
+	++q;
+
+	iPrivate = CDSAPrivateKey::NewL(p1, q1, g1, x);
+	CleanupStack::Pop(4, &g1); //x,q1,p1,g1 -- all owned by iPrivate
+	
+	RInteger y = RInteger::NewL(montP->ExponentiateL(*g, iPrivate->X()));
+	CleanupStack::PushL(y);
+	RInteger g2 = RInteger::NewL(iPrivate->G());
+	CleanupStack::PushL(g2);
+	iPublic = CDSAPublicKey::NewL(p, q, g2, y);
+	CleanupStack::Pop(2, &y); //g2, y 
+	CleanupStack::PopAndDestroy(montP);
+	CleanupStack::Pop(2, &p); //q, p
+	}
+
+
+/* CDSAPrimeCertificate */
+
+EXPORT_C CDSAPrimeCertificate* CDSAPrimeCertificate::NewL(const TDesC8& aSeed,
+	TUint aCounter)
+	{
+	CDSAPrimeCertificate* self = NewLC(aSeed, aCounter);
+	CleanupStack::Pop();
+	return self;
+	}
+
+EXPORT_C CDSAPrimeCertificate* CDSAPrimeCertificate::NewLC(const TDesC8& aSeed,
+	TUint aCounter)
+	{
+	CDSAPrimeCertificate* self = new(ELeave) CDSAPrimeCertificate(aCounter);
+	CleanupStack::PushL(self);
+	self->ConstructL(aSeed);
+	return self;
+	}
+
+EXPORT_C const TDesC8& CDSAPrimeCertificate::Seed(void) const
+	{
+	return *iSeed;
+	}
+
+EXPORT_C TUint CDSAPrimeCertificate::Counter(void) const
+	{
+	return iCounter;
+	}
+
+EXPORT_C CDSAPrimeCertificate::~CDSAPrimeCertificate(void) 
+	{
+	delete const_cast<HBufC8*>(iSeed);
+	}
+
+void CDSAPrimeCertificate::ConstructL(const TDesC8& aSeed)
+	{
+	iSeed = aSeed.AllocL();
+	}
+
+EXPORT_C CDSAPrimeCertificate::CDSAPrimeCertificate(TUint aCounter) 
+	: iCounter(aCounter)
+	{
+	}
+
+EXPORT_C CDSAPrimeCertificate::CDSAPrimeCertificate(void) 
+	{
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/asymmetric/dsasigner.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,92 @@
+/*
+* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include <asymmetric.h>
+
+EXPORT_C CDSASigner* CDSASigner::NewL(const CDSAPrivateKey& aKey)
+	{
+	CDSASigner* self = new(ELeave) CDSASigner(aKey);
+	return self;
+	}
+
+EXPORT_C CDSASigner* CDSASigner::NewLC(const CDSAPrivateKey& aKey) 
+	{
+	CDSASigner* self = NewL(aKey); 
+	CleanupStack::PushL(self);
+	return self;
+	}
+
+TInt CDSASigner::MaxInputLength(void) const
+	{
+	return SHA1_HASH;  // from hash.h
+	}
+
+CDSASignature* CDSASigner::SignL(const TDesC8& aInput) const
+	{
+	//see HAC 11.56 or DSS section 5
+	//I'll follow HAC as I like its description better
+	//We don't check that r and s are non both non-null like the DSS
+	//states you _optionally_ can.  The chances of this are _incredibly_ small.
+	//You've got a much better chance of a bit failure ocurring in the hardware
+	//than this.
+
+	// a) Select a random secret integer (k | 0 < k < q)
+	RInteger qminus1 = RInteger::NewL(iPrivateKey.Q());
+	CleanupStack::PushL(qminus1);
+	--qminus1;
+	RInteger k = RInteger::NewRandomL(TInteger::One(), qminus1);
+	CleanupStack::PopAndDestroy(&qminus1);
+	CleanupStack::PushL(k);
+
+	// b) compute r = (g^k mod p) mod q
+	RInteger r = TInteger::ModularExponentiateL(iPrivateKey.G(), k, 	
+		iPrivateKey.P());
+	CleanupStack::PushL(r);
+	r %= iPrivateKey.Q();
+
+	// c) compute k^(-1) mod q 
+	RInteger kinv = k.InverseModL(iPrivateKey.Q());
+	CleanupStack::PushL(kinv);
+
+	// d) compute s = k^(-1) * {h(m) + xr} mod q
+	// Note that in order to be interoperable, compliant with the DSS, and
+	// secure, aInput must be the result of a SHA-1 hash
+	RInteger hm = RInteger::NewL(aInput);
+	CleanupStack::PushL(hm);
+	
+	RInteger s = iPrivateKey.X().TimesL(r);
+	CleanupStack::PushL(s);
+	s += hm;
+	s *= kinv;
+	s %= iPrivateKey.Q();
+
+	// e) signature for m is the pair (r,s)
+	CDSASignature* signature = CDSASignature::NewL(r, s);//transfers ownership
+	CleanupStack::Pop(&s);
+	CleanupStack::PopAndDestroy(&hm);
+	CleanupStack::PopAndDestroy(&kinv);
+	CleanupStack::Pop(&r);
+	CleanupStack::PopAndDestroy(&k);	
+	return signature;
+	}
+
+CDSASigner::CDSASigner(const CDSAPrivateKey& aKey) 
+	: iPrivateKey(aKey)
+	{
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/asymmetric/dsaverifier.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,109 @@
+/*
+* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include <asymmetric.h>
+#include <asymmetrickeys.h>
+#include <bigint.h>
+
+EXPORT_C CDSAVerifier* CDSAVerifier::NewL(const CDSAPublicKey& aKey)
+	{
+	CDSAVerifier* self = new(ELeave)CDSAVerifier(aKey);
+	return self;
+	}
+
+EXPORT_C CDSAVerifier* CDSAVerifier::NewLC(const CDSAPublicKey& aKey)
+	{
+	CDSAVerifier* self = NewL(aKey);
+	CleanupStack::PushL(self);
+	return self;
+	}
+
+TInt CDSAVerifier::MaxInputLength(void) const
+	{
+	// return CSHA1::DIGESTBYTES
+	return 160;
+	}
+
+TBool CDSAVerifier::VerifyL(const TDesC8& aInput, 
+	const CDSASignature& aSignature) const
+	{
+	//see HAC 11.56 or DSS section 6
+	//I'll follow HAC as I like the description better
+
+	// a) Obtain A's authenticate public key
+
+	// b) Verify that 0 < r < q and 0 < s < q; if not reject signature
+	if (aSignature.R() <= 0 || aSignature.R() >= iPublicKey.Q())
+		{
+		return EFalse;
+		}
+	if (aSignature.S() <= 0 || aSignature.S() >= iPublicKey.Q())
+		{
+		return EFalse;
+		}
+
+	TBool result = EFalse;
+
+	// c) Compute w = s^(-1) mod q and h(m)
+	RInteger w = aSignature.S().InverseModL(iPublicKey.Q());
+	CleanupStack::PushL(w);
+	// Note that in order to be interoperable, compliant with the DSS, and
+	// secure, aInput must be the result of a SHA-1 hash
+	RInteger hm = RInteger::NewL(aInput);
+	CleanupStack::PushL(hm);
+
+	// d) Compute u1 = w * hm mod q and u2 = r * w mod q
+	RInteger u1 = TInteger::ModularMultiplyL(w, hm, iPublicKey.Q());
+	CleanupStack::PushL(u1);
+
+	RInteger u2 = TInteger::ModularMultiplyL(aSignature.R(), w, iPublicKey.Q());
+	CleanupStack::PushL(u2);
+
+	// e) Compute v = ((g^u1 * y^u2) mod p) mod q
+	RInteger temp = TInteger::ModularExponentiateL(iPublicKey.G(), u1,
+		iPublicKey.P());
+	CleanupStack::PushL(temp);
+	RInteger temp1 = TInteger::ModularExponentiateL(iPublicKey.Y(), u2,
+		iPublicKey.P());
+	CleanupStack::PushL(temp1);
+	RInteger v = TInteger::ModularMultiplyL(temp, temp1, iPublicKey.P());
+	CleanupStack::PushL(v);
+	v %= iPublicKey.Q();
+
+	// f) Accept the signature iff v == r
+	if(v == aSignature.R())
+		{
+		result = ETrue;
+		}
+
+	CleanupStack::PopAndDestroy(&v);
+	CleanupStack::PopAndDestroy(&temp1);
+	CleanupStack::PopAndDestroy(&temp);
+	CleanupStack::PopAndDestroy(&u2);
+	CleanupStack::PopAndDestroy(&u1);
+	CleanupStack::PopAndDestroy(&hm);
+	CleanupStack::PopAndDestroy(&w); 
+
+	return result;	
+	}
+
+CDSAVerifier::CDSAVerifier(const CDSAPublicKey& aKey)  
+	: iPublicKey(aKey)
+	{
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/asymmetric/rsadecryptor.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,98 @@
+/*
+* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include <asymmetric.h>
+#include <asymmetrickeys.h>
+#include <bigint.h>
+#include <cryptostrength.h>
+#include <securityerr.h>
+#include <cryptopanic.h>
+#include "rsafunction.h"
+
+/* CRSAPKCS1v15Decryptor */
+
+EXPORT_C CRSAPKCS1v15Decryptor* CRSAPKCS1v15Decryptor::NewL(
+	const CRSAPrivateKey& aKey)
+	{
+	CRSAPKCS1v15Decryptor* self = NewLC(aKey);
+	CleanupStack::Pop(self);
+	return self;
+	}
+
+EXPORT_C CRSAPKCS1v15Decryptor* CRSAPKCS1v15Decryptor::NewLC(
+	const CRSAPrivateKey& aKey)
+	{
+	CRSAPKCS1v15Decryptor* self = new(ELeave) CRSAPKCS1v15Decryptor(aKey);
+	CleanupStack::PushL(self);
+	self->ConstructL();
+	return self;
+	}
+
+TInt CRSAPKCS1v15Decryptor::MaxInputLength(void) const
+	{
+	return iPrivateKey.N().ByteCount();
+	}
+
+TInt CRSAPKCS1v15Decryptor::MaxOutputLength(void) const
+	{
+	return MaxInputLength() - iPadding->MinPaddingLength();
+	}
+
+void CRSAPKCS1v15Decryptor::DecryptL(const TDesC8& aInput, 
+	TDes8& aOutput)const
+	{
+	__ASSERT_DEBUG(aOutput.MaxLength() >= MaxOutputLength(), User::Panic(KCryptoPanic, ECryptoPanicOutputDescriptorOverflow));
+	__ASSERT_DEBUG(aInput.Length() <= MaxInputLength(), User::Panic(KCryptoPanic, ECryptoPanicInputTooLarge));
+
+	RInteger input = RInteger::NewL(aInput);
+	CleanupStack::PushL(input);
+
+	RInteger output;
+
+	RSAFunction::DecryptL(iPrivateKey, input, output);
+	CleanupStack::PushL(output);
+
+    TPtrC8 ptr = *(output.BufferLC());
+    iPadding->UnPadL(ptr, aOutput);
+
+    CleanupStack::PopAndDestroy(3, &input); //BufferLC(), output, input
+	}
+
+CRSAPKCS1v15Decryptor::CRSAPKCS1v15Decryptor(const CRSAPrivateKey& aKey)  
+	: iPrivateKey(aKey)
+	{
+	}
+
+void CRSAPKCS1v15Decryptor::ConstructL(void)  
+	{
+	iPadding = CPaddingPKCS1Encryption::NewL(MaxInputLength());
+
+	// Check if MaxInputLength() makes sense, if not the key length must 
+	// be too small
+	if(MaxOutputLength() <= 0)
+		{
+		User::Leave(KErrKeySize);
+		}
+
+	TCrypto::IsAsymmetricWeakEnoughL(iPrivateKey.N().BitCount());
+	}
+
+CRSAPKCS1v15Decryptor::~CRSAPKCS1v15Decryptor(void)  
+	{
+	delete iPadding;
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/asymmetric/rsaencryptor.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,97 @@
+/*
+* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include <asymmetric.h>
+#include <asymmetrickeys.h>
+#include <bigint.h>
+#include <padding.h>
+#include <cryptostrength.h>
+#include <securityerr.h>
+#include <cryptopanic.h>
+#include "rsafunction.h"
+
+
+EXPORT_C CRSAPKCS1v15Encryptor* CRSAPKCS1v15Encryptor::NewL( 
+	const CRSAPublicKey& aKey)
+	{
+	CRSAPKCS1v15Encryptor* self = NewLC(aKey);
+	CleanupStack::Pop(self);
+	return self;
+	}
+
+EXPORT_C CRSAPKCS1v15Encryptor* CRSAPKCS1v15Encryptor::NewLC(
+	const CRSAPublicKey& aKey)
+	{
+	CRSAPKCS1v15Encryptor* self = new(ELeave) CRSAPKCS1v15Encryptor(aKey);
+	CleanupStack::PushL(self);
+	self->ConstructL();
+	return self;
+	}
+
+TInt CRSAPKCS1v15Encryptor::MaxInputLength(void) const
+	{
+	return MaxOutputLength() - iPadding->MinPaddingLength();
+	}
+
+TInt CRSAPKCS1v15Encryptor::MaxOutputLength() const
+	{
+	return iPublicKey.N().ByteCount();	
+	}
+
+void CRSAPKCS1v15Encryptor::EncryptL(const TDesC8& aInput, TDes8& aOutput)const
+	{
+	__ASSERT_DEBUG(aOutput.MaxLength() >= MaxOutputLength(), User::Panic(KCryptoPanic, ECryptoPanicOutputDescriptorOverflow));
+	__ASSERT_DEBUG(aInput.Length() <= MaxInputLength(), User::Panic(KCryptoPanic, ECryptoPanicInputTooLarge));
+
+	HBufC8* buf = HBufC8::NewLC(MaxOutputLength());
+	TPtr8 ptr = buf->Des();
+	
+	iPadding->DoPadL(aInput, ptr);
+	RInteger input = RInteger::NewL(ptr);
+	CleanupStack::PushL(input);
+	
+	RInteger output;
+	RSAFunction::EncryptL(iPublicKey, input, output);
+	CleanupStack::PushL(output);
+
+	aOutput.Append(*(output.BufferLC()));
+	CleanupStack::PopAndDestroy(4, buf); //BufferLC, output, input, buf
+	}
+
+CRSAPKCS1v15Encryptor::CRSAPKCS1v15Encryptor(const CRSAPublicKey& aKey) 
+	: iPublicKey(aKey)
+	{
+	}
+
+void CRSAPKCS1v15Encryptor::ConstructL(void)
+	{
+	iPadding = CPaddingPKCS1Encryption::NewL(MaxOutputLength());
+
+	// Check if MaxInputLength() makes sense, if not the key length must 
+	// be too small
+	if(MaxInputLength() <= 0)
+		{
+		User::Leave(KErrKeySize);
+		}
+	TCrypto::IsAsymmetricWeakEnoughL(iPublicKey.N().BitCount());
+	}
+
+CRSAPKCS1v15Encryptor::~CRSAPKCS1v15Encryptor(void)
+	{
+	delete iPadding;
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/asymmetric/rsafunction.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,131 @@
+/*
+* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include <bigint.h>
+#include <asymmetrickeys.h>
+#include "rsafunction.h"
+#include "../bigint/mont.h"
+
+//Public Encrypt
+void RSAFunction::EncryptL(const CRSAPublicKey& aPublicKey, 
+	const TInteger& aInput, RInteger& aOutput)
+	{
+	FunctionL(aPublicKey.N(), aPublicKey.E(), aInput, aOutput);
+	}
+
+//Private Decrypt
+void RSAFunction::DecryptL(const CRSAPrivateKey& aPrivateKey, 
+							const TInteger& aInput, RInteger& aOutput)
+	{
+	if (aPrivateKey.PrivateKeyType()==EStandard)
+		{
+		const CRSAPrivateKeyStandard* stdKey = 
+			static_cast<const CRSAPrivateKeyStandard*>(&aPrivateKey);
+		FunctionL(aPrivateKey.N(), stdKey->D(), aInput, aOutput);
+		}
+	else if (aPrivateKey.PrivateKeyType()==EStandardCRT)
+		{
+		FunctionCRTL(static_cast<const CRSAPrivateKeyCRT&>(aPrivateKey), aInput, 
+			aOutput);
+		}
+	else
+		{
+		User::Leave(KErrNotSupported);
+		}
+	}
+
+//Private Encrypt
+void RSAFunction::SignL(const CRSAPrivateKey& aPrivateKey, 
+	const TInteger& aInput, RInteger& aOutput)
+	{
+	if (aPrivateKey.PrivateKeyType()==EStandard)
+		{
+		const CRSAPrivateKeyStandard* stdKey = 
+			static_cast<const CRSAPrivateKeyStandard*>(&aPrivateKey);
+		FunctionL(aPrivateKey.N(), stdKey->D(), aInput, aOutput);
+		}
+	else if (aPrivateKey.PrivateKeyType()==EStandardCRT)
+		{
+		FunctionCRTL(static_cast<const CRSAPrivateKeyCRT&>(aPrivateKey), aInput, 
+			aOutput);
+		}
+	else
+	{
+		User::Leave(KErrNotSupported);
+	}
+}
+
+//Public Decrypt
+void RSAFunction::VerifyL(const CRSAPublicKey& aPublicKey,
+	const TInteger& aInput, RInteger& aOutput)
+	{
+	FunctionL(aPublicKey.N(), aPublicKey.E(), aInput, aOutput);
+	}
+	
+//The RSA Trapdoor Function
+void RSAFunction::FunctionL(const TInteger& aModulus, const TInteger& aExponent, 
+							 const TInteger& aBase, RInteger& aOutput)
+	{
+	IsInputValidL(aBase, aModulus);
+
+	aOutput = TInteger::ModularExponentiateL(aBase, aExponent, aModulus);
+	}
+
+//The CRT version of the RSA Trapdoor Function
+void RSAFunction::FunctionCRTL(const CRSAPrivateKeyCRT& aPrivateKey,
+								const TInteger& aInput, RInteger& aOutput)
+	{
+	IsInputValidL(aInput, aPrivateKey.N());
+
+	CMontgomeryStructure* montP = CMontgomeryStructure::NewLC(aPrivateKey.P());
+	CMontgomeryStructure* montQ = CMontgomeryStructure::NewLC(aPrivateKey.Q());
+	
+	const TInteger& p = aPrivateKey.P();
+	const TInteger& q = aPrivateKey.Q();
+	const TInteger& u = aPrivateKey.QInv();
+
+	//m1 = c^(dP) mod(p)
+	RInteger inputReduced = aInput.ModuloL(aPrivateKey.P());
+	CleanupStack::PushL(inputReduced);
+	const TInteger& m1 = montP->ExponentiateL(inputReduced, aPrivateKey.DP());
+	CleanupStack::PopAndDestroy(&inputReduced);
+
+	//m2 = c^(dQ) mod(Q)
+	inputReduced = aInput.ModuloL(aPrivateKey.Q());
+	CleanupStack::PushL(inputReduced);
+	const TInteger& m2 = montQ->ExponentiateL(inputReduced, aPrivateKey.DQ());
+	CleanupStack::PopAndDestroy(&inputReduced);
+	
+	//Calculate CRT
+	//h = (m1-m2) qInv mod(p)
+	RInteger h = m1.MinusL(m2);
+	CleanupStack::PushL(h);
+	h *= u;
+	h %= p; 
+
+	//m = m2 + q * h	
+	h *= q;
+	h += m2;
+
+	aOutput = h;
+	CleanupStack::Pop(&h);
+
+	CleanupStack::PopAndDestroy(montQ);
+	CleanupStack::PopAndDestroy(montP);
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/asymmetric/rsafunction.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,86 @@
+/*
+* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* RSAFunction class implementation
+*
+*/
+
+
+/**
+ @file 
+ @internalTechnology
+*/
+ 
+#ifndef __RSAFUNCTION_H__
+#define __RSAFUNCTION_H__
+
+#include <e32base.h>
+
+class TInteger;
+
+class CRSAPublicKey;
+class CRSAPrivateKey;
+class CRSAPrivateKeyCRT;
+
+class RSAFunction
+	{
+public:
+	static inline TBool IsInputValid(const TInteger& aInput, 
+		const TInteger& aModulus);
+	static inline void IsInputValidL(const TInteger& aInput, 
+		const TInteger& aModulus);
+	static void EncryptL(const CRSAPublicKey& aPublicKey,
+		const TInteger& aInput, RInteger& aOutput);
+	static void DecryptL(const CRSAPrivateKey& aPrivateKey,
+		const TInteger& aInput, RInteger& aOutput);
+	static void SignL(const CRSAPrivateKey& aPrivateKey,
+		const TInteger& aInput, RInteger& aOutput);
+	static void VerifyL(const CRSAPublicKey& aPublicKey,
+		const TInteger& aInput, RInteger& aOutput);
+private:
+	static void FunctionL(const TInteger& aModulus, const TInteger& aExponent,
+		const TInteger& aBase, RInteger& aOutput);
+	static void FunctionCRTL(const CRSAPrivateKeyCRT& aPrivateKey,
+		const TInteger& aInput, RInteger& aOutput);
+private:
+	RSAFunction(void);
+	};
+
+/** Computes whether a given message representative is within the valid bounds
+ * for a given modulus, i.e. whether the message is representative within [0,n-1].
+ * @param aInput The message representative.
+ * @param aModulus The modulus.
+ * @return TBool representing whether or not the message representative is
+ * valid.
+ */
+TBool RSAFunction::IsInputValid(const TInteger& aInput, 
+	const TInteger& aModulus)
+	{
+	//See HAC 8.3 1.b
+	//Message (input) must be in the interval [0,n-1] (inclusive)
+	if( aInput.IsNegative() || aInput >= aModulus )
+		return EFalse;
+	else
+		return ETrue;
+	}
+
+void RSAFunction::IsInputValidL(const TInteger& aInput,
+	const TInteger& aModulus)
+	{
+	if(!IsInputValid(aInput, aModulus))
+		User::Leave(KErrArgument);
+	}
+
+#endif
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/asymmetric/rsakeys.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,395 @@
+/*
+* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include <asymmetrickeys.h>
+#include <bigint.h>
+#include "../common/inlines.h"
+
+const TUint KFermat4 = 65537;
+
+/* CRSAParameters */
+
+EXPORT_C const TInteger& CRSAParameters::N(void) const
+	{
+	return iN;
+	}
+
+EXPORT_C CRSAParameters::~CRSAParameters(void)
+	{
+	iN.Close();
+	}
+
+EXPORT_C CRSAParameters::CRSAParameters(RInteger& aN) : iN(aN)
+	{
+	}
+
+EXPORT_C CRSAParameters::CRSAParameters(void)
+	{
+	}
+
+/* CRSAPublicKey */
+
+EXPORT_C CRSAPublicKey* CRSAPublicKey::NewL(RInteger& aN, RInteger& aE)
+	{
+	CRSAPublicKey* self = NewLC(aN, aE);
+	CleanupStack::Pop();
+	return self;
+	}
+
+EXPORT_C CRSAPublicKey* CRSAPublicKey::NewLC(RInteger& aN, RInteger& aE)
+	{
+	CRSAPublicKey* self = new(ELeave) CRSAPublicKey(aN, aE);
+	CleanupStack::PushL(self);
+	self->ConstructL();
+	return self;
+	}
+
+
+void CRSAPublicKey::ConstructL()
+	{ 
+	// Check that the modulus and exponent are positive integers 
+	// as specified by RSA
+	if(!N().IsPositive() || !E().IsPositive() || (E() <= 1))
+		{
+		// If we need to leave during construction we must release ownership
+		// of the RInteger parameters that were passed in.
+		// These parameters should be on the cleanup stack so if we don't 
+		// release ownership they will be deleted twice, causing a panic
+		iN = RInteger();
+		iE = RInteger();
+		User::Leave(KErrArgument);
+		}
+	}
+
+
+EXPORT_C const TInteger& CRSAPublicKey::E(void) const
+	{
+	return iE;
+	}
+
+EXPORT_C CRSAPublicKey::CRSAPublicKey()
+	{
+	}
+
+EXPORT_C CRSAPublicKey::CRSAPublicKey(RInteger& aN, RInteger& aE)
+	: CRSAParameters(aN), iE(aE)
+	{
+	}
+
+EXPORT_C CRSAPublicKey::~CRSAPublicKey(void)
+	{
+	iE.Close();
+	}
+
+/* CRSAPrivateKeyType */
+
+CRSAPrivateKey::CRSAPrivateKey(const TRSAPrivateKeyType aKeyType, RInteger& aN)
+:	CRSAParameters(aN), iKeyType(aKeyType)
+{}
+
+
+/* CRSAPrivateKeyStandard */
+
+EXPORT_C CRSAPrivateKeyStandard* CRSAPrivateKeyStandard::NewL(RInteger& aN, 
+	RInteger& aD)
+	{
+	CRSAPrivateKeyStandard* self = NewLC(aN, aD);
+	CleanupStack::Pop();
+	return self;
+	}
+
+EXPORT_C CRSAPrivateKeyStandard* CRSAPrivateKeyStandard::NewLC(RInteger& aN,
+	RInteger& aD)
+	{
+	CRSAPrivateKeyStandard* self = new(ELeave) CRSAPrivateKeyStandard(aN, aD);
+	CleanupStack::PushL(self);
+	self->ConstructL();
+	return self;
+	}
+
+void CRSAPrivateKeyStandard::ConstructL()
+	{
+	// Check that the modulus and exponent are positive integers
+	if(!N().IsPositive() || !D().IsPositive() || (D() <= 1))
+		{
+		// If we need to leave during construction we must release ownership
+		// of the RInteger parameters that were passed in.
+		// These parameters should be on the cleanup stack so if we don't 
+		// release ownership they will be deleted twice, causing a panic
+		iN = RInteger();
+		iD = RInteger();
+		User::Leave(KErrArgument);
+		}
+	}
+
+EXPORT_C const TInteger& CRSAPrivateKeyStandard::D(void) const
+	{
+	return iD;
+	}
+
+EXPORT_C CRSAPrivateKeyStandard::CRSAPrivateKeyStandard(RInteger& aN, 
+	RInteger& aD) : CRSAPrivateKey(EStandard, aN), iD(aD)
+	{
+	}
+
+EXPORT_C CRSAPrivateKeyStandard::~CRSAPrivateKeyStandard()
+	{	
+	iD.Close();
+	}
+
+/* CRSAPrivateKeyCRT */
+
+EXPORT_C CRSAPrivateKeyCRT* CRSAPrivateKeyCRT::NewL(RInteger& aN, RInteger& aP,
+	RInteger& aQ, RInteger& aDP, RInteger& aDQ, RInteger& aQInv)
+	{
+	CRSAPrivateKeyCRT* self = NewLC(aN, aP, aQ, aDP, aDQ, aQInv);
+	CleanupStack::Pop();
+	return self;
+	}
+
+EXPORT_C CRSAPrivateKeyCRT* CRSAPrivateKeyCRT::NewLC(RInteger& aN, RInteger& aP, 
+	RInteger& aQ, RInteger& aDP, RInteger& aDQ, RInteger& aQInv)
+	{
+	CRSAPrivateKeyCRT* self = new(ELeave) CRSAPrivateKeyCRT(aN, aP, aQ, 
+		aDP, aDQ, aQInv);
+	CleanupStack::PushL(self);
+	self->ConstructL();
+	return self;
+	}
+
+EXPORT_C CRSAPrivateKeyCRT::CRSAPrivateKeyCRT(RInteger& aN, RInteger& aP, 
+	RInteger& aQ, RInteger& aDP, RInteger& aDQ, RInteger& aQInv) 
+	: CRSAPrivateKey(EStandardCRT, aN), iP(aP), iQ(aQ), iDP(aDP), iDQ(aDQ), 
+		iQInv(aQInv)
+	{
+	}
+
+void CRSAPrivateKeyCRT::ConstructL()
+	{
+	// Check that all parameters are positive integers
+	if(!P().IsPositive() || !Q().IsPositive() || !DP().IsPositive() 
+		|| !DQ().IsPositive() || !QInv().IsPositive())
+		{
+		// If we need to leave during construction we must release ownership
+		// of the RInteger parameters that were passed in.
+		// These parameters should be on the cleanup stack so if we don't 
+		// release ownership they will be deleted twice, causing a panic
+		iN = RInteger();
+		iP = RInteger();
+		iQ = RInteger();
+		iDP = RInteger();
+		iDQ = RInteger();
+		iQInv = RInteger();
+		User::Leave(KErrArgument);
+		}
+	}
+
+
+EXPORT_C CRSAPrivateKeyCRT::~CRSAPrivateKeyCRT()
+	{	
+	iP.Close();
+	iQ.Close();
+	iDP.Close();
+	iDQ.Close();
+	iQInv.Close();
+	}
+
+EXPORT_C const TInteger& CRSAPrivateKeyCRT::P(void) const
+	{
+	return iP;
+	}
+
+EXPORT_C const TInteger& CRSAPrivateKeyCRT::Q(void) const
+	{
+	return iQ;
+	}
+
+EXPORT_C const TInteger& CRSAPrivateKeyCRT::DP(void) const
+	{
+	return iDP;
+	}
+
+EXPORT_C const TInteger& CRSAPrivateKeyCRT::DQ(void) const
+	{
+	return iDQ;
+	}
+
+EXPORT_C const TInteger& CRSAPrivateKeyCRT::QInv(void) const
+	{
+	return iQInv;
+	}
+
+/* CRSAKeyPair */
+
+EXPORT_C CRSAKeyPair* CRSAKeyPair::NewL(TUint aModulusBits, 
+	TRSAPrivateKeyType aKeyType /*= EStandardCRT*/)
+	{
+	CRSAKeyPair* self = NewLC(aModulusBits, aKeyType);
+	CleanupStack::Pop();
+	return self;
+	}
+
+EXPORT_C CRSAKeyPair* CRSAKeyPair::NewLC(TUint aModulusBits, 
+	TRSAPrivateKeyType aKeyType /*= EStandardCRT*/)
+	{
+	CRSAKeyPair* self = new(ELeave) CRSAKeyPair();
+	CleanupStack::PushL(self);
+	self->ConstructL(aModulusBits, aKeyType, KFermat4);
+	return self;
+	}
+
+EXPORT_C const CRSAPublicKey& CRSAKeyPair::PublicKey(void) const
+	{
+	return *iPublic;
+	}
+	
+EXPORT_C const CRSAPrivateKey& CRSAKeyPair::PrivateKey(void) const
+	{
+	return *iPrivate;
+	}
+
+EXPORT_C CRSAKeyPair::~CRSAKeyPair(void) 
+	{
+	delete iPublic;
+	delete iPrivate;
+	}
+
+EXPORT_C CRSAKeyPair::CRSAKeyPair(void)
+	{
+	}
+
+void CRSAKeyPair::ConstructL(TUint aModulusBits, 
+	TRSAPrivateKeyType aKeyType, TUint aPublicExponent)
+	{
+	RInteger e = RInteger::NewL(aPublicExponent);
+	CleanupStack::PushL(e);
+
+	RInteger p;
+	RInteger q;
+	
+	//these make sure n is a least aModulusBits long
+    TInt pbits=(aModulusBits+1)/2;
+    TInt qbits=aModulusBits-pbits;
+
+	//generate a prime p such that GCD(e,p-1) == 1
+	for (;;)
+		{
+		p = RInteger::NewPrimeL(pbits,TInteger::ETop2BitsSet);
+		CleanupStack::PushL(p);
+		--p;
+
+		RInteger gcd = e.GCDL(p);
+		if( gcd == 1 )
+			{
+			++p;
+			gcd.Close();
+			//p is still on cleanup stack
+			break;
+			}
+		CleanupStack::PopAndDestroy(&p);
+		gcd.Close();
+		}
+
+	//generate a prime q such that GCD(e,q-1) == 1 && (p != q)
+	for (;;)
+		{
+		q = RInteger::NewPrimeL(qbits,TInteger::ETop2BitsSet);
+		CleanupStack::PushL(q);
+		--q;
+
+		RInteger gcd = e.GCDL(q);
+		if( gcd == 1 )
+			{
+			++q;
+			if( p != q )
+				{
+				gcd.Close();
+				//q is still on cleanup stack
+				break;
+				}
+			}
+		CleanupStack::PopAndDestroy(&q);
+		gcd.Close();
+		}
+		
+	//make sure p > q
+    if ( p < q)
+        {
+		TClassSwap(p,q);
+        }
+
+	//calculate n = p * q 
+	RInteger n = p.TimesL(q);
+	CleanupStack::PushL(n);
+
+	--p;
+	--q;
+
+	//temp = (p-1)(q-1)
+	RInteger temp = p.TimesL(q);
+	CleanupStack::PushL(temp);
+
+	//e * d = 1 mod ((p-1)(q-1)) 
+	//d = e^(-1) mod ((p-1)(q-1))
+	RInteger d = e.InverseModL(temp);
+	CleanupStack::PopAndDestroy(&temp); //temp
+	CleanupStack::PushL(d);
+
+	if (aKeyType==EStandardCRT)
+	{
+		//calculate dP = d mod (p-1) 
+		RInteger dP = d.ModuloL(p); //p is still p-1
+		CleanupStack::PushL(dP);
+
+		//calculate dQ = d mod (q-1) 
+		RInteger dQ = d.ModuloL(q); //q is still q-1
+		CleanupStack::PushL(dQ);
+
+		++p;
+		++q;
+		//calculate inverse of qInv = q^(-1)mod(p)
+		RInteger qInv = q.InverseModL(p);
+		CleanupStack::PushL(qInv);
+
+		iPrivate = CRSAPrivateKeyCRT::NewL(n,p,q,dP,dQ,qInv);
+		
+		CleanupStack::Pop(3, &dP); //qInv, dQ, dP
+		CleanupStack::PopAndDestroy(&d); //d	
+		CleanupStack::Pop(3, &p); //n, q, p
+		//e is still on cleanup stack
+	}
+	else if (aKeyType==EStandard)
+	{
+		iPrivate = CRSAPrivateKeyStandard::NewL(n,d);
+
+		CleanupStack::Pop(2, &n); //d, n
+		CleanupStack::PopAndDestroy(2, &p); //q, p
+		//e is still on cleanup stack
+	}
+	else
+	{
+		User::Leave(KErrNotSupported);
+	}
+
+	//make a copy of n for the public parameters
+	RInteger n1 = RInteger::NewL(PrivateKey().N());
+	CleanupStack::PushL(n1);
+	iPublic = CRSAPublicKey::NewL(n1,e); 
+	CleanupStack::Pop(2, &e); //n1, e
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/asymmetric/rsasigner.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,105 @@
+/*
+* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include <asymmetric.h>
+#include <asymmetrickeys.h>
+#include <bigint.h>
+#include <securityerr.h>
+#include "rsafunction.h"
+
+/* CRSASigner */
+
+EXPORT_C CRSASigner::CRSASigner(void)
+	{
+	}
+
+/* CRSAPKCS1v15Signer */
+EXPORT_C CRSAPKCS1v15Signer* CRSAPKCS1v15Signer::NewL(
+	const CRSAPrivateKey& aKey)
+	{
+	CRSAPKCS1v15Signer* self = NewLC(aKey);
+	CleanupStack::Pop(self);
+	return self;
+	}
+
+EXPORT_C CRSAPKCS1v15Signer* CRSAPKCS1v15Signer::NewLC(
+	const CRSAPrivateKey& aKey)
+	{
+	CRSAPKCS1v15Signer* self = new(ELeave) CRSAPKCS1v15Signer(aKey);
+	CleanupStack::PushL(self);
+	self->ConstructL();
+	return self;
+	}
+
+TInt CRSAPKCS1v15Signer::MaxInputLength(void) const
+	{
+	return MaxOutputLength() - iPadding->MinPaddingLength();	
+	}
+
+TInt CRSAPKCS1v15Signer::MaxOutputLength(void) const
+	{
+	return iPrivateKey.N().ByteCount();	
+	}
+
+CRSASignature* CRSAPKCS1v15Signer::SignL(const TDesC8& aInput) const
+	{
+	HBufC8* buf = HBufC8::NewMaxLC(MaxOutputLength());
+	TPtr8 ptr = buf->Des();
+
+	ptr.SetLength(aInput.Length());
+
+	//The following will panic if aInput is larger than MaxOutputLength() It is
+	//likely that the caller has passed in something that has not been hashed.
+	//This is a programming, and likely a security error, in client code, not a
+	//problem here.
+	iPadding->PadL(aInput, ptr);
+
+	RInteger input = RInteger::NewL(ptr);
+	CleanupStack::PushL(input);
+	RInteger output;
+
+	RSAFunction::SignL(iPrivateKey, input, output);
+	CleanupStack::PushL(output);
+
+	CRSASignature* signature = CRSASignature::NewL(output);
+	CleanupStack::Pop(&output); //output, now owned by CRSASignature
+	CleanupStack::PopAndDestroy(2, buf); //input, buf
+	return signature;
+	}
+
+CRSAPKCS1v15Signer::CRSAPKCS1v15Signer(const CRSAPrivateKey& aKey)  
+	: iPrivateKey(aKey)
+	{
+	}
+
+void CRSAPKCS1v15Signer::ConstructL(void)  
+	{
+	iPadding = CPaddingPKCS1Signature::NewL(MaxOutputLength());
+
+	// Check if MaxInputLength() makes sense, if not the key length must 
+	// be too small
+	if(MaxInputLength() <= 0)
+		{
+		User::Leave(KErrKeySize);
+		}
+	}
+
+CRSAPKCS1v15Signer::~CRSAPKCS1v15Signer(void)  
+	{
+	delete iPadding;
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/asymmetric/rsaverifier.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,114 @@
+/*
+* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include <asymmetric.h>
+#include <asymmetrickeys.h>
+#include <bigint.h>
+#include <securityerr.h>
+#include "rsafunction.h"
+
+/* CRSAVerifier */
+
+EXPORT_C CRSAVerifier::CRSAVerifier(void)
+	{
+	}
+
+EXPORT_C TBool CRSAVerifier::VerifyL(const TDesC8& aInput, 
+	const CRSASignature& aSignature) const
+	{
+	TBool retval = EFalse;
+	HBufC8* inverseSign = InverseSignLC(aSignature);
+	
+	if (inverseSign->Compare(aInput)==0)
+		{
+		retval = ETrue;
+		}
+	CleanupStack::PopAndDestroy(inverseSign);
+	return retval;	
+	}
+
+/* CRSAPKCS1v15Verifier */
+EXPORT_C CRSAPKCS1v15Verifier* CRSAPKCS1v15Verifier::NewL( 
+	const CRSAPublicKey& aKey)
+	{
+	CRSAPKCS1v15Verifier* self = NewLC(aKey);
+	CleanupStack::Pop();
+	return self;
+	}
+
+EXPORT_C CRSAPKCS1v15Verifier* CRSAPKCS1v15Verifier::NewLC(
+	const CRSAPublicKey& aKey)
+	{
+	CRSAPKCS1v15Verifier* self = new(ELeave) CRSAPKCS1v15Verifier(aKey);
+	CleanupStack::PushL(self);
+	self->ConstructL();
+	return self;
+	}
+
+TInt CRSAPKCS1v15Verifier::MaxInputLength(void) const
+	{
+	return MaxOutputLength() - iPadding->MinPaddingLength();	
+	}
+
+TInt CRSAPKCS1v15Verifier::MaxOutputLength(void) const
+	{
+	return iPublicKey.N().ByteCount();
+	}
+
+HBufC8* CRSAPKCS1v15Verifier::InverseSignLC(
+	const CRSASignature& aSignature) const
+	{
+	HBufC8* unpaddedBuf = HBufC8::NewMaxLC(MaxOutputLength());
+	TPtr8 unpaddedHash = unpaddedBuf->Des();
+
+	RInteger input = RInteger::NewL(aSignature.S());
+	CleanupStack::PushL(input);
+	RInteger output;
+
+	RSAFunction::VerifyL(iPublicKey, input, output);
+	CleanupStack::PushL(output);
+
+	TPtrC8 paddedHashPtr = *(output.BufferLC());
+	
+	iPadding->UnPadL(paddedHashPtr, unpaddedHash);
+	CleanupStack::PopAndDestroy(3, &input); //BufferLC, output, input
+	return unpaddedBuf;
+	}
+
+CRSAPKCS1v15Verifier::CRSAPKCS1v15Verifier(const CRSAPublicKey& aKey)
+	: iPublicKey(aKey)
+	{
+	}
+
+void CRSAPKCS1v15Verifier::ConstructL(void)
+	{
+	iPadding = CPaddingPKCS1Signature::NewL(MaxOutputLength());
+
+	// Check if MaxInputLength() makes sense, if not the key length must 
+	// be too small
+	if(MaxInputLength() <= 0)
+		{
+		User::Leave(KErrKeySize);
+		}
+	}
+
+CRSAPKCS1v15Verifier::~CRSAPKCS1v15Verifier(void)
+	{
+	delete iPadding;
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/bigint/algorithms.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,1160 @@
+/*
+* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include "words.h"
+#include "algorithms.h"
+
+word Add(word *C, const word *A, const word *B, unsigned int N)
+{
+	assert (N%2 == 0);
+	word carry = 0;
+	for (unsigned int i = 0; i < N; i+=2)
+	{
+		dword u = (dword) carry + A[i] + B[i];
+		C[i] = LOW_WORD(u);
+		u = (dword) HIGH_WORD(u) + A[i+1] + B[i+1];
+		C[i+1] = LOW_WORD(u);
+		carry = HIGH_WORD(u);
+	}
+	return carry;
+}
+
+word Subtract(word *C, const word *A, const word *B, unsigned int N)
+{
+	assert (N%2 == 0);
+	word borrow=0;
+	for (unsigned i = 0; i < N; i+=2)
+	{
+		dword u = (dword) A[i] - B[i] - borrow;
+		C[i] = LOW_WORD(u);
+		u = (dword) A[i+1] - B[i+1] - (word)(0-HIGH_WORD(u));
+		C[i+1] = LOW_WORD(u);
+		borrow = 0-HIGH_WORD(u);
+	}
+	return borrow;
+}
+
+int Compare(const word *A, const word *B, unsigned int N)
+{
+	while (N--)
+		if (A[N] > B[N])
+			return 1;
+		else if (A[N] < B[N])
+			return -1;
+
+	return 0;
+}
+
+// It is the job of the calling code to ensure that this won't carry.
+// If you aren't sure, use the next version that will tell you if you need to
+// grow your integer.
+// Having two of these creates ever so slightly more code but avoids having
+// ifdefs all over the rest of the code checking the following type stuff which
+// causes warnings in certain compilers about unused parameters in release
+// builds.  We can't have that can we!
+/*
+Allows avoid this all over bigint.cpp and primes.cpp
+ifdef _DEBUG
+	TUint carry = Increment(Ptr(), Size());
+	assert(!carry);
+else
+	Increment(Ptr(), Size())
+endif
+*/
+void IncrementNoCarry(word *A, unsigned int N, word B)
+{
+	assert(N);
+	word t = A[0];
+	A[0] = t+B;
+	if (A[0] >= t)
+		return;
+	for (unsigned i=1; i<N; i++)
+		if (++A[i])
+			return;
+	assert(0);
+}
+
+word Increment(word *A, unsigned int N, word B)
+{
+	assert(N);
+	word t = A[0];
+	A[0] = t+B;
+	if (A[0] >= t)
+		return 0;
+	for (unsigned i=1; i<N; i++)
+		if (++A[i])
+			return 0;
+	return 1;
+}
+
+//See commments above about IncrementNoCarry
+void DecrementNoCarry(word *A, unsigned int N, word B)
+{
+	assert(N);
+	word t = A[0];
+	A[0] = t-B;
+	if (A[0] <= t)
+		return;
+	for (unsigned i=1; i<N; i++)
+		if (A[i]--)
+			return;
+	assert(0);
+}
+
+word Decrement(word *A, unsigned int N, word B)
+{
+	assert(N);
+	word t = A[0];
+	A[0] = t-B;
+	if (A[0] <= t)
+		return 0;
+	for (unsigned i=1; i<N; i++)
+		if (A[i]--)
+			return 0;
+	return 1;
+}
+
+void TwosComplement(word *A, unsigned int N)
+{
+	Decrement(A, N);
+	for (unsigned i=0; i<N; i++)
+		A[i] = ~A[i];
+}
+
+static word LinearMultiply(word *C, const word *A, word B, unsigned int N)
+{
+	word carry=0;
+	for(unsigned i=0; i<N; i++)
+	{
+		dword p = (dword)A[i] * B + carry;
+		C[i] = LOW_WORD(p);
+		carry = HIGH_WORD(p);
+	}
+	return carry;
+}
+
+static void AtomicMultiply(word *C, const word *A, const word *B)
+{
+/*
+	word s;
+	dword d;
+
+	if (A1 >= A0)
+		if (B0 >= B1)
+		{
+			s = 0;
+			d = (dword)(A1-A0)*(B0-B1);
+		}
+		else
+		{
+			s = (A1-A0);
+			d = (dword)s*(word)(B0-B1);
+		}
+	else
+		if (B0 > B1)
+		{
+			s = (B0-B1);
+			d = (word)(A1-A0)*(dword)s;
+		}
+		else
+		{
+			s = 0;
+			d = (dword)(A0-A1)*(B1-B0);
+		}
+*/
+	// this segment is the branchless equivalent of above
+	word D[4] = {A[1]-A[0], A[0]-A[1], B[0]-B[1], B[1]-B[0]};
+	unsigned int ai = A[1] < A[0];
+	unsigned int bi = B[0] < B[1];
+	unsigned int di = ai & bi;
+	dword d = (dword)D[di]*D[di+2];
+	D[1] = D[3] = 0;
+	unsigned int si = ai + !bi;
+	word s = D[si];
+
+	dword A0B0 = (dword)A[0]*B[0];
+	C[0] = LOW_WORD(A0B0);
+
+	dword A1B1 = (dword)A[1]*B[1];
+	dword t = (dword) HIGH_WORD(A0B0) + LOW_WORD(A0B0) + LOW_WORD(d) + LOW_WORD(A1B1);
+	C[1] = LOW_WORD(t);
+
+	t = A1B1 + HIGH_WORD(t) + HIGH_WORD(A0B0) + HIGH_WORD(d) + HIGH_WORD(A1B1) - s;
+	C[2] = LOW_WORD(t);
+	C[3] = HIGH_WORD(t);
+}
+
+static word AtomicMultiplyAdd(word *C, const word *A, const word *B)
+{
+	word D[4] = {A[1]-A[0], A[0]-A[1], B[0]-B[1], B[1]-B[0]};
+	unsigned int ai = A[1] < A[0];
+	unsigned int bi = B[0] < B[1];
+	unsigned int di = ai & bi;
+	dword d = (dword)D[di]*D[di+2];
+	D[1] = D[3] = 0;
+	unsigned int si = ai + !bi;
+	word s = D[si];
+
+	dword A0B0 = (dword)A[0]*B[0];
+	dword t = A0B0 + C[0];
+	C[0] = LOW_WORD(t);
+
+	dword A1B1 = (dword)A[1]*B[1];
+	t = (dword) HIGH_WORD(t) + LOW_WORD(A0B0) + LOW_WORD(d) + LOW_WORD(A1B1) + C[1];
+	C[1] = LOW_WORD(t);
+
+	t = (dword) HIGH_WORD(t) + LOW_WORD(A1B1) + HIGH_WORD(A0B0) + HIGH_WORD(d) + HIGH_WORD(A1B1) - s + C[2];
+	C[2] = LOW_WORD(t);
+
+	t = (dword) HIGH_WORD(t) + HIGH_WORD(A1B1) + C[3];
+	C[3] = LOW_WORD(t);
+	return HIGH_WORD(t);
+}
+
+static inline void AtomicMultiplyBottom(word *C, const word *A, const word *B)
+{
+	dword t = (dword)A[0]*B[0];
+	C[0] = LOW_WORD(t);
+	C[1] = HIGH_WORD(t) + A[0]*B[1] + A[1]*B[0];
+}
+
+#define MulAcc(x, y)								\
+	p = (dword)A[x] * B[y] + c; 					\
+	c = LOW_WORD(p);								\
+	p = (dword)d + HIGH_WORD(p);					\
+	d = LOW_WORD(p);								\
+	e += HIGH_WORD(p);
+
+#define SaveMulAcc(s, x, y) 						\
+	R[s] = c;										\
+	p = (dword)A[x] * B[y] + d; 					\
+	c = LOW_WORD(p);								\
+	p = (dword)e + HIGH_WORD(p);					\
+	d = LOW_WORD(p);								\
+	e = HIGH_WORD(p);
+
+#define MulAcc1(x, y)								\
+	p = (dword)A[x] * A[y] + c; 					\
+	c = LOW_WORD(p);								\
+	p = (dword)d + HIGH_WORD(p);					\
+	d = LOW_WORD(p);								\
+	e += HIGH_WORD(p);
+
+#define SaveMulAcc1(s, x, y) 						\
+	R[s] = c;										\
+	p = (dword)A[x] * A[y] + d; 					\
+	c = LOW_WORD(p);								\
+	p = (dword)e + HIGH_WORD(p);					\
+	d = LOW_WORD(p);								\
+	e = HIGH_WORD(p);
+
+#define SquAcc(x, y)								\
+	p = (dword)A[x] * A[y];	\
+	p = p + p + c; 					\
+	c = LOW_WORD(p);								\
+	p = (dword)d + HIGH_WORD(p);					\
+	d = LOW_WORD(p);								\
+	e += HIGH_WORD(p);
+
+#define SaveSquAcc(s, x, y) 						\
+	R[s] = c;										\
+	p = (dword)A[x] * A[y];	\
+	p = p + p + d; 					\
+	c = LOW_WORD(p);								\
+	p = (dword)e + HIGH_WORD(p);					\
+	d = LOW_WORD(p);								\
+	e = HIGH_WORD(p);
+
+// VC60 workaround: MSVC 6.0 has an optimization problem that makes
+// (dword)A*B where either A or B has been cast to a dword before
+// very expensive. Revisit a CombaSquare4() function when this
+// problem is fixed.               
+
+// WARNING: KeithR.  05/08/03 This routine doesn't work with gcc on hardware
+// either.  I've completely removed it.  It may be worth looking into sometime
+// in the future.
+/*#ifndef __WINS__
+static void CombaSquare4(word *R, const word *A)
+{
+	dword p;
+	word c, d, e;
+
+	p = (dword)A[0] * A[0];
+	R[0] = LOW_WORD(p);
+	c = HIGH_WORD(p);
+	d = e = 0;
+
+	SquAcc(0, 1);
+
+	SaveSquAcc(1, 2, 0);
+	MulAcc1(1, 1);
+
+	SaveSquAcc(2, 0, 3);
+	SquAcc(1, 2);
+
+	SaveSquAcc(3, 3, 1);
+	MulAcc1(2, 2);
+
+	SaveSquAcc(4, 2, 3);
+
+	R[5] = c;
+	p = (dword)A[3] * A[3] + d;
+	R[6] = LOW_WORD(p);
+	R[7] = e + HIGH_WORD(p);
+}
+#endif */
+
+static void CombaMultiply4(word *R, const word *A, const word *B)
+{
+	dword p;
+	word c, d, e;
+
+	p = (dword)A[0] * B[0];
+	R[0] = LOW_WORD(p);
+	c = HIGH_WORD(p);
+	d = e = 0;
+
+	MulAcc(0, 1);
+	MulAcc(1, 0);
+
+	SaveMulAcc(1, 2, 0);
+	MulAcc(1, 1);
+	MulAcc(0, 2);
+
+	SaveMulAcc(2, 0, 3);
+	MulAcc(1, 2);
+	MulAcc(2, 1);
+	MulAcc(3, 0);
+
+	SaveMulAcc(3, 3, 1);
+	MulAcc(2, 2);
+	MulAcc(1, 3);
+
+	SaveMulAcc(4, 2, 3);
+	MulAcc(3, 2);
+
+	R[5] = c;
+	p = (dword)A[3] * B[3] + d;
+	R[6] = LOW_WORD(p);
+	R[7] = e + HIGH_WORD(p);
+}
+
+static void CombaMultiply8(word *R, const word *A, const word *B)
+{
+	dword p;
+	word c, d, e;
+
+	p = (dword)A[0] * B[0];
+	R[0] = LOW_WORD(p);
+	c = HIGH_WORD(p);
+	d = e = 0;
+
+	MulAcc(0, 1);
+	MulAcc(1, 0);
+
+	SaveMulAcc(1, 2, 0);
+	MulAcc(1, 1);
+	MulAcc(0, 2);
+
+	SaveMulAcc(2, 0, 3);
+	MulAcc(1, 2);
+	MulAcc(2, 1);
+	MulAcc(3, 0);
+
+	SaveMulAcc(3, 0, 4);
+	MulAcc(1, 3);
+	MulAcc(2, 2);
+	MulAcc(3, 1);
+	MulAcc(4, 0);
+
+	SaveMulAcc(4, 0, 5);
+	MulAcc(1, 4);
+	MulAcc(2, 3);
+	MulAcc(3, 2);
+	MulAcc(4, 1);
+	MulAcc(5, 0);
+
+	SaveMulAcc(5, 0, 6);
+	MulAcc(1, 5);
+	MulAcc(2, 4);
+	MulAcc(3, 3);
+	MulAcc(4, 2);
+	MulAcc(5, 1);
+	MulAcc(6, 0);
+
+	SaveMulAcc(6, 0, 7);
+	MulAcc(1, 6);
+	MulAcc(2, 5);
+	MulAcc(3, 4);
+	MulAcc(4, 3);
+	MulAcc(5, 2);
+	MulAcc(6, 1);
+	MulAcc(7, 0);
+
+	SaveMulAcc(7, 1, 7);
+	MulAcc(2, 6);
+	MulAcc(3, 5);
+	MulAcc(4, 4);
+	MulAcc(5, 3);
+	MulAcc(6, 2);
+	MulAcc(7, 1);
+
+	SaveMulAcc(8, 2, 7);
+	MulAcc(3, 6);
+	MulAcc(4, 5);
+	MulAcc(5, 4);
+	MulAcc(6, 3);
+	MulAcc(7, 2);
+
+	SaveMulAcc(9, 3, 7);
+	MulAcc(4, 6);
+	MulAcc(5, 5);
+	MulAcc(6, 4);
+	MulAcc(7, 3);
+
+	SaveMulAcc(10, 4, 7);
+	MulAcc(5, 6);
+	MulAcc(6, 5);
+	MulAcc(7, 4);
+
+	SaveMulAcc(11, 5, 7);
+	MulAcc(6, 6);
+	MulAcc(7, 5);
+
+	SaveMulAcc(12, 6, 7);
+	MulAcc(7, 6);
+
+	R[13] = c;
+	p = (dword)A[7] * B[7] + d;
+	R[14] = LOW_WORD(p);
+	R[15] = e + HIGH_WORD(p);
+}
+
+static void CombaMultiplyBottom4(word *R, const word *A, const word *B)
+{
+	dword p;
+	word c, d, e;
+
+	p = (dword)A[0] * B[0];
+	R[0] = LOW_WORD(p);
+	c = HIGH_WORD(p);
+	d = e = 0;
+
+	MulAcc(0, 1);
+	MulAcc(1, 0);
+
+	SaveMulAcc(1, 2, 0);
+	MulAcc(1, 1);
+	MulAcc(0, 2);
+
+	R[2] = c;
+	R[3] = d + A[0] * B[3] + A[1] * B[2] + A[2] * B[1] + A[3] * B[0];
+}
+
+static void CombaMultiplyBottom8(word *R, const word *A, const word *B)
+{
+	dword p;
+	word c, d, e;
+
+	p = (dword)A[0] * B[0];
+	R[0] = LOW_WORD(p);
+	c = HIGH_WORD(p);
+	d = e = 0;
+
+	MulAcc(0, 1);
+	MulAcc(1, 0);
+
+	SaveMulAcc(1, 2, 0);
+	MulAcc(1, 1);
+	MulAcc(0, 2);
+
+	SaveMulAcc(2, 0, 3);
+	MulAcc(1, 2);
+	MulAcc(2, 1);
+	MulAcc(3, 0);
+
+	SaveMulAcc(3, 0, 4);
+	MulAcc(1, 3);
+	MulAcc(2, 2);
+	MulAcc(3, 1);
+	MulAcc(4, 0);
+
+	SaveMulAcc(4, 0, 5);
+	MulAcc(1, 4);
+	MulAcc(2, 3);
+	MulAcc(3, 2);
+	MulAcc(4, 1);
+	MulAcc(5, 0);
+
+	SaveMulAcc(5, 0, 6);
+	MulAcc(1, 5);
+	MulAcc(2, 4);
+	MulAcc(3, 3);
+	MulAcc(4, 2);
+	MulAcc(5, 1);
+	MulAcc(6, 0);
+
+	R[6] = c;
+	R[7] = d + A[0] * B[7] + A[1] * B[6] + A[2] * B[5] + A[3] * B[4] +
+				A[4] * B[3] + A[5] * B[2] + A[6] * B[1] + A[7] * B[0];
+}
+
+#undef MulAcc
+#undef SaveMulAcc
+static void AtomicInverseModPower2(word *C, word A0, word A1)
+{
+	assert(A0%2==1);
+
+	dword A=MAKE_DWORD(A0, A1), R=A0%8;
+
+	for (unsigned i=3; i<2*WORD_BITS; i*=2)
+		R = R*(2-R*A);
+
+	assert(R*A==1);
+
+	C[0] = LOW_WORD(R);
+	C[1] = HIGH_WORD(R);
+}
+// ********************************************************
+
+#define A0		A
+#define A1		(A+N2)
+#define B0		B
+#define B1		(B+N2)
+
+#define T0		T
+#define T1		(T+N2)
+#define T2		(T+N)
+#define T3		(T+N+N2)
+
+#define R0		R
+#define R1		(R+N2)
+#define R2		(R+N)
+#define R3		(R+N+N2)
+
+// R[2*N] - result = A*B
+// T[2*N] - temporary work space
+// A[N] --- multiplier
+// B[N] --- multiplicant
+
+void RecursiveMultiply(word *R, word *T, const word *A, const word *B, unsigned int N)
+{
+	assert(N>=2 && N%2==0);
+
+	if (N==2)
+		AtomicMultiply(R, A, B);
+	else if (N==4)
+		CombaMultiply4(R, A, B);
+	else if (N==8)
+		CombaMultiply8(R, A, B);
+	else
+	{
+		const unsigned int N2 = N/2;
+		int carry;
+
+		int aComp = Compare(A0, A1, N2);
+		int bComp = Compare(B0, B1, N2);
+
+		switch (2*aComp + aComp + bComp)
+		{
+		case -4:
+			Subtract(R0, A1, A0, N2);
+			Subtract(R1, B0, B1, N2);
+			RecursiveMultiply(T0, T2, R0, R1, N2);
+			Subtract(T1, T1, R0, N2);
+			carry = -1;
+			break;
+		case -2:
+			Subtract(R0, A1, A0, N2);
+			Subtract(R1, B0, B1, N2);
+			RecursiveMultiply(T0, T2, R0, R1, N2);
+			carry = 0;
+			break;
+		case 2:
+			Subtract(R0, A0, A1, N2);
+			Subtract(R1, B1, B0, N2);
+			RecursiveMultiply(T0, T2, R0, R1, N2);
+			carry = 0;
+			break;
+		case 4:
+			Subtract(R0, A1, A0, N2);
+			Subtract(R1, B0, B1, N2);
+			RecursiveMultiply(T0, T2, R0, R1, N2);
+			Subtract(T1, T1, R1, N2);
+			carry = -1;
+			break;
+		default:
+			SetWords(T0, 0, N);
+			carry = 0;
+		}
+
+		RecursiveMultiply(R0, T2, A0, B0, N2);
+		RecursiveMultiply(R2, T2, A1, B1, N2);
+
+		// now T[01] holds (A1-A0)*(B0-B1), R[01] holds A0*B0, R[23] holds A1*B1
+
+		carry += Add(T0, T0, R0, N);
+		carry += Add(T0, T0, R2, N);
+		carry += Add(R1, R1, T0, N);
+
+		assert (carry >= 0 && carry <= 2);
+		Increment(R3, N2, carry);
+	}
+}
+
+// R[2*N] - result = A*A
+// T[2*N] - temporary work space
+// A[N] --- number to be squared
+
+void RecursiveSquare(word *R, word *T, const word *A, unsigned int N)
+{
+	assert(N && N%2==0);
+
+	if (N==2)
+		AtomicMultiply(R, A, A);
+	else if (N==4)
+	{
+		// VC60 workaround: MSVC 6.0 has an optimization problem that makes
+		// (dword)A*B where either A or B has been cast to a dword before
+		// very expensive. Revisit a CombaSquare4() function when this
+		// problem is fixed.               
+
+// WARNING: KeithR. 05/08/03 This routine doesn't work with gcc on hardware
+// either.  I've completely removed it.  It may be worth looking into sometime
+// in the future.  Therefore, we use the CombaMultiply4 on all targets.
+//#ifdef __WINS__
+		CombaMultiply4(R, A, A);
+/*#else
+		CombaSquare4(R, A);
+#endif*/
+	}
+	else
+	{
+		const unsigned int N2 = N/2;
+
+		RecursiveSquare(R0, T2, A0, N2);
+		RecursiveSquare(R2, T2, A1, N2);
+		RecursiveMultiply(T0, T2, A0, A1, N2);
+
+		word carry = Add(R1, R1, T0, N);
+		carry += Add(R1, R1, T0, N);
+		Increment(R3, N2, carry);
+	}
+}
+// R[N] - bottom half of A*B
+// T[N] - temporary work space
+// A[N] - multiplier
+// B[N] - multiplicant
+
+void RecursiveMultiplyBottom(word *R, word *T, const word *A, const word *B, unsigned int N)
+{
+	assert(N>=2 && N%2==0);
+
+	if (N==2)
+		AtomicMultiplyBottom(R, A, B);
+	else if (N==4)
+		CombaMultiplyBottom4(R, A, B);
+	else if (N==8)
+		CombaMultiplyBottom8(R, A, B);
+	else
+	{
+		const unsigned int N2 = N/2;
+
+		RecursiveMultiply(R, T, A0, B0, N2);
+		RecursiveMultiplyBottom(T0, T1, A1, B0, N2);
+		Add(R1, R1, T0, N2);
+		RecursiveMultiplyBottom(T0, T1, A0, B1, N2);
+		Add(R1, R1, T0, N2);
+	}
+}
+
+// R[N] --- upper half of A*B
+// T[2*N] - temporary work space
+// L[N] --- lower half of A*B
+// A[N] --- multiplier
+// B[N] --- multiplicant
+
+void RecursiveMultiplyTop(word *R, word *T, const word *L, const word *A, const word *B, unsigned int N)
+{
+	assert(N>=2 && N%2==0);
+
+	if (N==2)
+	{
+		AtomicMultiply(T, A, B);
+		((dword *)R)[0] = ((dword *)T)[1];
+	}
+	else if (N==4)
+	{
+		CombaMultiply4(T, A, B);
+		((dword *)R)[0] = ((dword *)T)[2];
+		((dword *)R)[1] = ((dword *)T)[3];
+	}
+	else
+	{
+		const unsigned int N2 = N/2;
+		int carry;
+
+		int aComp = Compare(A0, A1, N2);
+		int bComp = Compare(B0, B1, N2);
+
+		switch (2*aComp + aComp + bComp)
+		{
+		case -4:
+			Subtract(R0, A1, A0, N2);
+			Subtract(R1, B0, B1, N2);
+			RecursiveMultiply(T0, T2, R0, R1, N2);
+			Subtract(T1, T1, R0, N2);
+			carry = -1;
+			break;
+		case -2:
+			Subtract(R0, A1, A0, N2);
+			Subtract(R1, B0, B1, N2);
+			RecursiveMultiply(T0, T2, R0, R1, N2);
+			carry = 0;
+			break;
+		case 2:
+			Subtract(R0, A0, A1, N2);
+			Subtract(R1, B1, B0, N2);
+			RecursiveMultiply(T0, T2, R0, R1, N2);
+			carry = 0;
+			break;
+		case 4:
+			Subtract(R0, A1, A0, N2);
+			Subtract(R1, B0, B1, N2);
+			RecursiveMultiply(T0, T2, R0, R1, N2);
+			Subtract(T1, T1, R1, N2);
+			carry = -1;
+			break;
+		default:
+			SetWords(T0, 0, N);
+			carry = 0;
+		}
+
+		RecursiveMultiply(T2, R0, A1, B1, N2);
+
+		// now T[01] holds (A1-A0)*(B0-B1), T[23] holds A1*B1
+
+		CopyWords(R0, L+N2, N2);
+		word c2 = Subtract(R0, R0, L, N2);
+		c2 += Subtract(R0, R0, T0, N2);
+		word t = (Compare(R0, T2, N2) == -1);
+
+		carry += t;
+		carry += Increment(R0, N2, c2+t);
+		carry += Add(R0, R0, T1, N2);
+		carry += Add(R0, R0, T3, N2);
+
+		CopyWords(R1, T3, N2);
+		assert (carry >= 0 && carry <= 2);
+		Increment(R1, N2, carry);
+	}
+}
+
+// R[NA+NB] - result = A*B
+// T[NA+NB] - temporary work space
+// A[NA] ---- multiplier
+// B[NB] ---- multiplicant
+
+void AsymmetricMultiply(word *R, word *T, const word *A, unsigned int NA, const word *B, unsigned int NB)
+{
+	if (NA == NB)
+	{
+		if (A == B)
+			RecursiveSquare(R, T, A, NA);
+		else
+			RecursiveMultiply(R, T, A, B, NA);
+
+		return;
+	}
+
+	if (NA > NB)
+	{
+		TClassSwap(A, B);
+		TClassSwap(NA, NB);
+		//std::swap(A, B);
+		//std::swap(NA, NB);
+	}
+
+	assert(NB % NA == 0);
+	assert((NB/NA)%2 == 0); 	// NB is an even multiple of NA
+
+	if (NA==2 && !A[1])
+	{
+		switch (A[0])
+		{
+		case 0:
+			SetWords(R, 0, NB+2);
+			return;
+		case 1:
+			CopyWords(R, B, NB);
+			R[NB] = R[NB+1] = 0;
+			return;
+		default:
+			R[NB] = LinearMultiply(R, B, A[0], NB);
+			R[NB+1] = 0;
+			return;
+		}
+	}
+
+	RecursiveMultiply(R, T, A, B, NA);
+	CopyWords(T+2*NA, R+NA, NA);
+
+	unsigned i;
+
+	for (i=2*NA; i<NB; i+=2*NA)
+		RecursiveMultiply(T+NA+i, T, A, B+i, NA);
+	for (i=NA; i<NB; i+=2*NA)
+		RecursiveMultiply(R+i, T, A, B+i, NA);
+
+	if (Add(R+NA, R+NA, T+2*NA, NB-NA))
+		Increment(R+NB, NA);
+}
+// R[N] ----- result = A inverse mod 2**(WORD_BITS*N)
+// T[3*N/2] - temporary work space
+// A[N] ----- an odd number as input
+
+void RecursiveInverseModPower2(word *R, word *T, const word *A, unsigned int N)
+{
+	if (N==2)
+		AtomicInverseModPower2(R, A[0], A[1]);
+	else
+	{
+		const unsigned int N2 = N/2;
+		RecursiveInverseModPower2(R0, T0, A0, N2);
+		T0[0] = 1;
+		SetWords(T0+1, 0, N2-1);
+		RecursiveMultiplyTop(R1, T1, T0, R0, A0, N2);
+		RecursiveMultiplyBottom(T0, T1, R0, A1, N2);
+		Add(T0, R1, T0, N2);
+		TwosComplement(T0, N2);
+		RecursiveMultiplyBottom(R1, T1, R0, T0, N2);
+	}
+}
+#undef A0
+#undef A1
+#undef B0
+#undef B1
+
+#undef T0
+#undef T1
+#undef T2
+#undef T3
+
+#undef R0
+#undef R1
+#undef R2
+#undef R3
+
+// R[N] --- result = X/(2**(WORD_BITS*N)) mod M
+// T[3*N] - temporary work space
+// X[2*N] - number to be reduced
+// M[N] --- modulus
+// U[N] --- multiplicative inverse of M mod 2**(WORD_BITS*N)
+
+void MontgomeryReduce(word *R, word *T, const word *X, const word *M, const word *U, unsigned int N)
+{
+	RecursiveMultiplyBottom(R, T, X, U, N);
+	RecursiveMultiplyTop(T, T+N, X, R, M, N);
+	if (Subtract(R, X+N, T, N))
+	{
+#ifdef _DEBUG
+		word carry = Add(R, R, M, N);
+		assert(carry);
+#else
+		Add(R, R, M, N);
+#endif
+	}
+}
+
+// do a 3 word by 2 word divide, returns quotient and leaves remainder in A
+static word SubatomicDivide(word *A, word B0, word B1)
+{
+	// assert {A[2],A[1]} < {B1,B0}, so quotient can fit in a word
+	assert(A[2] < B1 || (A[2]==B1 && A[1] < B0));
+
+	dword p, u;
+	word Q;
+
+	// estimate the quotient: do a 2 word by 1 word divide
+	if (B1+1 == 0)
+		Q = A[2];
+	else
+		Q = word(MAKE_DWORD(A[1], A[2]) / (B1+1));
+
+	// now subtract Q*B from A
+	p = (dword) B0*Q;
+	u = (dword) A[0] - LOW_WORD(p);
+	A[0] = LOW_WORD(u);
+	u = (dword) A[1] - HIGH_WORD(p) - (word)(0-HIGH_WORD(u)) - (dword)B1*Q;
+	A[1] = LOW_WORD(u);
+	A[2] += HIGH_WORD(u);
+
+	// Q <= actual quotient, so fix it
+	while (A[2] || A[1] > B1 || (A[1]==B1 && A[0]>=B0))
+	{
+		u = (dword) A[0] - B0;
+		A[0] = LOW_WORD(u);
+		u = (dword) A[1] - B1 - (word)(0-HIGH_WORD(u));
+		A[1] = LOW_WORD(u);
+		A[2] += HIGH_WORD(u);
+		Q++;
+		assert(Q);	// shouldn't overflow
+	}
+
+	return Q;
+}
+
+// do a 4 word by 2 word divide, returns 2 word quotient in Q0 and Q1
+static inline void AtomicDivide(word *Q, const word *A, const word *B)
+{
+	if (!B[0] && !B[1]) // if divisor is 0, we assume divisor==2**(2*WORD_BITS)
+	{
+		Q[0] = A[2];
+		Q[1] = A[3];
+	}
+	else
+	{
+		word T[4];
+		T[0] = A[0]; T[1] = A[1]; T[2] = A[2]; T[3] = A[3];
+		Q[1] = SubatomicDivide(T+1, B[0], B[1]);
+		Q[0] = SubatomicDivide(T, B[0], B[1]);
+
+#ifdef _DEBUG
+		// multiply quotient and divisor and add remainder, make sure it equals dividend
+		assert(!T[2] && !T[3] && (T[1] < B[1] || (T[1]==B[1] && T[0]<B[0])));
+		word P[4];
+		AtomicMultiply(P, Q, B);
+		Add(P, P, T, 4);
+		assert(Mem::Compare((TUint8*)P, 4*WORD_SIZE, (TUint8*)A, 4*WORD_SIZE)==0);
+#endif
+	}
+}
+
+// for use by Divide(), corrects the underestimated quotient {Q1,Q0}
+static void CorrectQuotientEstimate(word *R, word *T, word *Q, const word *B, unsigned int N)
+{
+	assert(N && N%2==0);
+
+	if (Q[1])
+	{
+		T[N] = T[N+1] = 0;
+		unsigned i;
+		for (i=0; i<N; i+=4)
+			AtomicMultiply(T+i, Q, B+i);
+		for (i=2; i<N; i+=4)
+			if (AtomicMultiplyAdd(T+i, Q, B+i))
+				T[i+5] += (++T[i+4]==0);
+	}
+	else
+	{
+		T[N] = LinearMultiply(T, B, Q[0], N);
+		T[N+1] = 0;
+	}
+
+#ifdef _DEBUG
+	word borrow = Subtract(R, R, T, N+2);
+	assert(!borrow && !R[N+1]);
+#else
+	Subtract(R, R, T, N+2);
+#endif
+
+	while (R[N] || Compare(R, B, N) >= 0)
+	{
+		R[N] -= Subtract(R, R, B, N);
+		Q[1] += (++Q[0]==0);
+		assert(Q[0] || Q[1]); // no overflow
+	}
+}
+
+// R[NB] -------- remainder = A%B
+// Q[NA-NB+2] --- quotient	= A/B
+// T[NA+2*NB+4] - temp work space
+// A[NA] -------- dividend
+// B[NB] -------- divisor
+
+void Divide(word *R, word *Q, word *T, const word *A, unsigned int NA, const word *B, unsigned int NB)
+{
+	assert(NA && NB && NA%2==0 && NB%2==0);
+	assert(B[NB-1] || B[NB-2]);
+	assert(NB <= NA);
+
+	// set up temporary work space
+	word *const TA=T;
+	word *const TB=T+NA+2;
+	word *const TP=T+NA+2+NB;
+
+	// copy B into TB and normalize it so that TB has highest bit set to 1
+	unsigned shiftWords = (B[NB-1]==0);
+	TB[0] = TB[NB-1] = 0;
+	CopyWords(TB+shiftWords, B, NB-shiftWords);
+	unsigned shiftBits = WORD_BITS - BitPrecision(TB[NB-1]);
+	assert(shiftBits < WORD_BITS);
+	ShiftWordsLeftByBits(TB, NB, shiftBits);
+
+	// copy A into TA and normalize it
+	TA[0] = TA[NA] = TA[NA+1] = 0;
+	CopyWords(TA+shiftWords, A, NA);
+	ShiftWordsLeftByBits(TA, NA+2, shiftBits);
+
+	if (TA[NA+1]==0 && TA[NA] <= 1)
+	{
+		Q[NA-NB+1] = Q[NA-NB] = 0;
+		while (TA[NA] || Compare(TA+NA-NB, TB, NB) >= 0)
+		{
+			TA[NA] -= Subtract(TA+NA-NB, TA+NA-NB, TB, NB);
+			++Q[NA-NB];
+		}
+	}
+	else
+	{
+		NA+=2;
+		assert(Compare(TA+NA-NB, TB, NB) < 0);
+	}
+
+	word BT[2];
+	BT[0] = TB[NB-2] + 1;
+	BT[1] = TB[NB-1] + (BT[0]==0);
+
+	// start reducing TA mod TB, 2 words at a time
+	for (unsigned i=NA-2; i>=NB; i-=2)
+	{
+		AtomicDivide(Q+i-NB, TA+i-2, BT);
+		CorrectQuotientEstimate(TA+i-NB, TP, Q+i-NB, TB, NB);
+	}
+
+	// copy TA into R, and denormalize it
+	CopyWords(R, TA+shiftWords, NB);
+	ShiftWordsRightByBits(R, NB, shiftBits);
+}
+
+static inline unsigned int EvenWordCount(const word *X, unsigned int N)
+{
+	while (N && X[N-2]==0 && X[N-1]==0)
+		N-=2;
+	return N;
+}
+
+// return k
+// R[N] --- result = A^(-1) * 2^k mod M
+// T[4*N] - temporary work space
+// A[NA] -- number to take inverse of
+// M[N] --- modulus
+
+unsigned int AlmostInverse(word *R, word *T, const word *A, unsigned int NA, const word *M, unsigned int N)
+{
+	assert(NA<=N && N && N%2==0);
+
+	word *b = T;
+	word *c = T+N;
+	word *f = T+2*N;
+	word *g = T+3*N;
+	unsigned int bcLen=2, fgLen=EvenWordCount(M, N);
+	unsigned int k=0, s=0;
+
+	SetWords(T, 0, 3*N);
+	b[0]=1;
+	CopyWords(f, A, NA);
+	CopyWords(g, M, N);
+
+	FOREVER
+	{
+		word t=f[0];
+		while (!t)
+		{
+			if (EvenWordCount(f, fgLen)==0)
+			{
+				SetWords(R, 0, N);
+				return 0;
+			}
+
+			ShiftWordsRightByWords(f, fgLen, 1);
+			if (c[bcLen-1]) bcLen+=2;
+			assert(bcLen <= N);
+			ShiftWordsLeftByWords(c, bcLen, 1);
+			k+=WORD_BITS;
+			t=f[0];
+		}
+
+		unsigned int i=0;
+		while (t%2 == 0)
+		{
+			t>>=1;
+			i++;
+		}
+		k+=i;
+
+		if (t==1 && f[1]==0 && EvenWordCount(f, fgLen)==2)
+		{
+			if (s%2==0)
+				CopyWords(R, b, N);
+			else
+				Subtract(R, M, b, N);
+			return k;
+		}
+
+		ShiftWordsRightByBits(f, fgLen, i);
+		t=ShiftWordsLeftByBits(c, bcLen, i);
+		if (t)
+		{
+			c[bcLen] = t;
+			bcLen+=2;
+			assert(bcLen <= N);
+		}
+
+		if (f[fgLen-2]==0 && g[fgLen-2]==0 && f[fgLen-1]==0 && g[fgLen-1]==0)
+			fgLen-=2;
+
+		if (Compare(f, g, fgLen)==-1)
+		{
+			TClassSwap<word*>(f,g);
+			TClassSwap<word*>(b,c);
+			s++;
+		}
+
+		Subtract(f, f, g, fgLen);
+
+		if (Add(b, b, c, bcLen))
+		{
+			b[bcLen] = 1;
+			bcLen+=2;
+			assert(bcLen <= N);
+		}
+	}
+}
+
+// R[N] - result = A/(2^k) mod M
+// A[N] - input
+// M[N] - modulus
+
+void DivideByPower2Mod(word *R, const word *A, unsigned int k, const word *M, unsigned int N)
+{
+	CopyWords(R, A, N);
+
+	while (k--)
+	{
+		if (R[0]%2==0)
+			ShiftWordsRightByBits(R, N, 1);
+		else
+		{
+			word carry = Add(R, R, M, N);
+			ShiftWordsRightByBits(R, N, 1);
+			R[N-1] += carry<<(WORD_BITS-1);
+		}
+	}
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/bigint/algorithms.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,51 @@
+/*
+* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* Bigint algorithms header file
+*
+*/
+
+
+/**
+ @file 
+ @internalTechnology
+*/
+ 
+#ifndef __ALGORITHMS_H__
+#define __ALGORITHMS_H__
+
+#include "../common/inlines.h"
+
+word Add(word* C, const word* A, const word* B, unsigned int N);
+word Subtract(word* C, const word* A, const word* B, unsigned int N);
+int Compare(const word *A, const word *B, unsigned int N);
+void IncrementNoCarry(word *A, unsigned int N, word B=1);
+word Increment(word *A, unsigned int N, word B=1);
+void DecrementNoCarry(word *A, unsigned int N, word B=1);
+word Decrement(word *A, unsigned int N, word B=1);
+void TwosComplement(word *A, unsigned int N);
+void Divide(word* R, word* Q, word* T, const word* A, unsigned int NA,
+	const word* B, unsigned int NB);
+unsigned int AlmostInverse(word *R, word *T, const word *A, unsigned int NA, 
+	const word *M, unsigned int N);
+void DivideByPower2Mod(word *R, const word *A, unsigned int k, const word *M, 
+	unsigned int N);
+void RecursiveInverseModPower2(word *R, word *T, const word *A, unsigned int N);
+void AsymmetricMultiply(word *R, word *T, const word *A, unsigned int NA, 
+	const word *B, unsigned int NB);
+void MontgomeryReduce(word *R, word *T, const word *X, const word *M, 
+	const word *U, unsigned int N);
+void RecursiveSquare(word *R, word *T, const word *A, unsigned int N);
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/bigint/bigint.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,1166 @@
+/*
+* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include <bigint.h>
+#include <e32std.h>
+#include <euserext.h>
+#include <securityerr.h>
+#include "words.h"
+#include "algorithms.h"
+#include "windowslider.h"
+#include "stackinteger.h"
+#include "mont.h"
+
+
+/**
+* Creates a new buffer containing the big-endian binary representation of this
+* integer.
+*
+* Note that it does not support the exporting of negative integers.
+*
+* @return	The new buffer.
+* 
+* @leave KErrNegativeExportNotSupported	If this instance is a negative integer.
+*
+*/
+EXPORT_C HBufC8* TInteger::BufferLC() const
+	{
+	if(IsNegative())
+		{
+		User::Leave(KErrNegativeExportNotSupported);
+		}
+	TUint bytes = ByteCount();
+	HBufC8* buf = HBufC8::NewMaxLC(bytes);
+	TUint8* bufPtr = (TUint8*)(buf->Ptr());
+	TUint8* regPtr = (TUint8*)Ptr();
+
+	// we internally store the number little endian, as a string we want it big
+	// endian
+	for(TUint i=0,j=bytes-1; i<bytes; )
+		{
+		bufPtr[i++] = regPtr[j--];
+		}
+	return buf;
+	}
+
+EXPORT_C HBufC8* TInteger::BufferWithNoTruncationLC() const
+ 	{
+ 	if(IsNegative())
+ 		{
+ 		User::Leave(KErrNegativeExportNotSupported);
+ 		}
+ 	
+ 	TUint wordCount = Size();
+ 	TUint bytes = (wordCount)*WORD_SIZE;
+     
+  	HBufC8* buf = HBufC8::NewMaxLC(bytes);
+ 	TUint8* bufPtr = (TUint8*)(buf->Ptr());
+	TUint8* regPtr = (TUint8*)Ptr();
+	for(TUint i=0,j=bytes-1; i<bytes; )
+ 		{
+ 		bufPtr[i++] = regPtr[j--];
+ 		}
+  
+	return buf;
+	}
+
+/** 
+* Gets the number of words required to represent this RInteger.
+* 
+* @return	The size of the integer in words.
+*
+*/
+EXPORT_C TUint TInteger::WordCount() const
+	{
+	return CountWords(Ptr(), Size());
+	}
+
+/**
+* Gets the number of bytes required to represent this RInteger.
+* 
+* @return	The size of the integer in bytes.
+* 
+*/
+EXPORT_C TUint TInteger::ByteCount() const
+	{
+	TUint wordCount = WordCount();
+	if(wordCount)
+		{
+		return (wordCount-1)*WORD_SIZE + BytePrecision((Ptr())[wordCount-1]);
+		}
+	else 
+		{
+		return 0;
+		}
+	}
+
+/** 
+* Get the number of bits required to represent this RInteger.
+* 
+* @return	The size of the integer in bits.
+* 
+*/
+EXPORT_C TUint TInteger::BitCount() const
+	{
+	TUint wordCount = WordCount();
+	if(wordCount)
+		{
+		return (wordCount-1)*WORD_BITS + BitPrecision(Ptr()[wordCount-1]);
+		}
+	else 
+		{
+		return 0;
+		}
+	}
+
+
+//These 3 declarations instantiate a constant 0, 1, 2 for ease of use and
+//quick construction elsewhere in the code.  Note that the functions
+//returning references to this static data return const references as you can't
+//modify the ROM ;)
+//word 0: Size of storage in words
+//word 1: Pointer to storage
+//word 2: LSW of storage
+//word 3: MSW of storage
+//Note that the flag bits in word 1 (Ptr()) are zero in the case of a positive
+//stack based integer (SignBit == 0, IsHeapBasedBit == 0)
+const TUint KBigintZero[4] = {2, (TUint)(KBigintZero+2), 0, 0};
+const TUint KBigintOne[4] = {2, (TUint)(KBigintOne+2), 1, 0};
+const TUint KBigintTwo[4] = {2, (TUint)(KBigintTwo+2), 2, 0};
+
+/** 
+ * Gets the TInteger that represents zero
+ *
+ * @return	The TInteger representing zero
+ */
+EXPORT_C const TInteger& TInteger::Zero(void)
+	{
+	return *reinterpret_cast<const TStackInteger64*>(KBigintZero);
+	}
+
+/** 
+ * Gets the TInteger that represents one
+ *
+ * @return	The TInteger representing one
+ */
+EXPORT_C const TInteger& TInteger::One(void)
+	{
+	return *reinterpret_cast<const TStackInteger64*>(KBigintOne);
+	}
+	
+/** 
+ * Gets the TInteger that represents two
+ *
+ * @return	The TInteger representing two
+ */
+EXPORT_C const TInteger& TInteger::Two(void)
+	{
+	return *reinterpret_cast<const TStackInteger64*>(KBigintTwo);
+	}
+
+EXPORT_C RInteger TInteger::PlusL(const TInteger& aOperand) const
+	{
+	RInteger sum;
+    if (NotNegative())
+		{
+        if (aOperand.NotNegative())
+            sum = PositiveAddL(*this, aOperand);
+        else
+            sum = PositiveSubtractL(*this, aOperand);
+		}
+    else
+		{
+        if (aOperand.NotNegative())
+            sum = PositiveSubtractL(aOperand, *this);
+        else
+			{
+            sum = PositiveAddL(*this, aOperand);
+			sum.SetSign(TInteger::ENegative);
+			}
+		}
+	return sum;
+	}
+
+EXPORT_C RInteger TInteger::MinusL(const TInteger& aOperand) const
+	{
+	RInteger diff;
+    if (NotNegative())
+		{
+        if (aOperand.NotNegative())
+            diff = PositiveSubtractL(*this, aOperand);
+        else
+            diff = PositiveAddL(*this, aOperand);
+		}
+    else
+		{
+        if (aOperand.NotNegative())
+			{
+            diff = PositiveAddL(*this, aOperand);
+			diff.SetSign(TInteger::ENegative);
+			}
+        else
+            diff = PositiveSubtractL(aOperand, *this);
+		}
+	return diff;
+	}
+
+EXPORT_C RInteger TInteger::TimesL(const TInteger& aOperand) const
+	{
+	RInteger product = PositiveMultiplyL(*this, aOperand);
+
+	if (NotNegative() != aOperand.NotNegative())
+		{
+		product.Negate();
+		}
+	return product;
+	}
+
+EXPORT_C RInteger TInteger::DividedByL(const TInteger& aOperand) const
+	{
+	RInteger quotient;
+	RInteger remainder;
+	DivideL(remainder, quotient, *this, aOperand);
+	remainder.Close();
+	return quotient;
+	}
+
+EXPORT_C RInteger TInteger::DividedByL(TUint aOperand) const
+	{
+	TUint remainder;
+	RInteger quotient;
+	DivideL(remainder, quotient, *this, aOperand);
+	return quotient;
+	}
+
+EXPORT_C RInteger TInteger::ModuloL(const TInteger& aOperand) const
+	{
+	RInteger remainder;
+	RInteger quotient;
+	DivideL(remainder, quotient, *this, aOperand);
+	quotient.Close();
+	return remainder;
+	}
+
+EXPORT_C TUint TInteger::ModuloL(TUint aOperand) const
+	{
+	if(!aOperand)
+		{
+		User::Leave(KErrDivideByZero);
+		}
+	return Modulo(*this, aOperand);
+	}
+
+EXPORT_C RInteger TInteger::SquaredL() const
+	{
+	//PositiveMultiplyL optimises for the squaring case already
+	//Any number squared is positive, no need for negative handling in TimesL
+	return PositiveMultiplyL(*this, *this);
+	}
+
+EXPORT_C RInteger TInteger::ExponentiateL(const TInteger& aExponent) const
+	{
+	//See HAC 14.85
+
+	// 1.1 Precomputation
+	// g1 <- g
+	// g2 <- g^2
+	RInteger g2 = SquaredL();
+	CleanupStack::PushL(g2);
+	RInteger g1 = RInteger::NewL(*this);
+	CleanupStack::PushL(g1);
+	TWindowSlider slider(aExponent);
+
+	// 1.2 
+	// For i from 1 to (2^(k-1) -1) do g2i+1 <- g2i-1 * g2
+	TUint count = (1 << (slider.WindowSize()-1)) - 1; //2^(k-1) -1
+	RRArray<RInteger> powerArray(count+1); //+1 because we append g1
+	User::LeaveIfError(powerArray.Append(g1));
+	CleanupStack::Pop(); //g1
+	CleanupClosePushL(powerArray);
+	for(TUint k=1; k <= count; k++)
+		{
+		RInteger g2iplus1 = g2.TimesL(powerArray[k-1]);
+		//This append can't fail as the granularity is set high enough
+		//plus we've already called Append once which will alloc to the 
+		//set granularity
+		powerArray.Append(g2iplus1);
+		}
+
+	// 2 A <- 1, i <- t
+	RInteger A = RInteger::NewL(One());
+	CleanupStack::PushL(A);
+	TInt i = aExponent.BitCount() - 1;
+
+	// 3 While i>=0 do:
+	while( i>=0 )
+		{
+		// 3.1 If ei == 0 then A <- A^2
+		if(!aExponent.Bit(i))
+			{
+			A *= A;
+			i--;
+			}
+		// 3.2 Find longest bitstring ei,ei-1,...,el s.t. i-l+1<=k and el==1
+		// and do:
+		// A <- (A^2^(i-l+1)) * g[the index indicated by the bitstring value]
+		else
+			{
+			slider.FindNextWindow(i);
+			assert(slider.Length() >= 1);
+			for(TUint j=0; j<slider.Length(); j++)
+				{
+				A *= A;
+				}
+			A *= powerArray[slider.Value()>>1];
+			i -= slider.Length();
+			}
+		}
+	CleanupStack::Pop(&A);
+	CleanupStack::PopAndDestroy(2, &g2); //powerArray, g2
+	return A;
+	}
+
+EXPORT_C RInteger TInteger::ModularMultiplyL(const TInteger& aA, const TInteger& aB,
+	const TInteger& aMod) 
+	{
+	RInteger product = aA.TimesL(aB);
+	CleanupStack::PushL(product);
+	RInteger reduced = product.ModuloL(aMod);
+	CleanupStack::PopAndDestroy(&product); 
+	return reduced;
+	}
+
+EXPORT_C RInteger TInteger::ModularExponentiateL(const TInteger& aBase, 
+	const TInteger& aExp, const TInteger& aMod) 
+	{
+	CMontgomeryStructure* mont = CMontgomeryStructure::NewLC(aMod);
+	RInteger result = RInteger::NewL(mont->ExponentiateL(aBase, aExp));
+	CleanupStack::PopAndDestroy(mont);
+	return result;
+	}
+
+EXPORT_C RInteger TInteger::GCDL(const TInteger& aOperand) const
+	{
+	//Binary GCD algorithm -- see HAC 14.4.1
+	//with a slight variation -- our g counts shifts rather than actually
+	//shifting.  We then do one shift at the end.
+	assert(NotNegative());
+	assert(aOperand.NotNegative());
+
+	RInteger x = RInteger::NewL(*this);
+	CleanupStack::PushL(x);
+	RInteger y = RInteger::NewL(aOperand);
+	CleanupStack::PushL(y);
+
+	// 1 Ensure x >= y
+	if( x < y )
+		{
+		TClassSwap(x, y);
+		}
+
+	TUint g = 0;
+	// 2 while x and y even x <- x/2, y <- y/2
+	while( x.IsEven() && y.IsEven() )
+		{
+		x >>= 1;
+		y >>= 1;
+		++g;
+		}
+	// 3 while x != 0
+	while( x.NotZero() )
+		{
+		// 3.1 while x even x <- x/2
+		while( x.IsEven() )
+			{
+			x >>= 1;
+			}
+		// 3.2 while y even y <- y/2
+		while( y.IsEven() )
+			{
+			y >>= 1;
+			}
+		// 3.3 t <- abs(x-y)/2
+		RInteger t = x.MinusL(y);
+		t >>= 1;
+		t.SetSign(TInteger::EPositive);
+
+		// 3.4 If x>=y then x <- t else y <- t
+		if( x >= y )
+			{
+			x.Set(t);
+			}
+		else 
+			{
+			y.Set(t);
+			}
+		}
+	
+	// 4 Return (g*y) (equiv to y<<=g as our g was counting shifts not actually
+	//shifting)
+	y <<= g;
+	CleanupStack::Pop(&y);
+	CleanupStack::PopAndDestroy(&x); 
+	return y;
+	}
+
+EXPORT_C RInteger TInteger::InverseModL(const TInteger& aMod) const
+	{
+	assert(aMod.NotNegative());
+
+	RInteger result;
+	if(IsNegative() || *this>=aMod)
+		{
+		RInteger temp = ModuloL(aMod);
+		CleanupClosePushL(temp);
+		result = temp.InverseModL(aMod);
+		CleanupStack::PopAndDestroy(&temp);
+		return result;
+		}
+
+	if(aMod.IsEven())
+		{
+		if( !aMod || IsEven() )
+			{
+			return RInteger::NewL(Zero());
+			}
+		if( *this == One() )
+			{
+			return RInteger::NewL(One());
+			}
+		RInteger u = aMod.InverseModL(*this); 
+		CleanupClosePushL(u);
+		if(!u)
+			{
+			result = RInteger::NewL(Zero());
+			}
+		else 
+			{
+			//calculates (aMod*(*this-u)+1)/(*this) 
+			result = MinusL(u);
+			CleanupClosePushL(result);
+			result *= aMod;
+			++result;
+			result /= *this;
+			CleanupStack::Pop(&result); 
+			}
+		CleanupStack::PopAndDestroy(&u);
+		return result;
+		}
+
+	result = RInteger::NewEmptyL(aMod.Size());
+	CleanupClosePushL(result);
+	RInteger workspace = RInteger::NewEmptyL(aMod.Size() * 4);
+	TUint k = AlmostInverse(result.Ptr(), workspace.Ptr(), Ptr(), Size(),
+		aMod.Ptr(), aMod.Size());
+	DivideByPower2Mod(result.Ptr(), result.Ptr(), k, aMod.Ptr(), aMod.Size());
+	workspace.Close();
+	CleanupStack::Pop(&result);
+
+	return result;
+	}
+
+EXPORT_C TInteger& TInteger::operator+=(const TInteger& aOperand)
+	{
+	this->Set(PlusL(aOperand));
+    return *this;
+	}
+
+EXPORT_C TInteger& TInteger::operator-=(const TInteger& aOperand)
+	{
+	this->Set(MinusL(aOperand));
+    return *this;
+	}
+
+EXPORT_C TInteger& TInteger::operator*=(const TInteger& aOperand)
+	{
+	this->Set(TimesL(aOperand));
+	return *this;
+	}
+
+EXPORT_C TInteger& TInteger::operator/=(const TInteger& aOperand)
+	{
+	this->Set(DividedByL(aOperand));
+	return *this;
+	}
+
+EXPORT_C TInteger& TInteger::operator%=(const TInteger& aOperand)
+	{
+	this->Set(ModuloL(aOperand));
+	return *this;
+	}
+
+EXPORT_C TInteger& TInteger::operator+=(TInt aOperand)
+	{
+	TStackInteger64 operand(aOperand);
+	*this += operand;
+	return *this;
+	}
+
+EXPORT_C TInteger& TInteger::operator-=(TInt aOperand)
+	{
+	TStackInteger64 operand(aOperand);
+	*this -= operand;
+	return *this;
+	}
+
+EXPORT_C TInteger& TInteger::operator*=(TInt aOperand)
+	{
+	TStackInteger64 operand(aOperand);
+	*this *= operand;
+	return *this;
+	}
+
+EXPORT_C TInteger& TInteger::operator/=(TInt aOperand)
+	{
+	TStackInteger64 operand(aOperand);
+	*this /= operand;
+	return *this;
+	}
+
+EXPORT_C TInteger& TInteger::operator%=(TInt aOperand)
+	{
+	TStackInteger64 operand(aOperand);
+	assert(operand.NotNegative());
+	*this %= operand;
+	return *this;
+	}
+
+EXPORT_C TInteger& TInteger::operator--()
+	{
+    if (IsNegative())
+		{
+        if (Increment(Ptr(), Size()))
+			{
+            CleanGrowL(2*Size());
+            (Ptr())[Size()/2]=1;
+			}
+		}
+    else
+		{
+        if (Decrement(Ptr(), Size()))
+			{
+			this->CopyL(-1);
+			}
+		}
+    return *this;	
+	}
+
+EXPORT_C TInteger& TInteger::operator++()
+	{
+	if(NotNegative())
+		{
+		if(Increment(Ptr(), Size()))
+			{
+			CleanGrowL(2*Size());
+			(Ptr())[Size()/2]=1;
+			}
+		}
+	else
+		{
+		DecrementNoCarry(Ptr(), Size());
+		if(WordCount()==0)
+			{
+			this->CopyL(Zero());
+			}
+		}
+	return *this;
+	}
+
+EXPORT_C TInteger& TInteger::operator <<=(TUint aBits)
+	{
+	const TUint wordCount = WordCount();
+	const TUint shiftWords = aBits / WORD_BITS;
+	const TUint shiftBits = aBits % WORD_BITS;
+
+	CleanGrowL(wordCount+BitsToWords(aBits));
+	ShiftWordsLeftByWords(Ptr(), wordCount + shiftWords, shiftWords);
+	ShiftWordsLeftByBits(Ptr()+shiftWords, wordCount + BitsToWords(shiftBits), 
+		shiftBits);
+	return *this;
+	}
+
+EXPORT_C TInteger& TInteger::operator >>=(TUint aBits)
+	{
+	const TUint wordCount = WordCount();
+	const TUint shiftWords = aBits / WORD_BITS;
+	const TUint shiftBits = aBits % WORD_BITS;
+
+	ShiftWordsRightByWords(Ptr(), wordCount, shiftWords);
+	if(wordCount > shiftWords)
+		{
+		ShiftWordsRightByBits(Ptr(), wordCount - shiftWords, shiftBits);
+		}
+	if(IsNegative() && WordCount()==0) // avoid negative 0
+		{
+		SetSign(EPositive);
+		}
+	return *this;
+	}
+
+EXPORT_C TInt TInteger::UnsignedCompare(const TInteger& aThat) const
+	{
+	TUint size = WordCount();
+	TUint thatSize = aThat.WordCount();
+
+	if( size == thatSize )
+		return Compare(Ptr(), aThat.Ptr(), size);
+	else
+		return size > thatSize ? 1 : -1;
+	}
+
+EXPORT_C TInt TInteger::SignedCompare(const TInteger& aThat) const
+	{
+    if (NotNegative())
+		{
+        if (aThat.NotNegative())
+            return UnsignedCompare(aThat);
+        else
+            return 1;
+		}
+    else
+		{
+        if (aThat.NotNegative())
+            return -1;
+        else
+            return -UnsignedCompare(aThat);
+		}
+	}
+
+EXPORT_C TBool TInteger::operator!() const
+	{
+	//Ptr()[0] is just a quick way of weeding out non-zero numbers without
+	//doing a full WordCount() == 0.  Very good odds that a non-zero number
+	//will have a bit set in the least significant word
+	return IsNegative() ? EFalse : (Ptr()[0]==0 && WordCount()==0);
+	}
+
+EXPORT_C TInt TInteger::SignedCompare(TInt aInteger) const
+	{
+	TStackInteger64 temp(aInteger);
+	return SignedCompare(temp);
+	}
+
+/* TBool IsPrimeL(void) const 
+ * and all primality related functions are implemented in primes.cpp */
+
+EXPORT_C TBool TInteger::Bit(TUint aBitPos) const
+	{
+	if( aBitPos/WORD_BITS >= Size() )
+		{
+		return 0;
+		}
+	else 
+		{
+		return (((Ptr())[aBitPos/WORD_BITS] >> (aBitPos % WORD_BITS)) & 1);
+		}
+	}
+
+EXPORT_C void TInteger::SetBit(TUint aBitPos) 
+	{
+	if( aBitPos/WORD_BITS < Size() )
+		{
+		ArraySetBit(Ptr(), aBitPos);
+		}
+	}
+
+EXPORT_C void TInteger::Negate() 
+	{
+	if(!!(*this)) //don't flip sign if *this==0
+		{
+		SetSign(TSign((~Sign())&KSignMask));
+		}
+	}
+
+EXPORT_C TInt TInteger::ConvertToLongL(void) const
+	{
+	if(!IsConvertableToLong())
+		{
+		User::Leave(KErrTotalLossOfPrecision);
+		}
+	return ConvertToLong();
+	}
+
+EXPORT_C void TInteger::CopyL(const TInteger& aInteger, TBool aAllowShrink)
+	{
+	if(aAllowShrink)
+		{
+		CleanResizeL(aInteger.Size());
+		}
+	else
+		{
+		CleanGrowL(aInteger.Size());
+		}
+	Construct(aInteger);
+	}
+
+EXPORT_C void TInteger::CopyL(TInt aInteger, TBool aAllowShrink)
+	{
+	if(aAllowShrink)
+		{
+		CleanResizeL(2);
+		}
+	else
+		{
+		CleanGrowL(2);
+		}
+	Construct(aInteger);
+	}
+
+EXPORT_C void TInteger::Set(const RInteger& aInteger)
+	{
+	assert(IsHeapBased());
+	Mem::FillZ(Ptr(), WordsToBytes(Size()));
+	User::Free(Ptr());
+	iPtr = aInteger.iPtr;
+	iSize = aInteger.iSize;
+	}
+
+RInteger TInteger::PositiveAddL(const TInteger &aA, const TInteger& aB) const
+	{
+	RInteger sum = RInteger::NewEmptyL(CryptoMax(aA.Size(), aB.Size()));
+	const word aSize = aA.Size();
+	const word bSize = aB.Size();
+	const word* const aReg = aA.Ptr();
+	const word* const bReg = aB.Ptr();
+	word* const sumReg = sum.Ptr();
+
+	word carry;
+	if (aSize == bSize)
+		carry = Add(sumReg, aReg, bReg, aSize);
+	else if (aSize > bSize)
+		{
+		carry = Add(sumReg, aReg, bReg, bSize);
+		CopyWords(sumReg+bSize, aReg+bSize, aSize-bSize);
+		carry = Increment(sumReg+bSize, aSize-bSize, carry);
+		}
+	else
+		{
+		carry = Add(sumReg, aReg, bReg, aSize);
+		CopyWords(sumReg+aSize, bReg+aSize, bSize-aSize);
+		carry = Increment(sumReg+aSize, bSize-aSize, carry);
+		}
+
+	if (carry)
+		{
+		CleanupStack::PushL(sum);
+		sum.CleanGrowL(2*sum.Size());
+		CleanupStack::Pop(&sum);
+		sum.Ptr()[sum.Size()/2] = 1;
+		}
+	sum.SetSign(TInteger::EPositive);
+	return sum;
+	}
+
+RInteger TInteger::PositiveSubtractL(const TInteger &aA, const TInteger& aB) const
+	{
+	RInteger diff = RInteger::NewEmptyL(CryptoMax(aA.Size(), aB.Size()));
+	unsigned aSize = aA.WordCount();
+	aSize += aSize%2;
+	unsigned bSize = aB.WordCount();
+	bSize += bSize%2;
+	const word* const aReg = aA.Ptr();
+	const word* const bReg = aB.Ptr();
+	word* const diffReg = diff.Ptr();
+
+	if (aSize == bSize)
+		{
+		if (Compare(aReg, bReg, aSize) >= 0)
+			{
+			Subtract(diffReg, aReg, bReg, aSize);
+			diff.SetSign(TInteger::EPositive);
+			}
+		else
+			{
+			Subtract(diffReg, bReg, aReg, aSize);
+			diff.SetSign(TInteger::ENegative);
+			}
+		}
+	else if (aSize > bSize)
+		{
+		word borrow = Subtract(diffReg, aReg, bReg, bSize);
+		CopyWords(diffReg+bSize, aReg+bSize, aSize-bSize);
+		borrow = Decrement(diffReg+bSize, aSize-bSize, borrow);
+		assert(!borrow);
+		diff.SetSign(TInteger::EPositive);
+		}
+	else
+		{
+		word borrow = Subtract(diffReg, bReg, aReg, aSize);
+		CopyWords(diffReg+aSize, bReg+aSize, bSize-aSize);
+		borrow = Decrement(diffReg+aSize, bSize-aSize, borrow);
+		assert(!borrow);
+		diff.SetSign(TInteger::ENegative);
+		}
+	return diff;
+	}
+
+RInteger TInteger::PositiveMultiplyL(const TInteger &aA, const TInteger &aB) const
+	{
+	unsigned aSize = RoundupSize(aA.WordCount());
+	unsigned bSize = RoundupSize(aB.WordCount());
+
+	RInteger product = RInteger::NewEmptyL(aSize+bSize);
+	CleanupClosePushL(product);
+
+	RInteger workspace = RInteger::NewEmptyL(aSize + bSize);
+	AsymmetricMultiply(product.Ptr(), workspace.Ptr(), aA.Ptr(), aSize, aB.Ptr(), 
+		bSize);
+	workspace.Close();
+	CleanupStack::Pop(&product);
+	return product;
+	}
+
+TUint TInteger::Modulo(const TInteger& aDividend, TUint aDivisor) const
+	{
+	assert(aDivisor);
+	TUint i = aDividend.WordCount();
+	TUint remainder = 0;
+	while(i--)
+		{
+		remainder = TUint(MAKE_DWORD(aDividend.Ptr()[i], remainder) % aDivisor);
+		}
+	return remainder;
+	}
+
+void TInteger::PositiveDivide(TUint& aRemainder, TInteger& aQuotient, 
+	const TInteger& aDividend, TUint aDivisor) const
+	{
+	assert(aDivisor);
+
+	TUint i = aDividend.WordCount();
+	assert(aQuotient.Size() >= RoundupSize(i));
+	assert(aQuotient.Sign() == TInteger::EPositive);
+	aRemainder = 0;
+	while(i--)
+		{
+		aQuotient.Ptr()[i] = 
+			TUint(MAKE_DWORD(aDividend.Ptr()[i], aRemainder) / aDivisor);
+		aRemainder = 
+			TUint(MAKE_DWORD(aDividend.Ptr()[i], aRemainder) % aDivisor);
+		}
+	}
+
+void TInteger::DivideL(TUint& aRemainder, RInteger& aQuotient,
+	const TInteger& aDividend, TUint aDivisor) const
+	{
+	if(!aDivisor)
+		{
+		User::Leave(KErrDivideByZero);
+		}
+	
+	TUint i = aDividend.WordCount();
+	aQuotient.CleanNewL(RoundupSize(i));
+	PositiveDivide(aRemainder, aQuotient, aDividend, aDivisor);
+
+	if(aDividend.NotNegative())
+		{
+		aQuotient.SetSign(TInteger::EPositive);
+		}
+	else
+		{
+		aQuotient.SetSign(TInteger::ENegative);
+		if(aRemainder)
+			{
+			--aQuotient;
+			aRemainder = aDivisor = aRemainder;
+			}
+		}
+	}
+
+void TInteger::PositiveDivideL(RInteger &aRemainder, RInteger &aQuotient,
+	const TInteger &aDividend, const TInteger &aDivisor) const
+	{
+	unsigned dividendSize = aDividend.WordCount();
+	unsigned divisorSize = aDivisor.WordCount();
+
+	if (!divisorSize)
+		{
+		User::Leave(KErrDivideByZero);
+		}
+
+	if (aDividend.UnsignedCompare(aDivisor) == -1)
+		{
+		aRemainder.CreateNewL(aDividend.Size());
+		CleanupStack::PushL(aRemainder);
+		aRemainder.CopyL(aDividend); //set remainder to a
+		aRemainder.SetSign(TInteger::EPositive);
+		aQuotient.CleanNewL(2); //Set quotient to zero
+		CleanupStack::Pop(&aRemainder);
+		return;
+		}
+
+	dividendSize += dividendSize%2;	// round up to next even number
+	divisorSize += divisorSize%2;
+
+	aRemainder.CleanNewL(divisorSize);
+	CleanupStack::PushL(aRemainder);
+	aQuotient.CleanNewL(dividendSize-divisorSize+2);
+	CleanupStack::PushL(aQuotient);
+
+	RInteger T = RInteger::NewEmptyL(dividendSize+2*divisorSize+4);
+	Divide(aRemainder.Ptr(), aQuotient.Ptr(), T.Ptr(), aDividend.Ptr(), 
+		dividendSize, aDivisor.Ptr(), divisorSize);
+	T.Close();
+	CleanupStack::Pop(2, &aRemainder); //aQuotient, aRemainder
+	}
+
+void TInteger::DivideL(RInteger& aRemainder, RInteger& aQuotient, 
+	const TInteger& aDividend, const TInteger& aDivisor) const
+    {
+    PositiveDivideL(aRemainder, aQuotient, aDividend, aDivisor);
+
+    if (aDividend.IsNegative())
+        {
+        aQuotient.Negate();
+        if (aRemainder.NotZero())
+            {
+            --aQuotient;
+			assert(aRemainder.Size() <= aDivisor.Size());
+			Subtract(aRemainder.Ptr(), aDivisor.Ptr(), aRemainder.Ptr(), 
+				aRemainder.Size());
+            }
+        }
+
+    if (aDivisor.IsNegative())
+        aQuotient.Negate();
+    }
+
+TInt TInteger::ConvertToLong(void) const
+	{
+	TUint value = ConvertToUnsignedLong();
+	return Sign() == EPositive ? value : -(static_cast<TInt>(value));
+	}
+
+TBool TInteger::IsConvertableToLong(void) const
+	{
+	if(WordCount() > 1)
+		{
+		return EFalse;
+		}
+	TUint value = (Ptr())[0];
+	if(Sign() == EPositive)
+		{
+		return static_cast<TInt>(value) >= 0;
+		}
+	else
+		{
+		return -(static_cast<TInt>(value)) < 0;
+		}
+	}
+
+void TInteger::RandomizeL(TUint aBits, TRandomAttribute aAttr)
+	{
+	if(!aBits)
+		{
+		return;
+		}
+	const TUint bytes = BitsToBytes(aBits);
+	const TUint words = BitsToWords(aBits);
+	CleanGrowL(words);
+	TPtr8 buf((TUint8*)(Ptr()), bytes, WordsToBytes(Size()));
+	TUint bitpos = aBits % BYTE_BITS;
+	GenerateRandomBytesL(buf);
+	//mask with 0 all bits above the num requested in the most significant byte
+	if(bitpos)
+		{
+		buf[bytes-1] = TUint8( buf[bytes-1] & ((1L << bitpos) - 1) );
+		}
+	//set most significant (top) bit 
+	if(aAttr == ETopBitSet || aAttr == ETop2BitsSet)
+		{
+		SetBit(aBits-1); //Set bit counts from 0
+		assert(BitCount() == aBits);
+		assert(Bit(aBits-1));
+		}
+	//set 2nd bit from top
+	if(aAttr == ETop2BitsSet)
+		{
+		SetBit(aBits-2); //Set bit counts from 0
+		assert(BitCount() == aBits);
+		assert(Bit(aBits-1));
+		assert(Bit(aBits-2));
+		}
+	}
+
+void TInteger::RandomizeL(const TInteger& aMin, const TInteger& aMax)
+	{
+	assert(aMax > aMin);
+	assert(aMin.NotNegative());
+	RInteger range = RInteger::NewL(aMax);
+	CleanupStack::PushL(range);
+	range -= aMin;
+	const TUint bits = range.BitCount();
+
+	//if we find a number < range then aMin+range < aMax 
+	do
+		{
+		RandomizeL(bits, EAllBitsRandom);
+		} 
+	while(*this > range);
+
+	*this += aMin;
+	CleanupStack::PopAndDestroy(&range);
+	}
+
+/* void PrimeRandomizeL(TUint aBits, TRandomAttribute aAttr)
+ * and all primality related functions are implemented in primes.cpp */
+
+void TInteger::CreateNewL(TUint aNewSize)
+	{
+	//should only be called on construction
+	assert(!iPtr);
+	
+	TUint newSize = RoundupSize(aNewSize);
+	SetPtr((TUint*)User::AllocL(WordsToBytes(newSize)));
+	SetSize(newSize);
+	SetHeapBased();
+	}
+
+void TInteger::CleanNewL(TUint aNewSize)
+	{
+	CreateNewL(aNewSize);
+	Mem::FillZ(Ptr(), WordsToBytes(Size())); //clear integer storage
+	}
+
+void TInteger::CleanGrowL(TUint aNewSize)
+	{
+	assert(IsHeapBased());
+	TUint newSize = RoundupSize(aNewSize);
+	TUint oldSize = Size();
+	if(newSize > oldSize)
+		{
+		TUint* oldPtr = Ptr();
+		//1) allocate new memory and set ptr and size
+		SetPtr((TUint*)User::AllocL(WordsToBytes(newSize)));
+		SetSize(newSize);
+		//2) copy old mem to new mem
+		Mem::Copy(Ptr(), oldPtr, WordsToBytes(oldSize));
+		//3) zero all old memory
+		Mem::FillZ(oldPtr, WordsToBytes(oldSize));
+		//4) give back old memory
+		User::Free(oldPtr);
+		//5) zero new memory from end of copy to end of growth
+		Mem::FillZ(Ptr() + oldSize, WordsToBytes(newSize-oldSize));
+		}
+	}
+
+void TInteger::CleanResizeL(TUint aNewSize)
+	{
+	assert(IsHeapBased());
+	TUint newSize = RoundupSize(aNewSize);
+	TUint oldSize = Size();
+	if(newSize > oldSize)
+		{
+		CleanGrowL(aNewSize);
+		}
+	else if(newSize < oldSize)
+		{
+		TUint* oldPtr = Ptr();
+		//1) zero memory above newsize
+		Mem::FillZ(oldPtr+WordsToBytes(aNewSize),WordsToBytes(oldSize-newSize));
+		//2) ReAlloc cell.  Since our newsize is less than oldsize, it is
+		//guarenteed not to move.  Thus this is just freeing part of our old
+		//cell to the heap for other uses.
+		SetPtr((TUint*)User::ReAllocL(Ptr(), WordsToBytes(newSize)));
+		SetSize(newSize);
+		}
+	}
+
+TInteger::TInteger() : iSize(0), iPtr(0)
+	{
+	}
+
+void TInteger::Construct(const TDesC8& aValue)
+	{
+	assert(Size() >= BytesToWords(aValue.Size()));
+	if(aValue.Size() > 0)
+		{
+		//People write numbers with the most significant digits first (big
+		//endian) but we store our numbers in little endian.  Hence we need to
+		//reverse the string by bytes.
+
+		TUint bytes = aValue.Size();
+		TUint8* i = (TUint8*)Ptr();
+		TUint8* j = (TUint8*)aValue.Ptr() + bytes;
+
+		//Swap the endianess of the number itself
+		// (msb) 01 02 03 04 05 06 (lsb) becomes ->
+		// (lsb) 06 05 04 03 02 01 (msb)
+		while( j != (TUint8*)aValue.Ptr() )
+			{
+			*i++ = *--j;
+			}
+		Mem::FillZ((TUint8*)Ptr() + bytes, WordsToBytes(Size()) - bytes);
+		}
+	else
+		{
+		//if size is zero, we zero the whole register
+		Mem::FillZ((TUint8*)Ptr(), WordsToBytes(Size()));
+		}
+	SetSign(EPositive);
+	}
+
+void TInteger::Construct(const TInteger& aInteger)
+	{
+	assert(Size() >= aInteger.Size());
+	CopyWords(Ptr(), aInteger.Ptr(), aInteger.Size());
+	if(Size() > aInteger.Size())
+		{
+		Mem::FillZ(Ptr()+aInteger.Size(), WordsToBytes(Size()-aInteger.Size()));
+		}
+	SetSign(aInteger.Sign());
+	}
+
+void TInteger::Construct(TInt aInteger)
+	{
+	Construct((TUint)aInteger);
+	if(aInteger < 0)
+		{
+		SetSign(ENegative);
+		Ptr()[0] = -aInteger;
+		}
+	}
+
+void TInteger::Construct(TUint aInteger)
+	{
+	assert(Size() >= 2);
+	SetSign(EPositive);
+	Ptr()[0] = aInteger;
+	Mem::FillZ(Ptr()+1, WordsToBytes(Size()-1));
+	}
+
+void TInteger::ConstructStack(TUint aWords, TUint aInteger)
+	{
+	SetPtr((TUint*)(this)+2);
+	//SetStackBased(); //Not strictly needed as stackbased is a 0 at bit 1
+	SetSize(aWords);
+	assert(Size() >= 2);
+	Ptr()[0] = aInteger;
+	Mem::FillZ(&(Ptr()[1]), WordsToBytes(Size()-1));
+	}
+
+void TInteger::ConstructStack(TUint aWords, const TInteger& aInteger)
+	{
+	SetPtr((TUint*)(this)+2);
+	//SetStackBased(); //Not strictly needed as stackbased is a 0 at bit 1
+	SetSize(aWords);
+	assert( Size() >= RoundupSize(aInteger.WordCount()) );
+	CopyWords(Ptr(), aInteger.Ptr(), aInteger.Size());
+	Mem::FillZ(Ptr()+aInteger.Size(), WordsToBytes(Size()-aInteger.Size()));
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/bigint/gcchelp.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,395 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+/**
+ @file
+*/
+
+
+#include <kernel\u32std.h>	// need this for __NAKED__, __JUMP and __POPRET
+
+extern "C" {
+#ifdef __GCC32__
+__NAKED__ long long __divdi3(long long /*dividend*/, long long /*divisor*/)
+//
+// Dividend in r1:r0, divisor in r3:r2, Return quotient in r1:r0
+//
+	{
+	asm("stmfd sp!, {r4-r8,lr} ");
+	asm("eor r8, r1, r3 ");				// sign of result into r8
+	asm("movs r1, r1 ");
+	asm("bpl 1f ");
+	asm("rsbs r0, r0, #0 ");			// ABS(dividend)
+	asm("rsc r1, r1, #0 ");
+	asm("1: ");
+	asm("movs r3, r3 ");
+	asm("bpl 2f ");
+	asm("rsbs r2, r2, #0 ");			// ABS(divisor)
+	asm("rsc r3, r3, #0 ");
+	asm("2: ");
+	asm("bl UDiv01 ");					// do the division, result in r4,r5
+	asm("eors r0, r4, r8, asr #32 ");	// quotient into r1:r0, inverted if quotient -ve
+	asm("eors r1, r5, r8, asr #32 ");
+	asm("adcs r0, r0, #0 ");		// if quotient -ve, add 1
+	asm("adcs r1, r1, #0 ");
+	__POPRET("r4-r8,");
+	}
+
+__NAKED__ long long __moddi3(long long /*dividend*/, long long /*divisor*/)	/* signed */
+	{
+	asm("stmfd sp!, {r4-r8,lr} ");
+	asm("movs r8, r1 ");				// sign of remainder (=sign of dividend) into r8
+	asm("bpl 1f ");
+	asm("rsbs r0, r0, #0 ");			// ABS(dividend)
+	asm("rsc r1, r1, #0 ");
+	asm("1: ");
+	asm("movs r3, r3 ");
+	asm("bpl 2f ");
+	asm("rsbs r2, r2, #0 ");			// ABS(divisor)
+	asm("rsc r3, r3, #0 ");
+	asm("2: ");
+	asm("bl UDiv01 ");					// do the division, remainder in r3,r6
+	asm("eors r0, r3, r8, asr #32 ");	// remainder into r1:r0, inverted if dividend -ve
+	asm("eors r1, r6, r8, asr #32 ");
+	asm("adcs r0, r0, #0 ");			// if dividend -ve, add 1
+	asm("adcs r1, r1, #0 ");
+	__POPRET("r4-r8,");
+	}
+
+__NAKED__ long long __umoddi3(unsigned long long /*dividend*/, unsigned long long /*divisor*/)	/* unsigned */
+	{
+	asm("stmfd sp!, {r4-r7,lr} ");
+	asm("bl UDiv01 ");					// do the division, remainder in r6:r3
+	asm("mov r0, r3 ");
+	asm("mov r1, r6 ");
+	__POPRET("r4-r7,");
+	}
+
+__NAKED__ long long __ashrdi3(long long /*value*/, unsigned int /*count*/)
+	{
+	asm("cmp r2, #63 ");
+	asm("movhi r2, #63 ");			// count>63 same as count=63
+	asm("cmp r2, #32 ");
+	asm("bcs Asr01 ");				// jump if shift count >=32
+	asm("rsb r12, r2, #32 ");		// r12=32-shift count
+	asm("mov r0, r0, lsr r2 ");		// shift ls word right
+	asm("orr r0, r0, r1, lsl r12 ");	// or in bits shifted out of ms word
+	asm("mov r1, r1, asr r2 ");		// shift ms word right
+	__JUMP(,lr);
+	asm("Asr01: ");
+	asm("sub r2, r2, #32 ");		// r2=shift count-32
+	asm("mov r0, r1, asr r2 ");		// ls word = ms word >> (count-32)
+	asm("mov r1, r1, asr #32 ");	// ms word of result=sign extension of r1
+	__JUMP(,lr);
+	}
+
+__NAKED__ long long __ashldi3(long long /*value*/, unsigned int /*count*/)
+	{
+	asm("cmp r2, #63 ");
+	asm("movhi r2, #64 ");			// count>63 same as count=64
+	asm("cmp r2, #32 ");
+	asm("bcs Asl01 ");				// jump if shift count >=32
+	asm("rsb r12, r2, #32 ");		// r12=32-shift count
+	asm("mov r1, r1, asl r2 ");		// shift ms word left
+	asm("orr r1, r1, r0, lsr r12 ");	// or in bits shifted out of ls word
+	asm("mov r0, r0, asl r2 ");		// shift ls word left
+	__JUMP(,lr);
+	asm("Asl01: ");
+	asm("sub r2, r2, #32 ");		// r2=shift count-32
+	asm("mov r1, r0, asl r2 ");		// result ms word = ls word << (count-32)
+	asm("mov r0, #0 ");				// ls word of result is zero
+	__JUMP(,lr);
+	}
+
+__NAKED__ unsigned long long __lshrdi3(unsigned long long /*value*/, unsigned int /*count*/)
+	{
+	asm("cmp r2, #63 ");
+	asm("movhi r2, #64 ");			// count>63 same as count=64
+	asm("cmp r2, #32 ");
+	asm("bcs Lsr01 ");				// jump if shift count >=32
+	asm("rsb r12, r2, #32 ");		// r12=32-shift count
+	asm("mov r0, r0, lsr r2 ");		// shift ls word right
+	asm("orr r0, r0, r1, lsl r12 ");	// or in bits shifted out of ms word
+	asm("mov r1, r1, lsr r2 ");		// shift ms word right
+	__JUMP(,lr);
+	asm("Lsr01: ");
+	asm("sub r2, r2, #32 ");		// r2=shift count-32
+	asm("mov r0, r1, lsr r2 ");		// ls word = ms word >> (count-32)
+	asm("mov r1, #0 ");				// ms word of result = 0
+	__JUMP(,lr);
+	}
+
+__NAKED__ long long __muldi3(long long /*multiplicand*/, long long /*multiplier*/)
+	{
+	asm("mul r1, r2, r1 ");				// r1=low2*high1
+	asm("mov ip, r0 ");					// ip=low1
+	asm("mla r1, r0, r3, r1 ");			// r1+=low1*high2
+	asm("mov r0, #0 ");
+	asm("umlal r0, r1, r2, ip ");		// r1:r0 += high1*low1
+	__JUMP(,lr);
+	}
+
+__NAKED__ long long __negdi2(long long /*argument*/)
+	{
+	asm("rsbs r0, r0, #0 ");		// r0=0-r0, set carry
+	asm("rscs r1, r1, #0 ");		// r1=0-r1-(1-C)
+	__JUMP(,lr);
+	}
+
+__NAKED__ unsigned long long __udivmoddi4 (unsigned long long /*dividend*/,
+													unsigned long long /*divisor*/,
+													unsigned long long* /*p_remainder*/)
+	{
+	asm("stmfd sp!, {r4-r7,lr} ");
+	asm("bl UDiv01 ");					// do the division, quotient in r5:r4 remainder in r6:r3
+	asm("ldr r7, [sp, #20] ");			// r7=p_remainder
+	asm("mov r0, r4 ");					// r0=quotient low
+	asm("stmia r7, {r3,r6} ");			// store remainder
+	asm("mov r1, r5 ");					// r0=quotient high
+	__POPRET("r4-r7,");
+	}
+
+__NAKED__ int __cmpdi2(long long /*a*/, long long /*b*/)
+	{
+	// return 0 if a<b, 1 if a=b, 2 if a>b
+	asm("subs r0, r2, r0 ");
+	asm("sbcs r1, r3, r1 ");			// r1:r0 = b-a, set flags
+	asm("movlt r0, #2 ");				// if b<a r0=2
+	__JUMP(lt,lr);						// if b<a return
+	asm("cmpeq r0, #0 ");				// if top word of difference=0, look at bottom
+	asm("moveq r0, #1 ");				// if a=b, r0=1
+	asm("movne r0, #0 ");				// else r=0
+	__JUMP(,lr);
+	}
+
+__NAKED__ int __ucmpdi2(unsigned long long /*a*/, unsigned long long /*b*/)
+	{
+	// return 0 if a<b, 1 if a=b, 2 if a>b
+	asm("cmp r1, r3 ");
+	asm("cmpeq r0, r2 ");				// compare r1:r0 - r3:r2
+	asm("movhi r0, #2 ");				// r0=2 if a>b
+	asm("moveq r0, #1 ");				// r0=1 if a=b
+	asm("movlo r0, #0 ");				// r0=0 if a<b
+	__JUMP(,lr);
+	}
+#endif
+
+#if defined(__GCC32__)
+void __division_by_zero();
+#define DIV_BY_ZERO " __division_by_zero "
+#elif defined(__ARMCC__)
+void __rt_div0 (void);
+#define DIV_BY_ZERO " __cpp(__rt_div0) "
+#endif
+
+void __division_by_zero()
+	{
+	RThread().RaiseException(EExcIntegerDivideByZero);
+    }
+
+__NAKED__ unsigned long long __udivdi3(unsigned long long /*dividend*/, unsigned long long /*divisor*/)
+//
+// Dividend in r1:r0, divisor in r3:r2, Return quotient in r1:r0
+//
+	{
+	asm("stmfd sp!, {r4-r7,lr} ");
+	asm("bl UDiv01 ");					// do the division, result in r4,r5
+	asm("mov r0, r4 ");
+	asm("mov r1, r5 ");
+	__POPRET("r4-r7,");
+
+	// Unsigned 64-bit division. Dividend in r0,r1, divisor in r2,r3
+	// Quotient returned in r4,r5, Remainder in r3,r6
+	// Registers r0-r7,r12 used, r8-r11 unmodified
+	asm(".global UDiv01 ");
+	asm("UDiv01: ");
+	asm("movs r3, r3 ");				// check if divisor fits in 32 bits
+	asm("bne udiv64a ");				// branch if not
+	asm("movs r2, r2 ");				// check if divisor fits in 31 bits
+	asm("bmi udiv64e ");				// branch if not
+	asm("beq udiv64_divby0 ");			// if divisor=0, branch to error routine
+
+	// Divisor is <0x80000000
+	// This means that a 32-bit accumulator is sufficient
+	asm("mov r4, #0 ");					// use r3 as acc, result in r4, r5
+	asm("mov r5, #0 ");
+	asm("mov r6, #8 ");					// do 2 set of 32 iterations
+	asm("udiv64b: ");
+	asm("adds r1, r1, r1 ");			// shift dividend left into acc
+	asm("adcs r3, r3, r3 ");
+	asm("subs r3, r3, r2 ");			// subtract divisor from acc
+	asm("adc r5, r5, r5 ");				// shift result bit left into quotient
+	asm("addcc r3, r3, r2 ");			// if borrow, add back
+	asm("adds r1, r1, r1 ");			// shift dividend left into acc
+	asm("adcs r3, r3, r3 ");
+	asm("subs r3, r3, r2 ");			// subtract divisor from acc
+	asm("adc r5, r5, r5 ");				// shift result bit left into quotient
+	asm("addcc r3, r3, r2 ");			// if borrow, add back
+	asm("adds r1, r1, r1 ");			// shift dividend left into acc
+	asm("adcs r3, r3, r3 ");
+	asm("subs r3, r3, r2 ");			// subtract divisor from acc
+	asm("adc r5, r5, r5 ");				// shift result bit left into quotient
+	asm("addcc r3, r3, r2 ");			// if borrow, add back
+	asm("adds r1, r1, r1 ");			// shift dividend left into acc
+	asm("adcs r3, r3, r3 ");
+	asm("subs r3, r3, r2 ");			// subtract divisor from acc
+	asm("adc r5, r5, r5 ");				// shift result bit left into quotient
+	asm("addcc r3, r3, r2 ");			// if borrow, add back
+	asm("subs r6, r6, #1 ");			// loop
+	asm("bne udiv64b ");
+	asm("mov r6, #8 ");					// 2nd set of 32 iterations
+	asm("udiv64c: ");
+	asm("adds r0, r0, r0 ");			// shift dividend left into acc
+	asm("adcs r3, r3, r3 ");
+	asm("subs r3, r3, r2 ");			// subtract divisor from acc
+	asm("adc r4, r4, r4 ");				// shift result bit left into quotient
+	asm("addcc r3, r3, r2 ");			// if borrow, add back
+	asm("adds r0, r0, r0 ");			// shift dividend left into acc
+	asm("adcs r3, r3, r3 ");
+	asm("subs r3, r3, r2 ");			// subtract divisor from acc
+	asm("adc r4, r4, r4 ");				// shift result bit left into quotient
+	asm("addcc r3, r3, r2 ");			// if borrow, add back
+	asm("adds r0, r0, r0 ");			// shift dividend left into acc
+	asm("adcs r3, r3, r3 ");
+	asm("subs r3, r3, r2 ");			// subtract divisor from acc
+	asm("adc r4, r4, r4 ");				// shift result bit left into quotient
+	asm("addcc r3, r3, r2 ");			// if borrow, add back
+	asm("adds r0, r0, r0 ");			// shift dividend left into acc
+	asm("adcs r3, r3, r3 ");
+	asm("subs r3, r3, r2 ");			// subtract divisor from acc
+	asm("adc r4, r4, r4 ");				// shift result bit left into quotient
+	asm("addcc r3, r3, r2 ");			// if borrow, add back
+	asm("subs r6, r6, #1 ");			// loop
+	asm("bne udiv64c ");
+	__JUMP(,lr);
+
+	// 2^31 <= Divisor < 2^32
+	// Need 33-bit accumulator - use carry flag as 33rd bit
+	asm("udiv64e: ");
+	asm("mov r4, #0 ");					// use r3 as acc, result in r4, r5
+	asm("mov r5, #0 ");
+	asm("mov r6, #8 ");					// do 2 set of 32 iterations
+	asm("udiv64f: ");
+	asm("adds r1, r1, r1 ");			// shift dividend left into acc
+	asm("adcs r3, r3, r3 ");
+	asm("subcs r3, r3, r2 ");
+	asm("subccs r3, r3, r2 ");			// subtract divisor from acc
+	asm("adc r5, r5, r5 ");				// shift result bit left into quotient
+	asm("addcc r3, r3, r2 ");			// if borrow, add back
+	asm("adds r1, r1, r1 ");			// shift dividend left into acc
+	asm("adcs r3, r3, r3 ");
+	asm("subcs r3, r3, r2 ");
+	asm("subccs r3, r3, r2 ");			// subtract divisor from acc
+	asm("adc r5, r5, r5 ");				// shift result bit left into quotient
+	asm("addcc r3, r3, r2 ");			// if borrow, add back
+	asm("adds r1, r1, r1 ");			// shift dividend left into acc
+	asm("adcs r3, r3, r3 ");
+	asm("subcs r3, r3, r2 ");
+	asm("subccs r3, r3, r2 ");			// subtract divisor from acc
+	asm("adc r5, r5, r5 ");				// shift result bit left into quotient
+	asm("addcc r3, r3, r2 ");			// if borrow, add back
+	asm("adds r1, r1, r1 ");			// shift dividend left into acc
+	asm("adcs r3, r3, r3 ");
+	asm("subcs r3, r3, r2 ");
+	asm("subccs r3, r3, r2 ");			// subtract divisor from acc
+	asm("adc r5, r5, r5 ");				// shift result bit left into quotient
+	asm("addcc r3, r3, r2 ");			// if borrow, add back
+	asm("subs r6, r6, #1 ");			// loop
+	asm("bne udiv64f ");
+	asm("mov r6, #8 ");					// 2nd set of 32 iterations
+	asm("udiv64g: ");
+	asm("adds r0, r0, r0 ");			// shift dividend left into acc
+	asm("adcs r3, r3, r3 ");
+	asm("subcs r3, r3, r2 ");
+	asm("subccs r3, r3, r2 ");			// subtract divisor from acc
+	asm("adc r4, r4, r4 ");				// shift result bit left into quotient
+	asm("addcc r3, r3, r2 ");			// if borrow, add back
+	asm("adds r0, r0, r0 ");			// shift dividend left into acc
+	asm("adcs r3, r3, r3 ");
+	asm("subcs r3, r3, r2 ");
+	asm("subccs r3, r3, r2 ");			// subtract divisor from acc
+	asm("adc r4, r4, r4 ");				// shift result bit left into quotient
+	asm("addcc r3, r3, r2 ");			// if borrow, add back
+	asm("adds r0, r0, r0 ");			// shift dividend left into acc
+	asm("adcs r3, r3, r3 ");
+	asm("subcs r3, r3, r2 ");
+	asm("subccs r3, r3, r2 ");			// subtract divisor from acc
+	asm("adc r4, r4, r4 ");				// shift result bit left into quotient
+	asm("addcc r3, r3, r2 ");			// if borrow, add back
+	asm("adds r0, r0, r0 ");			// shift dividend left into acc
+	asm("adcs r3, r3, r3 ");
+	asm("subcs r3, r3, r2 ");
+	asm("subccs r3, r3, r2 ");			// subtract divisor from acc
+	asm("adc r4, r4, r4 ");				// shift result bit left into quotient
+	asm("addcc r3, r3, r2 ");			// if borrow, add back
+	asm("subs r6, r6, #1 ");			// loop
+	asm("bne udiv64g ");
+	__JUMP(,lr);
+	
+	// Divisor >= 2^32, so quotient < 2^32
+	// Use 64 bit accumulator, 32 bit quotient
+	asm("udiv64a: ");
+	asm("mov r4, #0 ");					// quotient in r4, use r1, r6 as accumulator
+	asm("mov r6, #0 ");
+	asm("mov r5, #8 ");					// do 32 iterations
+	asm("udiv64d: ");
+	asm("adds r0, r0, r0 ");			// shift dividend left into acc
+	asm("adcs r1, r1, r1 ");
+	asm("adcs r6, r6, r6 ");
+	asm("subs r7, r1, r2 ");			// subtract divisor from acc, result into r7,r12
+	asm("sbcs r12, r6, r3 ");
+	asm("adc r4, r4, r4 ");				// shift result bit left into quotient
+	asm("movcs r1, r7 ");				// if no borrow, update acc
+	asm("movcs r6, r12 ");
+	asm("adds r0, r0, r0 ");			// shift dividend left into acc
+	asm("adcs r1, r1, r1 ");
+	asm("adcs r6, r6, r6 ");
+	asm("subs r7, r1, r2 ");			// subtract divisor from acc, result into r7,r12
+	asm("sbcs r12, r6, r3 ");
+	asm("adc r4, r4, r4 ");				// shift result bit left into quotient
+	asm("movcs r1, r7 ");				// if no borrow, update acc
+	asm("movcs r6, r12 ");
+	asm("adds r0, r0, r0 ");			// shift dividend left into acc
+	asm("adcs r1, r1, r1 ");
+	asm("adcs r6, r6, r6 ");
+	asm("subs r7, r1, r2 ");			// subtract divisor from acc, result into r7,r12
+	asm("sbcs r12, r6, r3 ");
+	asm("adc r4, r4, r4 ");				// shift result bit left into quotient
+	asm("movcs r1, r7 ");				// if no borrow, update acc
+	asm("movcs r6, r12 ");
+	asm("adds r0, r0, r0 ");			// shift dividend left into acc
+	asm("adcs r1, r1, r1 ");
+	asm("adcs r6, r6, r6 ");
+	asm("subs r7, r1, r2 ");			// subtract divisor from acc, result into r7,r12
+	asm("sbcs r12, r6, r3 ");
+	asm("adc r4, r4, r4 ");				// shift result bit left into quotient
+	asm("movcs r1, r7 ");				// if no borrow, update acc
+	asm("movcs r6, r12 ");
+	asm("subs r5, r5, #1 ");			// loop
+	asm("bne udiv64d ");
+	asm("mov r3, r1 ");					// remainder in r3,r6
+	__JUMP(,lr);
+
+	asm("udiv64_divby0: ");
+	asm("str lr, [sp, #-4]! ");
+	asm("bl " DIV_BY_ZERO);
+	__POPRET("");
+	}
+
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/bigint/mont.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,235 @@
+/*
+* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include <bigint.h>
+#include <euserext.h>
+#include "algorithms.h"
+#include "words.h"
+#include "windowslider.h"
+#include "mont.h"
+
+CMontgomeryStructure* CMontgomeryStructure::NewL(
+	const TInteger& aModulus)
+	{
+	CMontgomeryStructure* self = CMontgomeryStructure::NewLC(aModulus);
+	CleanupStack::Pop(self);
+	return self;
+	}
+
+CMontgomeryStructure* CMontgomeryStructure::NewLC(
+	const TInteger& aModulus)
+	{
+	CMontgomeryStructure* self = new(ELeave) CMontgomeryStructure;
+	CleanupStack::PushL(self);
+	self->ConstructL(aModulus);
+	return self;
+	}
+
+CMontgomeryStructure::~CMontgomeryStructure()
+	{
+	iModulus.Close();
+	iModulusInv.Close();
+	iWorkspace.Close();
+	iResult.Close();
+	}
+
+void CMontgomeryStructure::ConstructL(const TInteger& aModulus)
+	{
+	User::LeaveIfError(aModulus.IsOdd() ? KErrNone : KErrArgument);
+	
+	iModulusInv = RInteger::NewEmptyL(aModulus.Size());
+	iWorkspace = RInteger::NewEmptyL(5*aModulus.Size());
+	iModulus = RInteger::NewL(aModulus);
+	iResult = RInteger::NewEmptyL(aModulus.Size());
+	RecursiveInverseModPower2(iModulusInv.Ptr(), iWorkspace.Ptr(), 
+		iModulus.Ptr(), iModulus.Size());
+	}
+
+CMontgomeryStructure::CMontgomeryStructure()
+	{
+	}
+
+TInteger& CMontgomeryStructure::ConvertInL(TInteger& aInteger) const
+	{
+	aInteger <<= WordsToBits(iModulus.Size());
+	aInteger %= iModulus;
+	return aInteger;
+	}
+
+TInteger& CMontgomeryStructure::ConvertOutL(TInteger& aInteger) const
+	{
+	TUint* const T = iWorkspace.Ptr();
+	TUint* const R = aInteger.Ptr();
+	const TUint N = iModulus.Size();
+	User::LeaveIfError((aInteger.Size() <= N) ? KErrNone : KErrArgument);
+
+	CopyWords(T, aInteger.Ptr(), aInteger.Size());
+	SetWords(T + aInteger.Size(), 0, 2*N - aInteger.Size());
+	MontgomeryReduce(R, T+2*N, T, iModulus.Ptr(), iModulusInv.Ptr(), N);
+	return aInteger;
+	}
+
+const TInteger& CMontgomeryStructure::ReduceL(
+	const TInteger& aInteger) const
+	{
+	RInteger temp = RInteger::NewL(aInteger);
+	CleanupStack::PushL(temp);
+	ConvertInL(temp);
+	iResult.CopyL(ConvertOutL(temp), EFalse);
+	CleanupStack::PopAndDestroy(&temp);
+	return iResult;
+	}
+
+const TInteger& CMontgomeryStructure::MultiplyL(const TInteger& aA, 
+	const TInteger& aB) const
+	{
+	RInteger a = RInteger::NewL(aA);
+	CleanupStack::PushL(a);
+	RInteger b = RInteger::NewL(aB);
+	CleanupStack::PushL(b);
+	DoMultiplyL(iResult, ConvertInL(a), ConvertInL(b));
+	ConvertOutL(iResult);
+	CleanupStack::PopAndDestroy(&b); 
+	CleanupStack::PopAndDestroy(&a); 
+	return iResult;
+	}
+
+void CMontgomeryStructure::DoMultiplyL(TInteger& aResult, const TInteger& aA,
+	const TInteger& aB) const
+	{
+	User::LeaveIfError((aResult.Size() == iModulus.Size()) ? KErrNone : KErrArgument);
+					   
+	TUint* const T = iWorkspace.Ptr();
+	TUint* const R = aResult.Ptr();
+	const TUint N = iModulus.Size();
+	const TUint* const aReg = aA.Ptr();
+	const TUint* const bReg = aB.Ptr();
+	const TUint aSize = aA.Size();
+	const TUint bSize = aB.Size();
+	User::LeaveIfError((aSize <= N && bSize <= N) ? KErrNone : KErrArgument);
+
+	AsymmetricMultiply(T, T+2*N, aReg, aSize, bReg, bSize);
+	SetWords(T+aSize+bSize, 0, 2*N - aSize - bSize);
+	MontgomeryReduce(R, T+2*N, T, iModulus.Ptr(), iModulusInv.Ptr(), N);
+	}
+
+const TInteger& CMontgomeryStructure::SquareL(const TInteger& aA) const
+	{
+	RInteger a = RInteger::NewL(aA);
+	CleanupStack::PushL(a);
+	DoSquareL(iResult, ConvertInL(a));
+	ConvertOutL(iResult);
+	CleanupStack::PopAndDestroy(&a);
+	return iResult;
+	}
+
+void CMontgomeryStructure::DoSquareL(TInteger& aResult, const TInteger& aA) const
+	{
+	User::LeaveIfError((aResult.Size() == iModulus.Size()) ? KErrNone : KErrArgument);
+	TUint* const T = iWorkspace.Ptr();
+	TUint* const R = aResult.Ptr();
+	const TUint N = iModulus.Size();
+	const TUint* const aReg = aA.Ptr();
+	const TUint aSize = aA.Size();
+
+	User::LeaveIfError((aSize <= N) ? KErrNone : KErrArgument);
+
+	RecursiveSquare(T, T+2*N, aReg, aSize);
+	SetWords(T+2*aSize, 0, 2*N-2*aSize);
+	MontgomeryReduce(R, T+2*N, T, iModulus.Ptr(), iModulusInv.Ptr(), N);
+	}
+
+const TInteger& CMontgomeryStructure::ExponentiateL(
+	const TInteger& aBase, const TInteger& aExponent) const
+	{
+	//See HAC 14.85
+	if ((iResult.Size() != iModulus.Size()) ||
+		(aBase >= iModulus) ||
+		(!aBase.IsPositive()) ||
+		(!aExponent.IsPositive()))
+		{
+		User::Leave(KErrArgument);
+		}
+
+	// 1.1 Precomputation
+	// g1 <- g
+	// g2 <- g^2
+	RInteger g2 = RInteger::NewL(aBase);
+	CleanupStack::PushL(g2);
+	ConvertInL(g2);
+	//ConvertIn can shrink g2, because we call DoSquare on g2, g2 must be the same size as the modulus
+	g2.CleanGrowL(iModulus.Size());
+	RInteger g1 = RInteger::NewL(g2);
+	CleanupStack::PushL(g1);
+	DoSquareL(g2, g2);
+
+	TWindowSlider slider(aExponent);
+
+	// 1.2 
+	// For i from 1 to (2^(k-1) -1) do g2i+1 <- g2i-1 * g2
+	TUint count = (1 << (slider.WindowSize()-1)) - 1; //2^(k-1) -1
+	RRArray<RInteger> powerArray(count+1); //+1 because we append g1
+	User::LeaveIfError(powerArray.Append(g1));
+	CleanupStack::Pop(&g1); 
+	CleanupClosePushL(powerArray);
+	for(TUint k=1; k <= count; k++)
+		{
+		RInteger gi = RInteger::NewEmptyL(iModulus.Size());
+		DoMultiplyL(gi, g2, powerArray[k-1]);
+		User::LeaveIfError(powerArray.Append(gi));
+		}
+	
+	// 2 A <- 1, i <- t
+	RInteger temp = RInteger::NewL(TInteger::One());
+	CleanupStack::PushL(temp);
+	ConvertInL(temp);
+
+	RInteger& A = iResult;
+	//Set A to one converted in for this modulus without changing the memory size of A (iResult)
+	A.CopyL(temp, EFalse); 
+	CleanupStack::PopAndDestroy(&temp);
+
+	TInt i = aExponent.BitCount() - 1;
+
+	// 3 While i>=0 do:
+	while( i>=0 )
+		{
+		// 3.1 If ei == 0 then A <- A^2
+		if(!aExponent.Bit(i))
+			{
+			DoSquareL(A, A);
+			i--;
+			}
+		// 3.2 Find longest bitstring ei,ei-1,...,el s.t. i-l+1<=k and el==1
+		// and do:
+		// A <- (A^2^(i-l+1)) * g[the index indicated by the bitstring value]
+		else
+			{
+			slider.FindNextWindow(i);
+			assert(slider.Length() >= 1);
+			for(TUint j=0; j<slider.Length(); j++)
+				{
+				DoSquareL(A, A);
+				}
+			DoMultiplyL(A, A, powerArray[slider.Value()>>1]);
+			i -= slider.Length();
+			}
+		}
+	CleanupStack::PopAndDestroy(2, &g2); //powerArray, g2
+	return ConvertOutL(A); // A == iResult
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/bigint/mont.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,59 @@
+/*
+* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* CMontgomeryStructure class implementation
+*
+*/
+
+
+/**
+ @file 
+ @internalComponent
+*/
+ 
+#ifndef __MONT_H__
+#define __MONT_H__
+
+class TInteger;
+class RInteger;
+
+/** A special representation of integers allowing efficient multiplication
+ * and exponentiation under special conditions.
+ * @internalComponent
+ */
+class CMontgomeryStructure : public CBase
+	{
+public:
+	static CMontgomeryStructure* NewL(const TInteger& aModulus);
+	static CMontgomeryStructure* NewLC(const TInteger& aModulus);
+	~CMontgomeryStructure();
+	const TInteger& ReduceL(const TInteger& aInteger) const;
+	const TInteger& MultiplyL(const TInteger& aA, const TInteger& aB) const;
+	const TInteger& ExponentiateL(const TInteger& aBase, const TInteger& aExponent) const;
+	const TInteger& SquareL(const TInteger& aA) const;
+protected:
+	void DoMultiplyL(TInteger& aResult, const TInteger& aA, const TInteger& aB) const;
+	void DoSquareL(TInteger& aResult, const TInteger& aA) const;
+	TInteger& ConvertInL(TInteger& aInteger) const;
+	TInteger& ConvertOutL(TInteger& aInteger) const;
+	CMontgomeryStructure();
+private:
+	void ConstructL(const TInteger& aModulus);
+	RInteger iModulus;
+	RInteger iModulusInv;
+	RInteger iWorkspace;
+	mutable RInteger iResult;
+	};
+
+#endif // __MONT_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/bigint/primes.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,449 @@
+/*
+* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include <bigint.h>
+#include <e32std.h>
+#include <securityerr.h>
+#include "words.h"
+#include "primes.h"
+#include "algorithms.h"
+#include "mont.h"
+#include "stackinteger.h"
+
+static inline void EliminateComposites(TUint* aS, TUint aPrime, TUint aJ, 
+	TUint aMaxIndex)
+	{
+	for(; aJ<aMaxIndex; aJ+=aPrime)
+		ArraySetBit(aS, aJ);
+	}
+
+static inline TInt FindLeastSignificantZero(TUint aX)
+	{
+	aX = ~aX;
+	int i = 0;
+	if( aX << 16 == 0 ) aX>>=16, i+=16;
+	if( aX << 24 == 0 ) aX>>=8, i+=8;
+	if( aX << 28 == 0 ) aX>>=4, i+=4;
+	if( aX << 30 == 0 ) aX>>=2, i+=2;
+	if( aX << 31 == 0 ) ++i;
+	return i;
+	}
+
+static inline TInt FindFirstPrimeCandidate(TUint* aS, TUint aBitLength)
+	{
+	assert(aBitLength % WORD_BITS == 0);
+	TUint i=0;
+	//The empty statement at the end of this is stop warnings in all compilers
+	for(; aS[i] == KMaxTUint && i<BitsToWords(aBitLength); i++) {;}
+
+	if(i == BitsToWords(aBitLength))
+		return -1;
+	else
+		{
+		assert( FindLeastSignificantZero((TUint)(aS[i])) >= 0 );
+		assert( FindLeastSignificantZero((TUint)(aS[i])) <= 31 );
+		return i*WORD_BITS + FindLeastSignificantZero((TUint32)(aS[i]));
+		}
+	}
+
+static inline TUint FindSmallestIndex(TUint aPrime, TUint aRemainder)
+	{
+	TUint& j = aRemainder;
+	if(j)
+		{
+		j = aPrime - aRemainder;
+		if( j & 0x1L )
+			{
+			//if j is odd then this + j is even so we actually want 
+			//the next number for which (this + j % p == 0) st this + j is odd
+			//that is: this + j + p == 0 mod p
+			j += aPrime;
+			}
+		//Turn j into an index for a bit array representing odd numbers only
+		j>>=1;
+		}
+	return j;
+	}
+
+static TBool IsSmallPrime(TUint aK) 
+	{
+	//This is just a binary search of our small prime table.
+	TUint l = 0;
+	TUint u = KPrimeTableSize;
+	while( u > l )
+		{
+		TUint m = (l+u)>>1;
+		TUint p = KPrimeTable[m];
+		if(aK < p)
+			u = m;
+		else if (aK > p)
+			l = m + 1;
+		else
+			return ETrue;
+		}
+	return EFalse;
+	}
+
+static inline TUint RabinMillerRounds(TUint aBits) 
+	{
+	//See HAC Table 4.4
+	if(aBits > 1300)
+		return 2;
+	if (aBits > 850)
+		return 3;
+	if (aBits > 650)
+		return 4;
+	if (aBits > 550)
+		return 5;
+	if (aBits > 450)
+		return 6;
+	if (aBits > 400)
+		return 7;
+	if (aBits > 350)
+		return 8;
+	if (aBits > 300)
+		return 9;
+	if (aBits > 250)
+		return 12;
+	if (aBits > 200)
+		return 15;
+	if (aBits > 150)
+		return 18;
+	if (aBits > 100)
+		return 27;
+	//All of the above are optimisations on the worst case.  The worst case
+	//chance of odd composite integers being declared prime by Rabin-Miller is
+	//(1/4)^t where t is the number of rounds.  Thus, t = 40 means that the
+	//chance of declaring a composite integer prime is less than 2^(-80).  See
+	//HAC Fact 4.25 and most of chapter 4 for more details.
+	return 40;
+	}
+
+static TBool HasSmallDivisorL(const TInteger& aPossiblePrime)
+	{
+	assert(aPossiblePrime.IsOdd());
+	//Start checking at the first odd prime, whether it is even should have
+	//already been checked
+	for( TUint i=1; i < KPrimeTableSize; i++ )
+		{
+		if( aPossiblePrime.ModuloL(KPrimeTable[i]) == 0 )
+			{
+			return ETrue;
+			}
+		}
+	return EFalse;
+	}
+
+static TBool RabinMillerIterationL(const CMontgomeryStructure& aMont, 
+	const TInteger& aProbablePrime, const TInteger& aBase)
+	{
+	//see HAC 4.24
+	const TInteger& n = aProbablePrime;
+	assert(n > KLastSmallPrimeSquared);
+	assert(n.IsOdd());
+	assert(aBase > TInteger::One());
+
+	RInteger nminus1 = n.MinusL(TInteger::One());
+	CleanupStack::PushL(nminus1);
+	assert(aBase < nminus1);
+
+	// 1) find (s | 2^s*r == n-1) where r is odd
+	// we want the largest power of 2 that divides n-1
+	TUint s=0;
+	for(;;s++)
+		{
+		if(nminus1.Bit(s))
+			{
+			break;
+			}
+		}
+	// (r = (n-1) / 2^s) which is equiv to (n-1 >>= s)
+	RInteger r = RInteger::NewL(nminus1);
+	CleanupStack::PushL(r);
+	r >>= s;
+
+	//At no point do we own y, aMont owns it
+	const TInteger* y = &(aMont.ExponentiateL(aBase, r));
+
+	TBool probablePrime = EFalse;
+	
+	TUint j=1;
+	if( *y == TInteger::One() || *y == nminus1 )
+		{
+		probablePrime = ETrue;
+		}
+	else
+		{
+		for(j=1; j<s; j++)
+			{
+			y = &(aMont.SquareL(*y));
+			if(*y == nminus1)
+				{
+				probablePrime = ETrue;
+				break;
+				}
+			if(*y == TInteger::One())
+				{
+				assert(probablePrime == EFalse);
+				break;
+				}
+			}
+		}
+	CleanupStack::PopAndDestroy(&r);
+	CleanupStack::PopAndDestroy(&nminus1);//y,r,nminus1
+	return probablePrime;
+	}
+
+static TBool RabinMillerTestL(const CMontgomeryStructure& aMont, 
+	const TInteger& aProbablePrime, TUint aRounds) 
+	{
+	const TInteger& n = aProbablePrime;
+	assert(n > KLastSmallPrimeSquared);
+	
+	RInteger nminus2 = n.MinusL(TInteger::Two());
+	CleanupStack::PushL(nminus2);
+
+	for(TUint i=0; i<aRounds; i++)
+		{
+		RInteger base = RInteger::NewRandomL(TInteger::Two(), nminus2);
+		CleanupStack::PushL(base);
+		if(!RabinMillerIterationL(aMont, n, base))
+			{
+			CleanupStack::PopAndDestroy(2, &nminus2);//base, nminus2
+			return EFalse;
+			}
+		CleanupStack::PopAndDestroy(&base);
+		}
+	CleanupStack::PopAndDestroy(&nminus2);
+	return ETrue;
+	}
+
+static TBool IsStrongProbablePrimeL(const TInteger& aPrime) 
+	{
+	CMontgomeryStructure* mont = CMontgomeryStructure::NewLC(aPrime);
+	//This should be using short circuit evaluation
+	TBool probablePrime = RabinMillerIterationL(*mont, aPrime, TInteger::Two())
+		&& RabinMillerTestL(*mont, aPrime,RabinMillerRounds(aPrime.BitCount()));
+	CleanupStack::PopAndDestroy(mont);
+	return probablePrime;
+	}
+
+/* In the _vast_ majority of cases this simply checks that your chosen random
+ * number is >= KLastSmallPrimeSquared and return EFalse and lets the normal
+ * prime generation routines handle the situation.  In the case where it is
+ * smaller, it generates a provable prime and returns ETrue.  The algorithm for
+ * finding a provable prime < KLastPrimeSquared is not the most efficient in the
+ * world, but two points come to mind
+ * 1) The two if statements hardly _ever_ evaluate to ETrue in real life.
+ * 2) Even when it is, the distribution of primes < KLastPrimeSquared is pretty
+ * dense, so you aren't going to have check many.
+ * This function is essentially here for two reasons:
+ * 1) Ensures that it is possible to generate primes < KLastPrimeSquared (the
+ * test code does this)
+ * 2) Ensures that if you request a prime of a large bit size that there is an
+ * even probability distribution across all integers < 2^aBits
+ */
+TBool TInteger::SmallPrimeRandomizeL(void)
+	{
+	TBool foundPrime = EFalse;
+	//If the random number we've chosen is less than KLastSmallPrime,
+	//testing for primality is easy.
+	if(*this <= KLastSmallPrime)
+		{
+		//If Zero or One, or two, next prime number is two
+		if(IsZero() || *this == One() || *this == Two())
+			{
+			CopyL(TInteger::Two());
+			foundPrime = ETrue;
+			}
+		else
+			{
+			//Make sure any number we bother testing is at least odd
+			SetBit(0);
+			//Binary search the small primes.
+			while(!IsSmallPrime(ConvertToUnsignedLong()))
+				{
+				//If not prime, add two and try the next odd number.
+
+				//will never carry as the minimum size of an RInteger is 2
+				//words.  Much bigger than KLastSmallPrime on 32bit
+				//architectures.
+				IncrementNoCarry(Ptr(), Size(), 2);
+				}
+			assert(IsSmallPrime(ConvertToUnsignedLong()));
+			foundPrime = ETrue;
+			}
+		}
+	else if(*this <= KLastSmallPrimeSquared)
+		{
+		//Make sure any number we bother testing is at least odd
+		SetBit(0);
+
+		while(HasSmallDivisorL(*this) && *this <= KLastSmallPrimeSquared)
+			{
+			//If not prime, add two and try the next odd number.
+
+			//will never carry as the minimum size of an RInteger is 2
+			//words.  Much bigger than KLastSmallPrime on 32bit
+			//architectures.
+			IncrementNoCarry(Ptr(), Size(), 2);
+			}
+		//If we exited while loop because it had no small divisor then it is
+		//prime.  Otherwise, we've exceeded the limit of what we can provably
+		//generate.  Therefore the normal prime gen routines will be run on it
+		//now.
+		if(*this < KLastSmallPrimeSquared)
+			{
+			foundPrime = ETrue;
+			}
+		else
+			{
+			assert(foundPrime == EFalse);
+			}
+		}
+	//This doesn't mean there is no such prime, simply means that the number
+	//wasn't less than KSmallPrimeSquared and needs to be handled by the normal
+	//prime generation routines.
+	return foundPrime;
+	}
+
+void TInteger::PrimeRandomizeL(TUint aBits, TRandomAttribute aAttr)
+	{
+	assert(aBits > 1); 
+	
+	//"this" is "empty" currently.  Consists of Size() words of 0's.  This is just
+	//checking that sign flag is positive as we don't set it later.
+	assert(NotNegative());
+
+	//Flag for the whole function saying if we've found a prime
+	TBool foundProbablePrime = EFalse;
+
+	//Find 2^aBits + 1 -- any prime we find must be less than this.
+	RInteger max = RInteger::NewEmptyL(BitsToWords(aBits)+1);
+	CleanupStack::PushL(max);
+	max.SetBit(aBits);
+	assert(max.BitCount()-1 == aBits);
+
+	// aBits 	| approx number of odd numbers you must try to have a 50% 
+	//			chance of finding a prime
+	//---------------------------------------------------------
+	// 512		| 122		
+	// 1024		| 245
+	// 2048		| 1023
+	//Therefore if we are generating larger than 1024 bit numbers we'll use a
+	//bigger bit array to have a better chance of avoiding re-generating it.
+	TUint sLength = aBits > 1024 ? 1024 : 512;
+	RInteger S = RInteger::NewEmptyL(BitsToWords(sLength));
+	CleanupStack::PushL(S);
+
+	while(!foundProbablePrime)
+		{
+		//Randomly choose aBits
+		RandomizeL(aBits, aAttr);
+
+		//If the random number chosen is less than KSmallPrimeSquared, we have a
+		//special set of routines.
+		if(SmallPrimeRandomizeL())
+			{
+			foundProbablePrime = ETrue;
+			}
+		else
+			{
+			//if it was <= KLastSmallPrimeSquared then it would have been
+			//handled by SmallPrimeRandomizeL()
+			assert(*this > KLastSmallPrimeSquared);
+
+			//Make sure any number we bother testing is at least odd
+			SetBit(0);
+
+			//Ensure that this + 2*sLength < max
+			RInteger temp = max.MinusL(*this);
+			CleanupStack::PushL(temp);
+			++temp;
+			temp >>=1;
+			if(temp < sLength)
+				{
+				//if this + 2*sLength >= max then we use a smaller sLength to
+				//ensure we don't find a number that is outside of our bounds
+				//(and bigger than our allocated memory for this)
+
+				//temp must be less than KMaxTUint as sLength is a TUint 
+				sLength = temp.ConvertToUnsignedLong();	
+				}
+			CleanupStack::PopAndDestroy(&temp);
+
+			//Start at 1 as no point in checking against 2 (all odd numbers)
+			for(TUint i=1; i<KPrimeTableSize; i++)
+				{
+				//no need to call ModuloL as we know KPrimeTable[i] is not 0
+				TUint remainder = Modulo(*this, KPrimeTable[i]);
+				TUint index = FindSmallestIndex(KPrimeTable[i], remainder);
+				EliminateComposites(S.Ptr(), KPrimeTable[i], index, sLength);
+				}
+			TInt j = FindFirstPrimeCandidate(S.Ptr(), sLength);
+			TInt prev = 0;
+			for(; j>=0; j=FindFirstPrimeCandidate(S.Ptr(), sLength))
+				{
+				ArraySetBit(S.Ptr(), j);
+
+				//should never carry as we earlier made sure that 2*j + this < max
+				//where max is 1 bit more than we asked for.
+				IncrementNoCarry(Ptr(), Size(), 2*(j-prev));
+
+				assert(*this < max);
+				assert(!HasSmallDivisorL(*this));
+
+				prev = j;
+
+				if( IsStrongProbablePrimeL(*this) )
+					{
+					foundProbablePrime = ETrue;
+					break;
+					}
+				}
+			//This clears the memory
+			S.CopyL(0, EFalse);
+			}
+		}
+	CleanupStack::PopAndDestroy(2, &max);
+	}
+
+TBool TInteger::IsPrimeL(void) const
+	{
+	if( NotPositive() )
+		{
+		return EFalse;
+		}
+	else if( IsEven() )
+		{
+		return *this == Two();
+		}
+	else if( *this <= KLastSmallPrime )
+		{
+		assert(KLastSmallPrime < KMaxTUint);
+		return IsSmallPrime(this->ConvertToUnsignedLong());
+		}
+	else if( *this <= KLastSmallPrimeSquared )
+		{
+		return !HasSmallDivisorL(*this);
+		}
+	else 
+		{
+		return !HasSmallDivisorL(*this) && IsStrongProbablePrimeL(*this);
+		}
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/bigint/primes.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,297 @@
+/*
+* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Table of prime numbers.
+*
+*/
+
+
+/**
+ @file 
+ @internalComponent
+*/
+ 
+#ifndef __BIGINT_PRIMES_H__
+#define __BIGINT_PRIMES_H__
+
+#include <e32std.h>
+
+const TUint16 KPrimeTable[] = 
+	{
+	2, 3, 5, 7, 11, 13, 17, 19,
+	23, 29, 31, 37, 41, 43, 47, 53,
+	59, 61, 67, 71, 73, 79, 83, 89,
+	97, 101, 103, 107, 109, 113, 127, 131,
+	137, 139, 149, 151, 157, 163, 167, 173,
+	179, 181, 191, 193, 197, 199, 211, 223,
+	227, 229, 233, 239, 241, 251, 257, 263,
+	269, 271, 277, 281, 283, 293, 307, 311,
+	313, 317, 331, 337, 347, 349, 353, 359,
+	367, 373, 379, 383, 389, 397, 401, 409,
+	419, 421, 431, 433, 439, 443, 449, 457,
+	461, 463, 467, 479, 487, 491, 499, 503,
+	509, 521, 523, 541, 547, 557, 563, 569,
+	571, 577, 587, 593, 599, 601, 607, 613,
+	617, 619, 631, 641, 643, 647, 653, 659,
+	661, 673, 677, 683, 691, 701, 709, 719,
+	727, 733, 739, 743, 751, 757, 761, 769,
+	773, 787, 797, 809, 811, 821, 823, 827,
+	829, 839, 853, 857, 859, 863, 877, 881,
+	883, 887, 907, 911, 919, 929, 937, 941,
+	947, 953, 967, 971, 977, 983, 991, 997,
+	1009, 1013, 1019, 1021, 1031, 1033, 1039, 1049,
+	1051, 1061, 1063, 1069, 1087, 1091, 1093, 1097,
+	1103, 1109, 1117, 1123, 1129, 1151, 1153, 1163,
+	1171, 1181, 1187, 1193, 1201, 1213, 1217, 1223,
+	1229, 1231, 1237, 1249, 1259, 1277, 1279, 1283,
+	1289, 1291, 1297, 1301, 1303, 1307, 1319, 1321,
+	1327, 1361, 1367, 1373, 1381, 1399, 1409, 1423,
+	1427, 1429, 1433, 1439, 1447, 1451, 1453, 1459,
+	1471, 1481, 1483, 1487, 1489, 1493, 1499, 1511,
+	1523, 1531, 1543, 1549, 1553, 1559, 1567, 1571,
+	1579, 1583, 1597, 1601, 1607, 1609, 1613, 1619,
+	1621, 1627, 1637, 1657, 1663, 1667, 1669, 1693,
+	1697, 1699, 1709, 1721, 1723, 1733, 1741, 1747,
+	1753, 1759, 1777, 1783, 1787, 1789, 1801, 1811,
+	1823, 1831, 1847, 1861, 1867, 1871, 1873, 1877,
+	1879, 1889, 1901, 1907, 1913, 1931, 1933, 1949,
+	1951, 1973, 1979, 1987, 1993, 1997, 1999, 2003,
+	2011, 2017, 2027, 2029, 2039, 2053, 2063, 2069,
+	2081, 2083, 2087, 2089, 2099, 2111, 2113, 2129,
+	2131, 2137, 2141, 2143, 2153, 2161, 2179, 2203,
+	2207, 2213, 2221, 2237, 2239, 2243, 2251, 2267,
+	2269, 2273, 2281, 2287, 2293, 2297, 2309, 2311,
+	2333, 2339, 2341, 2347, 2351, 2357, 2371, 2377,
+	2381, 2383, 2389, 2393, 2399, 2411, 2417, 2423,
+	2437, 2441, 2447, 2459, 2467, 2473, 2477, 2503,
+	2521, 2531, 2539, 2543, 2549, 2551, 2557, 2579,
+	2591, 2593, 2609, 2617, 2621, 2633, 2647, 2657,
+	2659, 2663, 2671, 2677, 2683, 2687, 2689, 2693,
+	2699, 2707, 2711, 2713, 2719, 2729, 2731, 2741,
+	2749, 2753, 2767, 2777, 2789, 2791, 2797, 2801,
+	2803, 2819, 2833, 2837, 2843, 2851, 2857, 2861,
+	2879, 2887, 2897, 2903, 2909, 2917, 2927, 2939,
+	2953, 2957, 2963, 2969, 2971, 2999, 3001, 3011,
+	3019, 3023, 3037, 3041, 3049, 3061, 3067, 3079,
+	3083, 3089, 3109, 3119, 3121, 3137, 3163, 3167,
+	3169, 3181, 3187, 3191, 3203, 3209, 3217, 3221,
+	3229, 3251, 3253, 3257, 3259, 3271, 3299, 3301,
+	3307, 3313, 3319, 3323, 3329, 3331, 3343, 3347,
+	3359, 3361, 3371, 3373, 3389, 3391, 3407, 3413,
+	3433, 3449, 3457, 3461, 3463, 3467, 3469, 3491,
+	3499, 3511, 3517, 3527, 3529, 3533, 3539, 3541,
+	3547, 3557, 3559, 3571, 3581, 3583, 3593, 3607,
+	3613, 3617, 3623, 3631, 3637, 3643, 3659, 3671,
+	3673, 3677, 3691, 3697, 3701, 3709, 3719, 3727,
+	3733, 3739, 3761, 3767, 3769, 3779, 3793, 3797,
+	3803, 3821, 3823, 3833, 3847, 3851, 3853, 3863,
+	3877, 3881, 3889, 3907, 3911, 3917, 3919, 3923,
+	3929, 3931, 3943, 3947, 3967, 3989, 4001, 4003,
+	4007, 4013, 4019, 4021, 4027, 4049, 4051, 4057, 
+	4073, 4079, 4091, 4093, 4099, 4111, 4127, 4129, 
+	4133, 4139, 4153, 4157, 4159, 4177, 4201, 4211, 
+	4217, 4219, 4229, 4231, 4241, 4243, 4253, 4259, 
+	4261, 4271, 4273, 4283, 4289, 4297, 4327, 4337, 
+	4339, 4349, 4357, 4363, 4373, 4391, 4397, 4409, 
+	4421, 4423, 4441, 4447, 4451, 4457, 4463, 4481, 
+	4483, 4493, 4507, 4513, 4517, 4519, 4523, 4547, 
+	4549, 4561, 4567, 4583, 4591, 4597, 4603, 4621, 
+	4637, 4639, 4643, 4649, 4651, 4657, 4663, 4673, 
+	4679, 4691, 4703, 4721, 4723, 4729, 4733, 4751, 
+	4759, 4783, 4787, 4789, 4793, 4799, 4801, 4813, 
+	4817, 4831, 4861, 4871, 4877, 4889, 4903, 4909, 
+	4919, 4931, 4933, 4937, 4943, 4951, 4957, 4967, 
+	4969, 4973, 4987, 4993, 4999, 5003, 5009, 5011, 
+	5021, 5023, 5039, 5051, 5059, 5077, 5081, 5087, 
+	5099, 5101, 5107, 5113, 5119, 5147, 5153, 5167, 
+	5171, 5179, 5189, 5197, 5209, 5227, 5231, 5233, 
+	5237, 5261, 5273, 5279, 5281, 5297, 5303, 5309, 
+	5323, 5333, 5347, 5351, 5381, 5387, 5393, 5399, 
+	5407, 5413, 5417, 5419, 5431, 5437, 5441, 5443, 
+	5449, 5471, 5477, 5479, 5483, 5501, 5503, 5507, 
+	5519, 5521, 5527, 5531, 5557, 5563, 5569, 5573, 
+	5581, 5591, 5623, 5639, 5641, 5647, 5651, 5653, 
+	5657, 5659, 5669, 5683, 5689, 5693, 5701, 5711, 
+	5717, 5737, 5741, 5743, 5749, 5779, 5783, 5791, 
+	5801, 5807, 5813, 5821, 5827, 5839, 5843, 5849, 
+	5851, 5857, 5861, 5867, 5869, 5879, 5881, 5897, 
+	5903, 5923, 5927, 5939, 5953, 5981, 5987, 6007, 
+	6011, 6029, 6037, 6043, 6047, 6053, 6067, 6073, 
+	6079, 6089, 6091, 6101, 6113, 6121, 6131, 6133, 
+	6143, 6151, 6163, 6173, 6197, 6199, 6203, 6211, 
+	6217, 6221, 6229, 6247, 6257, 6263, 6269, 6271, 
+	6277, 6287, 6299, 6301, 6311, 6317, 6323, 6329, 
+	6337, 6343, 6353, 6359, 6361, 6367, 6373, 6379, 
+	6389, 6397, 6421, 6427, 6449, 6451, 6469, 6473, 
+	6481, 6491, 6521, 6529, 6547, 6551, 6553, 6563, 
+	6569, 6571, 6577, 6581, 6599, 6607, 6619, 6637, 
+	6653, 6659, 6661, 6673, 6679, 6689, 6691, 6701, 
+	6703, 6709, 6719, 6733, 6737, 6761, 6763, 6779, 
+	6781, 6791, 6793, 6803, 6823, 6827, 6829, 6833, 
+	6841, 6857, 6863, 6869, 6871, 6883, 6899, 6907, 
+	6911, 6917, 6947, 6949, 6959, 6961, 6967, 6971, 
+	6977, 6983, 6991, 6997, 7001, 7013, 7019, 7027, 
+	7039, 7043, 7057, 7069, 7079, 7103, 7109, 7121, 
+	7127, 7129, 7151, 7159, 7177, 7187, 7193, 7207, 
+	7211, 7213, 7219, 7229, 7237, 7243, 7247, 7253, 
+	7283, 7297, 7307, 7309, 7321, 7331, 7333, 7349, 
+	7351, 7369, 7393, 7411, 7417, 7433, 7451, 7457, 
+	7459, 7477, 7481, 7487, 7489, 7499, 7507, 7517, 
+	7523, 7529, 7537, 7541, 7547, 7549, 7559, 7561, 
+	7573, 7577, 7583, 7589, 7591, 7603, 7607, 7621, 
+	7639, 7643, 7649, 7669, 7673, 7681, 7687, 7691, 
+	7699, 7703, 7717, 7723, 7727, 7741, 7753, 7757, 
+	7759, 7789, 7793, 7817, 7823, 7829, 7841, 7853, 
+	7867, 7873, 7877, 7879, 7883, 7901, 7907, 7919, 
+	7927, 7933, 7937, 7949, 7951, 7963, 7993, 8009, 
+	8011, 8017, 8039, 8053, 8059, 8069, 8081, 8087, 
+	8089, 8093, 8101, 8111, 8117, 8123, 8147, 8161, 
+	8167, 8171, 8179, 8191, 8209, 8219, 8221, 8231, 
+	8233, 8237, 8243, 8263, 8269, 8273, 8287, 8291, 
+	8293, 8297, 8311, 8317, 8329, 8353, 8363, 8369, 
+	8377, 8387, 8389, 8419, 8423, 8429, 8431, 8443, 
+	8447, 8461, 8467, 8501, 8513, 8521, 8527, 8537, 
+	8539, 8543, 8563, 8573, 8581, 8597, 8599, 8609, 
+	8623, 8627, 8629, 8641, 8647, 8663, 8669, 8677, 
+	8681, 8689, 8693, 8699, 8707, 8713, 8719, 8731, 
+	8737, 8741, 8747, 8753, 8761, 8779, 8783, 8803, 
+	8807, 8819, 8821, 8831, 8837, 8839, 8849, 8861, 
+	8863, 8867, 8887, 8893, 8923, 8929, 8933, 8941, 
+	8951, 8963, 8969, 8971, 8999, 9001, 9007, 9011, 
+	9013, 9029, 9041, 9043, 9049, 9059, 9067, 9091, 
+	9103, 9109, 9127, 9133, 9137, 9151, 9157, 9161, 
+	9173, 9181, 9187, 9199, 9203, 9209, 9221, 9227, 
+	9239, 9241, 9257, 9277, 9281, 9283, 9293, 9311, 
+	9319, 9323, 9337, 9341, 9343, 9349, 9371, 9377, 
+	9391, 9397, 9403, 9413, 9419, 9421, 9431, 9433, 
+	9437, 9439, 9461, 9463, 9467, 9473, 9479, 9491, 
+	9497, 9511, 9521, 9533, 9539, 9547, 9551, 9587, 
+	9601, 9613, 9619, 9623, 9629, 9631, 9643, 9649, 
+	9661, 9677, 9679, 9689, 9697, 9719, 9721, 9733, 
+	9739, 9743, 9749, 9767, 9769, 9781, 9787, 9791, 
+	9803, 9811, 9817, 9829, 9833, 9839, 9851, 9857, 
+	9859, 9871, 9883, 9887, 9901, 9907, 9923, 9929, 
+	9931, 9941, 9949, 9967, 9973, 10007, 10009, 10037, 
+	10039, 10061, 10067, 10069, 10079, 10091, 10093, 10099, 
+	10103, 10111, 10133, 10139, 10141, 10151, 10159, 10163, 
+	10169, 10177, 10181, 10193, 10211, 10223, 10243, 10247, 
+	10253, 10259, 10267, 10271, 10273, 10289, 10301, 10303, 
+	10313, 10321, 10331, 10333, 10337, 10343, 10357, 10369, 
+	10391, 10399, 10427, 10429, 10433, 10453, 10457, 10459, 
+	10463, 10477, 10487, 10499, 10501, 10513, 10529, 10531, 
+	10559, 10567, 10589, 10597, 10601, 10607, 10613, 10627, 
+	10631, 10639, 10651, 10657, 10663, 10667, 10687, 10691, 
+	10709, 10711, 10723, 10729, 10733, 10739, 10753, 10771, 
+	10781, 10789, 10799, 10831, 10837, 10847, 10853, 10859, 
+	10861, 10867, 10883, 10889, 10891, 10903, 10909, 10937, 
+	10939, 10949, 10957, 10973, 10979, 10987, 10993, 11003, 
+	11027, 11047, 11057, 11059, 11069, 11071, 11083, 11087, 
+	11093, 11113, 11117, 11119, 11131, 11149, 11159, 11161, 
+	11171, 11173, 11177, 11197, 11213, 11239, 11243, 11251, 
+	11257, 11261, 11273, 11279, 11287, 11299, 11311, 11317, 
+	11321, 11329, 11351, 11353, 11369, 11383, 11393, 11399, 
+	11411, 11423, 11437, 11443, 11447, 11467, 11471, 11483, 
+	11489, 11491, 11497, 11503, 11519, 11527, 11549, 11551, 
+	11579, 11587, 11593, 11597, 11617, 11621, 11633, 11657, 
+	11677, 11681, 11689, 11699, 11701, 11717, 11719, 11731, 
+	11743, 11777, 11779, 11783, 11789, 11801, 11807, 11813, 
+	11821, 11827, 11831, 11833, 11839, 11863, 11867, 11887, 
+	11897, 11903, 11909, 11923, 11927, 11933, 11939, 11941, 
+	11953, 11959, 11969, 11971, 11981, 11987, 12007, 12011, 
+	12037, 12041, 12043, 12049, 12071, 12073, 12097, 12101, 
+	12107, 12109, 12113, 12119, 12143, 12149, 12157, 12161, 
+	12163, 12197, 12203, 12211, 12227, 12239, 12241, 12251, 
+	12253, 12263, 12269, 12277, 12281, 12289, 12301, 12323, 
+	12329, 12343, 12347, 12373, 12377, 12379, 12391, 12401, 
+	12409, 12413, 12421, 12433, 12437, 12451, 12457, 12473, 
+	12479, 12487, 12491, 12497, 12503, 12511, 12517, 12527, 
+	12539, 12541, 12547, 12553, 12569, 12577, 12583, 12589, 
+	12601, 12611, 12613, 12619, 12637, 12641, 12647, 12653, 
+	12659, 12671, 12689, 12697, 12703, 12713, 12721, 12739, 
+	12743, 12757, 12763, 12781, 12791, 12799, 12809, 12821, 
+	12823, 12829, 12841, 12853, 12889, 12893, 12899, 12907, 
+	12911, 12917, 12919, 12923, 12941, 12953, 12959, 12967, 
+	12973, 12979, 12983, 13001, 13003, 13007, 13009, 13033, 
+	13037, 13043, 13049, 13063, 13093, 13099, 13103, 13109, 
+	13121, 13127, 13147, 13151, 13159, 13163, 13171, 13177, 
+	13183, 13187, 13217, 13219, 13229, 13241, 13249, 13259, 
+	13267, 13291, 13297, 13309, 13313, 13327, 13331, 13337, 
+	13339, 13367, 13381, 13397, 13399, 13411, 13417, 13421, 
+	13441, 13451, 13457, 13463, 13469, 13477, 13487, 13499, 
+	13513, 13523, 13537, 13553, 13567, 13577, 13591, 13597, 
+	13613, 13619, 13627, 13633, 13649, 13669, 13679, 13681, 
+	13687, 13691, 13693, 13697, 13709, 13711, 13721, 13723, 
+	13729, 13751, 13757, 13759, 13763, 13781, 13789, 13799, 
+	13807, 13829, 13831, 13841, 13859, 13873, 13877, 13879, 
+	13883, 13901, 13903, 13907, 13913, 13921, 13931, 13933, 
+	13963, 13967, 13997, 13999, 14009, 14011, 14029, 14033, 
+	14051, 14057, 14071, 14081, 14083, 14087, 14107, 14143, 
+	14149, 14153, 14159, 14173, 14177, 14197, 14207, 14221, 
+	14243, 14249, 14251, 14281, 14293, 14303, 14321, 14323, 
+	14327, 14341, 14347, 14369, 14387, 14389, 14401, 14407, 
+	14411, 14419, 14423, 14431, 14437, 14447, 14449, 14461, 
+	14479, 14489, 14503, 14519, 14533, 14537, 14543, 14549, 
+	14551, 14557, 14561, 14563, 14591, 14593, 14621, 14627, 
+	14629, 14633, 14639, 14653, 14657, 14669, 14683, 14699, 
+	14713, 14717, 14723, 14731, 14737, 14741, 14747, 14753, 
+	14759, 14767, 14771, 14779, 14783, 14797, 14813, 14821, 
+	14827, 14831, 14843, 14851, 14867, 14869, 14879, 14887, 
+	14891, 14897, 14923, 14929, 14939, 14947, 14951, 14957, 
+	14969, 14983, 15013, 15017, 15031, 15053, 15061, 15073, 
+	15077, 15083, 15091, 15101, 15107, 15121, 15131, 15137, 
+	15139, 15149, 15161, 15173, 15187, 15193, 15199, 15217, 
+	15227, 15233, 15241, 15259, 15263, 15269, 15271, 15277, 
+	15287, 15289, 15299, 15307, 15313, 15319, 15329, 15331, 
+	15349, 15359, 15361, 15373, 15377, 15383, 15391, 15401, 
+	15413, 15427, 15439, 15443, 15451, 15461, 15467, 15473, 
+	15493, 15497, 15511, 15527, 15541, 15551, 15559, 15569, 
+	15581, 15583, 15601, 15607, 15619, 15629, 15641, 15643, 
+	15647, 15649, 15661, 15667, 15671, 15679, 15683, 15727, 
+	15731, 15733, 15737, 15739, 15749, 15761, 15767, 15773, 
+	15787, 15791, 15797, 15803, 15809, 15817, 15823, 15859, 
+	15877, 15881, 15887, 15889, 15901, 15907, 15913, 15919, 
+	15923, 15937, 15959, 15971, 15973, 15991, 16001, 16007, 
+	16033, 16057, 16061, 16063, 16067, 16069, 16073, 16087, 
+	16091, 16097, 16103, 16111, 16127, 16139, 16141, 16183, 
+	16187, 16189, 16193, 16217, 16223, 16229, 16231, 16249, 
+	16253, 16267, 16273, 16301, 16319, 16333, 16339, 16349, 
+	16361, 16363, 16369, 16381, 16411, 16417, 16421, 16427, 
+	16433, 16447, 16451, 16453, 16477, 16481, 16487, 16493, 
+	16519, 16529, 16547, 16553, 16561, 16567, 16573, 16603, 
+	16607, 16619, 16631, 16633, 16649, 16651, 16657, 16661, 
+	16673, 16691, 16693, 16699, 16703, 16729, 16741, 16747, 
+	16759, 16763, 16787, 16811, 16823, 16829, 16831, 16843, 
+	16871, 16879, 16883, 16889, 16901, 16903, 16921, 16927, 
+	16931, 16937, 16943, 16963, 16979, 16981, 16987, 16993, 
+	17011, 17021, 17027, 17029, 17033, 17041, 17047, 17053, 
+	17077, 17093, 17099, 17107, 17117, 17123, 17137, 17159, 
+	17167, 17183, 17189, 17191, 17203, 17207, 17209, 17231, 
+	17239, 17257, 17291, 17293, 17299, 17317, 17321, 17327, 
+	17333, 17341, 17351, 17359, 17377, 17383, 17387, 17389, 
+	17393, 17401, 17417, 17419, 17431, 17443, 17449, 17467, 
+	17471, 17477, 17483, 17489, 17491, 17497, 17509, 17519, 
+	17539, 17551, 17569, 17573, 17579, 17581, 17597, 17599, 
+	17609, 17623, 17627, 17657, 17659, 17669, 17681, 17683, 
+	17707, 17713, 17729, 17737, 17747, 17749, 17761, 17783, 
+	17789, 17791, 17807, 17827, 17837, 17839, 17851, 17863 
+};
+
+const TUint KPrimeTableSize = sizeof(KPrimeTable)/sizeof(TUint16);
+const TUint KLastSmallPrime = 17863; 
+//Next line doesn't work on arm4 as it doesn't make this calculation at compile
+//time but leaves it for runtime. Therefore we would have uninitialised const
+//data.
+//const TUint KLastSmallPrime = KPrimeTable[KPrimeTableSize-1];
+const TUint KLastSmallPrimeSquared = KLastSmallPrime*KLastSmallPrime;
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/bigint/rinteger.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,254 @@
+/*
+* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include <bigint.h>
+#include <e32std.h>
+#include <random.h>
+#include "../common/inlines.h"
+
+
+/** 
+ * Copy constructor
+ *
+ * This function performs a shallow copy, 
+ * i.e. the memory holding the integer is not copied.
+ */
+EXPORT_C RInteger::RInteger(const RInteger& aInteger)
+	{
+	*this = aInteger;
+	}
+
+/** 
+ * Assignment operator
+ * 
+ * This function performs a shallow copy, 
+ * i.e. the memory holding the integer is not copied.
+ */
+EXPORT_C RInteger& RInteger::operator=(const RInteger& aInteger)
+	{
+	iSize = aInteger.iSize;
+	iPtr = aInteger.iPtr;
+	return *this;
+	}
+
+
+/** 
+ * Creates a new integer representing 0.
+ * 
+ * @return	An RInteger by value.
+ */
+EXPORT_C RInteger RInteger::NewL(void)
+	{
+	return NewL(TInteger::Zero());
+	}
+
+/** 
+ * Creates a new integer object representing a specified value.
+ * 
+ * @param aValue	A descriptor containing the big-endian binary
+ * 					representation of the value.
+ * @return			An RInteger object representing the value.
+ */
+EXPORT_C RInteger RInteger::NewL(const TDesC8& aValue)
+	{
+	RInteger self;
+	//Construct zero's memory beyond the size of aValue after construction
+	self.CreateNewL(BytesToWords(aValue.Size()));
+	self.Construct(aValue);
+	return self;
+	}
+
+/** 
+ * Creates an exact copy of an \c aInteger object.
+ * 
+ * @param aInteger	The integer you wish to copy
+ * @return			An RInteger object representing an exact copy of 
+ *					aInteger by value.
+ */
+EXPORT_C RInteger RInteger::NewL(const TInteger& aInteger)
+	{
+	RInteger self;
+	//don't need to CleanNewL as we'll copy straight from aInteger
+	self.CreateNewL(aInteger.Size());
+	self.Construct(aInteger);
+	return self;
+	}
+
+/** 
+ * Creates a random integer uniformly distributed over [0, 2^aBits].
+ * 
+ * @param aBits	The number of bits you wish to randomly select.
+ * @param aAttr	Enum specifying whether specific bits in the random number should
+ *				be set.  See TRandomAttribute for more information.
+ * @return		A random RInteger object in the range specified.
+ */
+EXPORT_C RInteger RInteger::NewRandomL(TUint aBits, TRandomAttribute aAttr)
+	{
+	RInteger self;
+	self.CleanNewL(BitsToWords(aBits));
+	CleanupStack::PushL(self);
+	self.RandomizeL(aBits, aAttr);
+	CleanupStack::Pop(&self); 
+	return self;
+	}
+
+/** 
+ * Creates a random integer uniformly distributed over [x | min <= x <= max].
+ * 
+ * @param aMin	The smallest possible value for the random integer (inclusive).
+ * @param aMax	The largest possible value for the random integer (inclusive).
+ * @return		A random RInteger object in the range specified.
+ */
+EXPORT_C RInteger RInteger::NewRandomL(const TInteger& aMin,
+	const TInteger& aMax)
+	{
+	RInteger self;
+	self.CleanNewL(aMax.Size());
+	CleanupStack::PushL(self);
+	self.RandomizeL(aMin, aMax);
+	CleanupStack::Pop(&self);
+	return self;
+	}
+
+/** 
+ * Finds a random prime integer in the range of [2, 2^aBits].
+ *
+ * This is done by picking a random integer and using that as a starting point
+ * for a sequential search for a prime.  To verify the primality of number, 
+ * this algorithm uses a probablistic primality test.  This means that it is
+ * possible, although extremely improbable, that the number returned is a pseudoprime.
+ *
+ * @param aBits	The number of bits you wish to randomly select your prime from.
+ * @param aAttr	Enum specifying whether specific bits in the random number should
+ *				be set.  See TRandomAttribute for more information.
+ * @return		A random RInteger representing a probable prime (with very high
+ *				probablity) in the range specified.
+ */
+EXPORT_C RInteger RInteger::NewPrimeL(TUint aBits, TRandomAttribute aAttr)
+	{
+	RInteger self;
+	self.CleanNewL(BitsToWords(aBits));
+	CleanupStack::PushL(self);
+	self.PrimeRandomizeL(aBits, aAttr);
+	CleanupStack::Pop(&self);
+	return self;
+	}
+
+/** 
+ * Creates a new integer from the value represented by \c aInteger.
+ * 
+ * @param aInteger	A signed word sized integer.
+ * @return			An RInteger representation of aInteger by value.
+ */
+EXPORT_C RInteger RInteger::NewL(TInt aInteger)
+	{
+	RInteger self;
+	self.CreateNewL(2);
+	self.Construct(aInteger);
+	return self;
+	}
+
+/** 
+ * Creates a new integer from the value represented by \c aInteger.
+ *
+ * @param aInteger	An unsigned word sized integer.
+ * @return			An RInteger representation of aInteger by value.
+ */
+EXPORT_C RInteger RInteger::NewL(TUint aInteger)
+	{
+	RInteger self;
+	self.CreateNewL(2);
+	self.Construct(aInteger);
+	return self;
+	}
+
+/** 
+ * Creates a new integer with a preallocated internal storage of \c aNumWords all
+ * initialised to zero.
+ *
+ * The resulting RInteger object is logically equivalent to RInteger::NewL(0).
+ * The only difference is that the internal storage requirements have been 
+ * specified to be larger than the default. This is useful if you are about 
+ * to perform an operation on this integer, that you know the resulting size
+ * requirements of, and wish to avoid a heap resize.
+ *
+ * @param aNumWords	The number of words for to preallocated and zero fill.
+ * @return			An RInteger object representing 0 with a preallocated 
+ *					zero-filled internal storage of aNumWords.
+ */
+EXPORT_C RInteger RInteger::NewEmptyL(TUint aNumWords)
+	{
+	RInteger self;
+	self.CleanNewL(aNumWords);
+	//There's no construct as there isn't anything to do
+	return self;
+	}
+
+/**
+ * Creates an RInteger object with no associated internal (heap) storage.
+ * 
+ * All data members are initialised to zero.  It is safe (although not strictly necessary)
+ * to push such an RInteger object onto the CleanupStack.  This is useful, for example, if
+ * you want to pass an RInteger object by reference into a function and have it create
+ * the representation of the actual integer for you.  
+ *
+ * Note that performing any operation on such an RInteger object other than the default
+ * assignment operator or copy constructor will panic your code.
+ * 
+ * @return	A stack based class that has no associated internal storage and thus
+ *			does not represent any number.
+ */
+EXPORT_C RInteger::RInteger(void)  
+	{
+	}
+
+/** 
+ * An overloaded TCleanupItem() allowing the RIntegers to be pushed,
+ * popped, and destroyed via the CleanupStack like any other CBase derived object.
+ */
+EXPORT_C RInteger::operator TCleanupItem(void)
+	{
+	return TCleanupItem(&RInteger::CallClose, this);
+	}
+
+/** 
+ * Helper function registered with the cleanup stack that just calls Close() for
+ * this RInteger object.
+ * 
+ * @param aPtr	A pointer to the object for which clean-up is to be performed. 
+ */
+EXPORT_C void RInteger::CallClose(TAny* aPtr)
+	{
+	((RInteger*)aPtr)->Close();	
+	}
+
+/** 
+ * Zeros and then frees any memory owned by this RInteger object.
+ *  
+ * An RInteger object that has been closed can safely fall off the stack.
+ */
+EXPORT_C void RInteger::Close(void)
+	{
+	if (iPtr)
+		{
+		Mem::FillZ(Ptr(), Size()*4);
+		User::Free(Ptr());
+		iSize = 0;
+		iPtr = NULL;
+		}
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/bigint/stackinteger.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,59 @@
+/*
+* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* TStackInteger class implementation
+*
+*/
+
+
+/**
+ @file 
+ @internalComponent
+*/
+ 
+#ifndef __STACK_INTEGER_H__
+#define __STACK_INTEGER_H__
+
+#include "bigint.h"
+
+/** An integer that can be created on the stack.\n\n
+ * The resulting integers are
+ * fixed in size and any code that tries to modify their memory allocation
+ * will panic.  Stack based integers may be modified as long as you can
+ * guarantee that the resulting integer will fit in the current amount of
+ * allocated memory.  For integers that can dynamically grow see RInteger.
+ * If you are not sure which integer you want, you want an RInteger.
+ * @internalComponent
+ * @released
+ * @see RInteger
+ */
+template <TUint W=2> 
+class TStackInteger : public TInteger
+	{
+public:
+	inline TStackInteger<W>(TUint aInteger) {ConstructStack(W, aInteger);}
+	inline TStackInteger<W>(const TInteger& aInteger) {ConstructStack(W, aInteger);}
+protected:
+	TUint32 iBuf[W];
+	};
+
+typedef TStackInteger<2> TStackInteger64;
+typedef TStackInteger<4> TStackInteger128;
+typedef TStackInteger<8> TStackInteger256;
+typedef TStackInteger<16> TStackInteger512;
+typedef TStackInteger<32> TStackInteger1024;
+typedef TStackInteger<64> TStackInteger2048;
+//Don't make them any bigger than this :).  The last one is 66 words (264 bytes)
+
+#endif // __STACK_INTEGER_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/bigint/vchelp.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,351 @@
+/*
+* Copyright (c) 1995-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* e32\nklib\x86\vchelp.cpp
+*
+*/
+
+
+#ifndef __NAKED__
+#define __NAKED__	__declspec(naked)
+#endif
+
+#include <e32def.h>
+
+#pragma warning ( disable : 4414 )  // short jump to function converted to near
+
+extern "C" {
+__NAKED__ void _allmul()
+//
+// Multiply two 64 bit integers returning a 64 bit result
+// On entry:
+//		[esp+4], [esp+8] = arg 1
+//		[esp+12], [esp+16] = arg 1
+// Return result in edx:eax
+// Remove arguments from stack
+//
+	{
+	_asm mov eax, [esp+4]			// eax = low1
+	_asm mul dword ptr [esp+16]		// edx:eax = low1*high2
+	_asm mov ecx, eax				// keep low 32 bits of product
+	_asm mov eax, [esp+8]			// eax = high1
+	_asm mul dword ptr [esp+12]		// edx:eax = high1*low2
+	_asm add ecx, eax				// accumulate low 32 bits of product
+	_asm mov eax, [esp+4]			// eax = low1
+	_asm mul dword ptr [esp+12]		// edx:eax = low1*low2
+	_asm add edx, ecx				// add cross terms to high 32 bits
+	_asm ret 16
+	}
+
+void udiv64_divby0()
+	{
+	_asm int 0						// division by zero exception
+	_asm ret
+	}
+
+__NAKED__ void UDiv64()
+	{
+	// unsigned divide edx:eax by edi:esi
+	// quotient in ebx:eax, remainder in edi:edx
+	// ecx, ebp, esi also modified
+	_asm test edi, edi
+	_asm jnz short UDiv64a				// branch if divisor >= 2^32
+	_asm test esi, esi
+//	_ASM_j(z,DivisionByZero)			// if divisor=0, branch to error routine
+	_asm jz udiv64_divby0
+	_asm mov ebx, eax					// ebx=dividend low
+	_asm mov eax, edx					// eax=dividend high
+	_asm xor edx, edx					// edx=0
+	_asm div esi						// quotient high now in eax
+	_asm xchg eax, ebx					// quotient high in ebx, dividend low in eax
+	_asm div esi						// quotient now in ebx:eax, remainder in edi:edx
+	_asm ret
+	UDiv64e:
+	_asm xor eax, eax					// set result to 0xFFFFFFFF
+	_asm dec eax
+	_asm jmp short UDiv64f
+	UDiv64a:
+	_asm js short UDiv64b				// skip if divisor msb set
+	_asm bsr ecx, edi					// ecx=bit number of divisor msb - 32
+	_asm inc cl
+	_asm push edi						// save divisor high
+	_asm push esi						// save divisor low
+	_asm shrd esi, edi, cl				// shift divisor right so that msb is bit 31
+	_asm mov ebx, edx					// dividend into ebx:ebp
+	_asm mov ebp, eax
+	_asm shrd eax, edx, cl				// shift dividend right same number of bits
+	_asm shr edx, cl
+	_asm cmp edx, esi					// check if approx quotient will be 2^32
+	_asm jae short UDiv64e				// if so, true result must be 0xFFFFFFFF
+	_asm div esi						// approximate quotient now in eax
+	UDiv64f:
+	_asm mov ecx, eax					// into ecx
+	_asm mul edi						// multiply approx. quotient by divisor high
+	_asm mov esi, eax					// ls dword into esi, ms into edi
+	_asm mov edi, edx
+	_asm mov eax, ecx					// approx. quotient into eax
+	_asm mul dword ptr [esp]			// multiply approx. quotient by divisor low
+	_asm add edx, esi					// edi:edx:eax now equals approx. quotient * divisor
+	_asm adc edi, 0
+	_asm xor esi, esi
+	_asm sub ebp, eax					// subtract dividend - approx. quotient *divisor
+	_asm sbb ebx, edx
+	_asm sbb esi, edi
+	_asm jnc short UDiv64c				// if no borrow, result OK
+	_asm dec ecx						// else result is one too big
+	_asm add ebp, [esp]					// and add divisor to get correct remainder
+	_asm adc ebx, [esp+4]
+	UDiv64c:
+	_asm mov eax, ecx					// result into ebx:eax, remainder into edi:edx
+	_asm mov edi, ebx
+	_asm mov edx, ebp
+	_asm xor ebx, ebx
+	_asm add esp, 8						// remove temporary values from stack
+	_asm ret
+	UDiv64b:
+	_asm mov ebx, 1
+	_asm sub eax, esi					// subtract divisor from dividend
+	_asm sbb edx, edi
+	_asm jnc short UDiv64d				// if no borrow, result=1, remainder in edx:eax
+	_asm add eax, esi					// else add back
+	_asm adc edx, edi
+	_asm dec ebx						// and decrement quotient
+	UDiv64d:
+	_asm mov edi, edx					// remainder into edi:edx
+	_asm mov edx, eax
+	_asm mov eax, ebx					// result in ebx:eax
+	_asm xor ebx, ebx
+	_asm ret
+	}
+
+__NAKED__ void _aulldiv()
+//
+// Divide two 64 bit unsigned integers returning a 64 bit result
+// On entry:
+//		[esp+4], [esp+8] = dividend
+//		[esp+12], [esp+16] = divisor
+// Return result in edx:eax
+// Remove arguments from stack
+//
+	{
+	_asm push ebp
+	_asm push edi
+	_asm push esi
+	_asm push ebx
+	_asm mov eax, [esp+20]
+	_asm mov edx, [esp+24]
+	_asm mov esi, [esp+28]
+	_asm mov edi, [esp+32]
+	_asm call UDiv64
+	_asm mov edx, ebx
+	_asm pop ebx
+	_asm pop esi
+	_asm pop edi
+	_asm pop ebp
+	_asm ret 16
+	}
+
+__NAKED__ void _alldiv()
+//
+// Divide two 64 bit signed integers returning a 64 bit result
+// On entry:
+//		[esp+4], [esp+8] = dividend
+//		[esp+12], [esp+16] = divisor
+// Return result in edx:eax
+// Remove arguments from stack
+//
+	{
+	_asm push ebp
+	_asm push edi
+	_asm push esi
+	_asm push ebx
+	_asm mov eax, [esp+20]
+	_asm mov edx, [esp+24]
+	_asm mov esi, [esp+28]
+	_asm mov edi, [esp+32]
+	_asm test edx, edx
+	_asm jns dividend_nonnegative
+	_asm neg edx
+	_asm neg eax
+	_asm sbb edx, 0
+	dividend_nonnegative:
+	_asm test edi, edi
+	_asm jns divisor_nonnegative
+	_asm neg edi
+	_asm neg esi
+	_asm sbb edi, 0
+	divisor_nonnegative:
+	_asm call UDiv64
+	_asm mov ecx, [esp+24]
+	_asm mov edx, ebx
+	_asm xor ecx, [esp+32]
+	_asm jns quotient_nonnegative
+	_asm neg edx
+	_asm neg eax
+	_asm sbb edx, 0
+	quotient_nonnegative:
+	_asm pop ebx
+	_asm pop esi
+	_asm pop edi
+	_asm pop ebp
+	_asm ret 16
+	}
+
+__NAKED__ void _aullrem()
+//
+// Divide two 64 bit unsigned integers and return 64 bit remainder
+// On entry:
+//		[esp+4], [esp+8] = dividend
+//		[esp+12], [esp+16] = divisor
+// Return result in edx:eax
+// Remove arguments from stack
+//
+	{
+	_asm push ebp
+	_asm push edi
+	_asm push esi
+	_asm push ebx
+	_asm mov eax, [esp+20]
+	_asm mov edx, [esp+24]
+	_asm mov esi, [esp+28]
+	_asm mov edi, [esp+32]
+	_asm call UDiv64
+	_asm mov eax, edx
+	_asm mov edx, edi
+	_asm pop ebx
+	_asm pop esi
+	_asm pop edi
+	_asm pop ebp
+	_asm ret 16
+	}
+
+__NAKED__ void _allrem()
+//
+// Divide two 64 bit signed integers and return 64 bit remainder
+// On entry:
+//		[esp+4], [esp+8] = dividend
+//		[esp+12], [esp+16] = divisor
+// Return result in edx:eax
+// Remove arguments from stack
+//
+	{
+	_asm push ebp
+	_asm push edi
+	_asm push esi
+	_asm push ebx
+	_asm mov eax, [esp+20]
+	_asm mov edx, [esp+24]
+	_asm mov esi, [esp+28]
+	_asm mov edi, [esp+32]
+	_asm test edx, edx
+	_asm jns dividend_nonnegative
+	_asm neg edx
+	_asm neg eax
+	_asm sbb edx, 0
+	dividend_nonnegative:
+	_asm test edi, edi
+	_asm jns divisor_nonnegative
+	_asm neg edi
+	_asm neg esi
+	_asm sbb edi, 0
+	divisor_nonnegative:
+	_asm call UDiv64
+	_asm mov eax, edx
+	_asm mov edx, edi
+	_asm cmp dword ptr [esp+24], 0
+	_asm jns rem_nonnegative
+	_asm neg edx
+	_asm neg eax
+	_asm sbb edx, 0
+	rem_nonnegative:
+	_asm pop ebx
+	_asm pop esi
+	_asm pop edi
+	_asm pop ebp
+	_asm ret 16
+	}
+
+__NAKED__ void _allshr()
+//
+// Arithmetic shift right EDX:EAX by ECX
+//
+	{
+	_asm cmp ecx, 64
+	_asm jae asr_count_ge_64
+	_asm cmp cl, 32
+	_asm jae asr_count_ge_32
+	_asm shrd eax, edx, cl
+	_asm sar edx, cl
+	_asm ret
+	asr_count_ge_32:
+	_asm sub cl, 32
+	_asm mov eax, edx
+	_asm cdq
+	_asm sar eax, cl
+	_asm ret
+	asr_count_ge_64:
+	_asm sar edx, 32
+	_asm mov eax, edx
+	_asm ret
+	}
+
+__NAKED__ void _allshl()
+//
+// shift left EDX:EAX by ECX
+//
+	{
+	_asm cmp ecx, 64
+	_asm jae lsl_count_ge_64
+	_asm cmp cl, 32
+	_asm jae lsl_count_ge_32
+	_asm shld edx, eax, cl
+	_asm shl eax, cl
+	_asm ret
+	lsl_count_ge_32:
+	_asm sub cl, 32
+	_asm mov edx, eax
+	_asm xor eax, eax
+	_asm shl edx, cl
+	_asm ret
+	lsl_count_ge_64:
+	_asm xor edx, edx
+	_asm xor eax, eax
+	_asm ret
+	}
+
+__NAKED__ void _aullshr()
+//
+// Logical shift right EDX:EAX by ECX
+//
+	{
+	_asm cmp ecx, 64
+	_asm jae lsr_count_ge_64
+	_asm cmp cl, 32
+	_asm jae lsr_count_ge_32
+	_asm shrd eax, edx, cl
+	_asm shr edx, cl
+	_asm ret
+	lsr_count_ge_32:
+	_asm sub cl, 32
+	_asm mov eax, edx
+	_asm xor edx, edx
+	_asm shr eax, cl
+	_asm ret
+	lsr_count_ge_64:
+	_asm xor edx, edx
+	_asm xor eax, eax
+	_asm ret
+	}
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/bigint/windowslider.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,73 @@
+/*
+* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include <bigint.h>
+#include "windowslider.h"
+#include "../common/inlines.h"
+
+TWindowSlider::TWindowSlider(const TInteger& aExp, TUint aWindowSize)
+	: iExp(aExp), iSize(aWindowSize)
+	{
+	if(iSize == 0)
+		{
+		TUint expLen = iExp.BitCount();
+		//These numbers are more or less arbitrary and can be tuned for empirical
+		//performance results if desired.  It's a trade off between amount of
+		//precomputation (more if larger iSize) and number of iterations
+		//(more if smaller iSize).  The current defaults were obtained
+		//from crypto++
+		if( expLen <= 17 )
+			iSize = 1;
+		else if( expLen <= 24 )
+			iSize = 2;
+		else if( expLen <= 70 )
+			iSize = 3;
+		else if( expLen <= 197 )
+			iSize = 4;
+		else if( expLen <= 539 )
+			iSize = 5;
+		else if( expLen <= 1434 )
+			iSize = 6;
+		else 
+			iSize = 7;
+		}
+	assert(iSize>=1 && iSize<=7);
+	}
+
+void TWindowSlider::FindNextWindow(TUint aBegin)
+	{
+	assert(iExp.Bit(aBegin)); //initial bit must be 1
+	TInt end = aBegin;
+	TUint temp = 0;
+	iValue = 0;
+	TUint j = 0;
+	for(TInt i=aBegin; i>=0 && j<iSize; i--, j++)
+		{
+		TUint saveMask = WORD_BITS - j - 1;
+		temp |= iExp.Bit(i) << saveMask;
+		if( temp & (1 << saveMask) )
+			{
+			end = i;
+			iValue |= temp; //last valid substring
+			}
+		}
+
+	iLength = aBegin - end + 1;
+	iValue >>= (WORD_BITS - iLength);
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/bigint/windowslider.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,62 @@
+/*
+* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* TWindowSlider class implementation
+*
+*/
+
+
+/**
+ @file 
+ @internalComponent
+*/
+ 
+#ifndef __WINDOWSLIDER_H__
+#define __WINDOWSLIDER_H__
+
+#include <e32std.h>
+
+class TInteger; 
+/** Utility class used by our fast exponentiation routines.\n\n
+ * See HAC 14.85 for an explanation of how window sliding helps speed things up.
+ * @internalComponent
+ */
+class TWindowSlider
+{
+public:
+	/** 
+	 * @param aExp The exponent you are using.
+	 * @param aWindowSize The window size.  Leave as default value for the
+	 * constructor to pick a window size appropriate for the given aExp
+	 * @internalComponent
+	 */
+	TWindowSlider(const TInteger& aExp, TUint aWindowSize=0);
+	/**
+	 * Finds the next "window" as defined by HAC 14.85.  The actual bitstring
+	 * value is in iValue and it's length in iLength.  These remain valid until
+	 * the next call to FindNextWindow()
+	 */
+	void FindNextWindow(TUint aBegin);
+	inline TUint WindowSize(void) {return iSize;}
+	inline TUint Value(void) {return iValue;}
+	inline TUint Length(void) {return iLength;}
+
+private:
+	const TInteger& iExp; ///the exponent all this is being calculated on
+	TUint iSize;  ///The size of the sliding window
+	TUint iValue; ///the value found by the most recent FindNextWindow() call
+	TUint iLength;///the bit length of the iValue
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/bigint/words.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,147 @@
+/*
+* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+/**
+ @file 
+ @internalComponent
+*/
+ 
+#ifndef __BIGINT_WORDS_H__
+#define __BIGINT_WORDS_H__
+
+#include "../common/inlines.h"
+
+inline void ArraySetBit(TUint* aS, TUint aJ)
+	{
+	aS[aJ/WORD_BITS] |= (1L << (aJ%WORD_BITS));
+	}
+
+inline TUint CountWords(const TUint *X, TUint N)
+	{
+	while (N && X[N-1]==0)
+		N--;
+	return N;
+	}
+
+inline void SetWords(TUint *r, TUint a, TUint n)
+	{
+	Mem::Fill(r, WordsToBytes(n), a);
+	}
+
+inline void CopyWords(TUint *r, const TUint *a, TUint n)
+	{
+	Mem::Copy(r, a, WordsToBytes(n));
+	}
+
+inline TUint ShiftWordsLeftByBits(TUint *r, TUint n, TUint shiftBits)
+	{
+	assert (shiftBits<WORD_BITS);
+	TUint u, carry=0;
+	if (shiftBits)
+		for (TUint i=0; i<n; i++)
+			{
+			u = r[i];
+			r[i] = (u << shiftBits) | carry;
+			carry = u >> (WORD_BITS-shiftBits);
+			}
+	return carry;
+	}
+
+inline TUint ShiftWordsRightByBits(TUint *r, TUint n, TUint shiftBits)
+{
+	assert (shiftBits<WORD_BITS);
+	TUint u, carry=0;
+	if (shiftBits)
+		for (int i=n-1; i>=0; i--)
+			{
+			u = r[i];
+			r[i] = (u >> shiftBits) | carry;
+			carry = u << (WORD_BITS-shiftBits);
+			}
+	return carry;
+	}
+
+inline TUint CryptoMin(TUint aLeft, TUint aRight) 
+	{
+	return(aLeft<aRight ? aLeft : aRight);
+	}
+
+inline TUint CryptoMax(TUint aLeft, TUint aRight)
+	{
+	return(aLeft<aRight ? aRight : aLeft);
+	}
+
+inline void ShiftWordsLeftByWords(TUint *r, TUint n, TUint shiftWords)
+	{
+	shiftWords = CryptoMin(shiftWords, n);
+	if (shiftWords)
+		{
+		for (TUint i=n-1; i>=shiftWords; i--)
+			r[i] = r[i-shiftWords];
+		SetWords(r, 0, shiftWords);
+		}
+	}
+
+inline void ShiftWordsRightByWords(TUint *r, TUint n, TUint shiftWords)
+	{
+	shiftWords = CryptoMin(shiftWords, n);
+	if (shiftWords)
+		{
+		for (TUint i=0; i+shiftWords<n; i++)
+			r[i] = r[i+shiftWords];
+		SetWords(r+n-shiftWords, 0, shiftWords);
+		}
+	}
+
+inline TUint BytePrecision(TUint aValue)
+	{
+	TUint x=4;
+	if(aValue < 0x10000) aValue <<=16, x-=2;
+	if(aValue < 0x1000000) x--;
+	if(!aValue) x=0;
+	return x;
+	}
+
+inline TUint BitPrecision(TUint aValue)
+	{
+	if(!aValue) return 0;
+	TUint x=32;
+	if(aValue < 0x10000)    aValue<<=16, x-=16;
+	if(aValue < 0x1000000)  aValue<<=8, x-=8;
+	if(aValue < 0x10000000) aValue<<=4, x-=4;
+	if(aValue < 0x40000000) aValue<<=2, x-=2;
+	if(aValue < 0x80000000) --x;
+	return x;
+	}
+
+static const TUint RoundupSizeTable[] = {2, 2, 2, 4, 4, 8, 8, 8, 8};
+    
+static inline TUint RoundupSize(TUint n)
+	{
+    if (n<=8)
+        return RoundupSizeTable[n];
+    else if (n<=16)
+        return 16;
+    else if (n<=32)
+        return 32;
+    else if (n<=64)
+        return 64;
+    else return 1U << BitPrecision(n-1);
+	}
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/common/cryptostrength.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,55 @@
+/*
+* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include <e32base.h>
+#include "cryptostrength.h"
+#include <securityerr.h>
+
+#ifdef CRYPTO_STRONG_BUILD
+const TInt KDTIMaxSymmetricKeyBits = KMaxTInt;
+const TInt KDTIMaxAsymmetricKeyBits = KMaxTInt;
+const TCrypto::TStrength KCryptoStrength=TCrypto::EStrong;
+#else //CRYPTO_WEAK_BUILD
+const TInt KDTIMaxSymmetricKeyBits = 56;
+const TInt KDTIMaxAsymmetricKeyBits = 512;
+const TCrypto::TStrength KCryptoStrength=TCrypto::EWeak;
+#endif //CRYPTO_STRONG_BUILD
+
+EXPORT_C TCrypto::TStrength TCrypto::Strength(void)
+	{
+	return (KCryptoStrength);
+	}
+
+EXPORT_C TBool TCrypto::IsSymmetricWeakEnoughL(TInt aSymmetricKeyBits)
+	{
+	if(aSymmetricKeyBits > KDTIMaxSymmetricKeyBits)
+		{
+		User::Leave(KErrKeyNotWeakEnough);
+		}
+	return ETrue;
+	}
+
+EXPORT_C TBool TCrypto::IsAsymmetricWeakEnoughL(TInt aAsymmetricKeyBits)
+	{
+	if(aAsymmetricKeyBits > KDTIMaxAsymmetricKeyBits)
+		{
+		User::Leave(KErrKeyNotWeakEnough);
+		}
+	return ETrue;
+	}
+ 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/common/inlines.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,244 @@
+/*
+* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+/**
+ @file 
+ @internalTechnology
+*/
+ 
+#ifndef __INLINES_H__
+#define __INLINES_H__
+
+#include <e32base.h>
+
+#define assert(x) __ASSERT_DEBUG((x), User::Panic(_L("crypto.dll"), 1))
+
+#if defined(__GCC32__)
+typedef long long Int64;
+typedef unsigned long long Uint64;
+#elif defined(__VC32__)
+typedef __int64 Int64;
+typedef unsigned __int64 Uint64;
+#elif defined(__CW32__)
+#pragma longlong on
+typedef long long Int64;
+typedef unsigned long long Uint64;
+#endif
+
+typedef Uint64 dword;
+typedef TUint word;
+typedef TUint32 word32;
+
+const TUint WORD_SIZE = sizeof(TUint); 
+const TUint WORD_BYTES = WORD_SIZE;
+const TUint BYTE_BITS = 8;
+const TUint WORD_BITS = WORD_SIZE*BYTE_BITS;
+
+//These next two versions of GETBYTE compile to LDR's of words and then shifts
+//and ands to get it down to a byte.
+//#define GETBYTE(x, y) (TUint)(((x)>>(8*(y)))&255)
+//#define GETBYTE(x, y) (TUint)TUint8((x)>>(8*(y)))
+
+//This next version gets the best assembler on gcc and armv4 (it uses LDRB
+//rather than shifts and ands
+#define GETBYTE(x, y) (((TUint8 *)&(x))[y])
+
+#define MAKE_DWORD(lowWord, highWord) ((dword(highWord)<<WORD_BITS) | (lowWord))
+#define LOW_WORD(x) (TUint32)(x)
+#define HIGH_WORD(x) (TUint32)((x)>>WORD_BITS)
+
+template <class T> inline void TClassSwap(T& a, T& b)
+	{
+	T temp(a);
+	a = b;
+	b = temp;
+	}
+	
+inline TUint BitsToBytes(TUint bitCount)
+	{
+	return ((bitCount+7)/(BYTE_BITS));
+	}
+
+inline TUint BytesToWords(TUint byteCount)
+	{
+	return ((byteCount+WORD_SIZE-1)/WORD_SIZE);
+	}
+
+inline TUint BitsToWords(TUint bitCount)
+	{
+	return ((bitCount+WORD_BITS-1)/(WORD_BITS));
+	}
+
+inline TUint WordsToBits(TUint wordCount)
+	{
+	return wordCount * WORD_BITS;
+	}
+
+inline TUint BytesToBits(TUint byteCount)
+	{
+	return byteCount * BYTE_BITS;
+	}
+
+inline TUint WordsToBytes(TUint wordCount)
+	{
+	return wordCount * WORD_BYTES;
+	}
+
+inline void XorWords(TUint* r, const TUint* a, TUint n)
+	{
+	assert(((TUint32)r & 3) == 0); // Catch alignment problems
+	
+	for (TUint i=0; i<n; i++)
+		r[i] ^= a[i];
+	}
+
+inline void XorBuf(TUint8* buf, const TUint8* mask, TUint count)
+	{
+	if (((TUint)buf | (TUint)mask | count) % WORD_SIZE == 0) 
+		{
+		XorWords((TUint*)buf, (const TUint*)mask, count/WORD_SIZE); 
+		}
+	else
+		{
+		for (TUint i=0; i<count; i++)
+			buf[i] ^= mask[i];
+		}
+	}
+
+// ************** rotate functions ***************
+template <class T> inline T rotlFixed(T x, TUint y)
+	{
+	assert(y < sizeof(T)*8);
+	return ( (T)((x<<y) | (x>>(sizeof(T)*8-y))) );
+	}
+
+template <class T> inline T rotrFixed(T x, TUint y)
+	{
+	assert(y < sizeof(T)*8);
+	return ((T)((x>>y) | (x<<(sizeof(T)*8-y))));
+	}
+
+inline TUint32 byteReverse(TUint32 value)
+	{
+	value = ((value & 0xFF00FF00) >> 8) | ((value & 0x00FF00FF) << 8);
+	return rotlFixed(value, 16U);
+	}
+
+template <class T>
+void byteReverse(T* out, const T* in, TUint32 byteCount)
+	{
+	TUint count = (byteCount+sizeof(T)-1)/sizeof(T);
+	for (TUint i=0; i<count; i++)
+		out[i] = byteReverse(in[i]);
+	}
+
+template <class T>
+inline void GetUserKeyLittleEndian(T *out, TUint32 outlen, const TUint8* in, TUint32 inlen)
+	{
+	const TUint U = sizeof(T);
+	assert(inlen <= outlen*U);
+	Mem::Copy(out, in, inlen);
+	Mem::FillZ((TUint8*)out+inlen, outlen*U-inlen);
+	}
+
+template <class T>
+inline void GetUserKeyBigEndian(T *out, TUint32 outlen, const TUint8* in, TUint32 inlen)
+	{
+	const TUint U = sizeof(T);
+	assert(inlen <= outlen*U);
+	Mem::Copy(out, in, inlen);
+	Mem::FillZ((TUint8*)out+inlen, outlen*U-inlen);
+	byteReverse(out, out, inlen);
+	}
+
+// The following methods have be changed to use byte rather than word accesses,
+// as if the input pointer is not be word aligned a fault occurs on arm
+// hardware.  This isn't optimal from a performance point of view, but it is
+// neccessary because the crypto interfaces (CSymmetricCipher,
+// CBlockTransformation) allow clients to pass non-aligned data.
+
+// Fetch 4 words from user's buffer into "a", "b", "c", "d" in LITTLE-endian order
+inline void GetBlockLittleEndian(const TUint8* block, TUint16 &a, TUint16 &b, TUint16 &c, TUint16 &d)
+	{
+	a = (TUint16)(block[0] | block[1] << 8);
+	b = (TUint16)(block[2] | block[3] << 8);
+	c = (TUint16)(block[4] | block[5] << 8);
+	d = (TUint16)(block[6] | block[7] << 8);
+	}
+
+// Put 4 words back into user's buffer in LITTLE-endian order
+inline void PutBlockLittleEndian(TUint8* block, TUint16 a, TUint16 b, TUint16 c, TUint16 d)
+	{
+	block[0] = (TUint8)(a & 0xff);
+	block[1] = (TUint8)(a >> 8);
+	block[2] = (TUint8)(b & 0xff);
+	block[3] = (TUint8)(b >> 8);
+	block[4] = (TUint8)(c & 0xff);
+	block[5] = (TUint8)(c >> 8);
+	block[6] = (TUint8)(d & 0xff);
+	block[7] = (TUint8)(d >> 8);
+	}
+
+// Fetch 1 word from user's buffer in BIG-endian order
+inline void GetWordBigEndian(const TUint8* block, TUint32 &a)
+	{
+	a = block[0] << 24 | block[1] << 16 | block[2] << 8 | block[3];
+	}
+
+// Put 1 word back into user's buffer in BIG-endian order
+inline void PutWordBigEndian(TUint8* block, TUint32 a)
+	{
+	block[0] = (TUint8)(a >> 24);
+	block[1] = (TUint8)((a >> 16) & 0xff);
+	block[2] = (TUint8)((a >> 8) & 0xff);
+	block[3] = (TUint8)(a & 0xff);
+	}
+
+// Fetch 2 words from user's buffer into "a", "b" in BIG-endian order
+inline void GetBlockBigEndian(const TUint8* block, TUint32 &a, TUint32& b)
+	{
+	GetWordBigEndian(block, a);
+	GetWordBigEndian(block + 4, b);
+	}
+
+// Put 2 words back into user's buffer in BIG-endian order
+inline void PutBlockBigEndian(TUint8* block, TUint32 a, TUint32 b)
+	{
+	PutWordBigEndian(block, a);
+	PutWordBigEndian(block + 4, b);
+	}
+
+// Fetch 4 words from user's buffer into "a", "b", "c", "d" in BIG-endian order
+inline void GetBlockBigEndian(const TUint8* block, TUint32& a, TUint32& b, TUint32& c, TUint32& d)
+	{
+	GetWordBigEndian(block, a);
+	GetWordBigEndian(block + 4, b);
+	GetWordBigEndian(block + 8, c);
+	GetWordBigEndian(block + 12, d);
+	}
+
+// Put 4 words back into user's buffer in BIG-endian order
+inline void PutBlockBigEndian(TUint8* block, TUint32 a, TUint32 b, TUint32 c, TUint32 d)
+	{
+	PutWordBigEndian(block, a);
+	PutWordBigEndian(block + 4, b);
+	PutWordBigEndian(block + 8, c);
+	PutWordBigEndian(block + 12, d);
+	}
+
+#endif // __INLINES_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/common/keyidentifierutil.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,68 @@
+/*
+* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include "keyidentifierutil.h"
+#include "hash.h"
+#include "asymmetrickeys.h"
+
+EXPORT_C void KeyIdentifierUtil::RSAKeyIdentifierL(
+		const CRSAPublicKey& aKey, TKeyIdentifier& aIdentifier)
+	{
+	aIdentifier.FillZ();
+
+	// Generate a hash of the appropriate data (for TKeyIdentifier)	
+	const TInteger& keyModulus = aKey.N();
+	HBufC8* modulusData = keyModulus.BufferLC();
+	CSHA1* sha1 = CSHA1::NewL();
+	CleanupStack::PushL(sha1);
+	TPtrC8 hash = sha1->Final(*modulusData);
+	aIdentifier.Copy(hash);
+	CleanupStack::PopAndDestroy(2);	//	sha1, modulusData
+	}
+
+EXPORT_C void KeyIdentifierUtil::DSAKeyIdentifierL(
+		const CDSAPublicKey& aKey, TKeyIdentifier& aIdentifier)
+	{
+	aIdentifier.FillZ();
+
+	// Generate a hash of the appropriate data (for TKeyIdentifier)	
+	const TInteger& Y = aKey.Y();
+	HBufC8* YData = Y.BufferLC();					
+	CSHA1* sha1 = CSHA1::NewL();
+	CleanupStack::PushL(sha1);
+	TPtrC8 hash = sha1->Final(*YData);
+	aIdentifier.Copy(hash);
+	CleanupStack::PopAndDestroy(2);	//	sha1, YData				
+	}
+
+EXPORT_C void KeyIdentifierUtil::DHKeyIdentifierL(
+		const RInteger& aKey, TKeyIdentifier& aIdentifier)
+	{
+	if (aKey.IsZero())
+		User::Leave(KErrArgument);
+
+	aIdentifier.FillZ();
+
+	// Generate a hash of the appropriate data (for TKeyIdentifier)	
+	HBufC8* XData = aKey.BufferLC();								
+	CSHA1* sha1 = CSHA1::NewL();
+	CleanupStack::PushL(sha1);
+	TPtrC8 hash = sha1->Final(*XData);
+	aIdentifier.Copy(hash);
+	CleanupStack::PopAndDestroy(2);	//	sha1, XData
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/cryptoswitch/cryptography_stubs.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,2594 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* Generated from cryptographyU.def
+*
+*/
+
+
+
+
+/**
+ @file
+ @internalComponent 
+*/
+
+extern "C" {
+
+void common_dispatch();
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_1 ()
+	{
+	// ; protected: __thiscall CBlockChainingMode::CBlockChainingMode(void)
+	_asm mov eax, 1
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_2 ()
+	{
+	// ; protected: __thiscall CDH::CDH(class CDHPrivateKey const &)
+	_asm mov eax, 2
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_3 ()
+	{
+	// ; protected: __thiscall CDHKeyPair::CDHKeyPair(void)
+	_asm mov eax, 3
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_4 ()
+	{
+	// ; protected: __thiscall CDHParameters::CDHParameters(class RInteger &,class RInteger &)
+	_asm mov eax, 4
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_5 ()
+	{
+	// ; protected: __thiscall CDHParameters::CDHParameters(void)
+	_asm mov eax, 5
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_6 ()
+	{
+	// ; protected: __thiscall CDHPrivateKey::CDHPrivateKey(class RInteger &,class RInteger &,class RInteger &)
+	_asm mov eax, 6
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_7 ()
+	{
+	// ; protected: __thiscall CDHPrivateKey::CDHPrivateKey(void)
+	_asm mov eax, 7
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_8 ()
+	{
+	// ; protected: __thiscall CDHPublicKey::CDHPublicKey(class RInteger &,class RInteger &,class RInteger &)
+	_asm mov eax, 8
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_9 ()
+	{
+	// ; protected: __thiscall CDHPublicKey::CDHPublicKey(void)
+	_asm mov eax, 9
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_10 ()
+	{
+	// ; protected: __thiscall CDSAKeyPair::CDSAKeyPair(void)
+	_asm mov eax, 10
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_11 ()
+	{
+	// ; protected: __thiscall CDSAParameters::CDSAParameters(class RInteger &,class RInteger &,class RInteger &)
+	_asm mov eax, 11
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_12 ()
+	{
+	// ; protected: __thiscall CDSAParameters::CDSAParameters(void)
+	_asm mov eax, 12
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_13 ()
+	{
+	// ; protected: __thiscall CDSAPrimeCertificate::CDSAPrimeCertificate(unsigned int)
+	_asm mov eax, 13
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_14 ()
+	{
+	// ; protected: __thiscall CDSAPrimeCertificate::CDSAPrimeCertificate(void)
+	_asm mov eax, 14
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_15 ()
+	{
+	// ; protected: __thiscall CDSAPrivateKey::CDSAPrivateKey(class RInteger &,class RInteger &,class RInteger &,class RInteger &)
+	_asm mov eax, 15
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_16 ()
+	{
+	// ; protected: __thiscall CDSAPrivateKey::CDSAPrivateKey(void)
+	_asm mov eax, 16
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_17 ()
+	{
+	// ; protected: __thiscall CDSAPublicKey::CDSAPublicKey(class RInteger &,class RInteger &,class RInteger &,class RInteger &)
+	_asm mov eax, 17
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_18 ()
+	{
+	// ; protected: __thiscall CDSAPublicKey::CDSAPublicKey(void)
+	_asm mov eax, 18
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_19 ()
+	{
+	// ; protected: __thiscall CDSASignature::CDSASignature(class RInteger &,class RInteger &)
+	_asm mov eax, 19
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_20 ()
+	{
+	// ; protected: __thiscall CDSASignature::CDSASignature(void)
+	_asm mov eax, 20
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_21 ()
+	{
+	// ; protected: __thiscall CPadding::CPadding(int)
+	_asm mov eax, 21
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_22 ()
+	{
+	// ; protected: __thiscall CPaddingNone::CPaddingNone(int)
+	_asm mov eax, 22
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_23 ()
+	{
+	// ; protected: __thiscall CPaddingPKCS1Encryption::CPaddingPKCS1Encryption(int)
+	_asm mov eax, 23
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_24 ()
+	{
+	// ; protected: __thiscall CPaddingPKCS1Signature::CPaddingPKCS1Signature(int)
+	_asm mov eax, 24
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_25 ()
+	{
+	// ; protected: __thiscall CPaddingSSLv3::CPaddingSSLv3(int)
+	_asm mov eax, 25
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_26 ()
+	{
+	// ; protected: __thiscall CRSAKeyPair::CRSAKeyPair(void)
+	_asm mov eax, 26
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_27 ()
+	{
+	// ; protected: __thiscall CRSAParameters::CRSAParameters(class RInteger &)
+	_asm mov eax, 27
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_28 ()
+	{
+	// ; protected: __thiscall CRSAParameters::CRSAParameters(void)
+	_asm mov eax, 28
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_29 ()
+	{
+	// ; protected: __thiscall CRSAPrivateKeyCRT::CRSAPrivateKeyCRT(class RInteger &,class RInteger &,class RInteger &,class RInteger &,class RInteger &,class RInteger &)
+	_asm mov eax, 29
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_30 ()
+	{
+	// ; protected: __thiscall CRSAPrivateKeyStandard::CRSAPrivateKeyStandard(class RInteger &,class RInteger &)
+	_asm mov eax, 30
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_31 ()
+	{
+	// ; protected: __thiscall CRSAPublicKey::CRSAPublicKey(class RInteger &,class RInteger &)
+	_asm mov eax, 31
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_32 ()
+	{
+	// ; protected: __thiscall CRSAPublicKey::CRSAPublicKey(void)
+	_asm mov eax, 32
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_33 ()
+	{
+	// ; protected: __thiscall CRSASignature::CRSASignature(class RInteger &)
+	_asm mov eax, 33
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_34 ()
+	{
+	// ; protected: __thiscall CRijndael::CRijndael(void)
+	_asm mov eax, 34
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_35 ()
+	{
+	// ; protected: __thiscall MCryptoSystem::MCryptoSystem(void)
+	_asm mov eax, 35
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_36 ()
+	{
+	// ; protected: __thiscall CDecryptor::CDecryptor(void)
+	_asm mov eax, 36
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_37 ()
+	{
+	// ; protected: __thiscall CEncryptor::CEncryptor(void)
+	_asm mov eax, 37
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_38 ()
+	{
+	// ; protected: __thiscall MSignatureSystem::MSignatureSystem(void)
+	_asm mov eax, 38
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_39 ()
+	{
+	// ; public: __thiscall RInteger::RInteger(void)
+	_asm mov eax, 39
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_40 ()
+	{
+	// ; protected: __thiscall TInteger::TInteger(void)
+	_asm mov eax, 40
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_41 ()
+	{
+	// ; protected: virtual __thiscall CBlockChainingMode::~CBlockChainingMode(void)
+	_asm mov eax, 41
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_42 ()
+	{
+	// ; public: virtual __thiscall CBufferedTransformation::~CBufferedTransformation(void)
+	_asm mov eax, 42
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_43 ()
+	{
+	// ; public: virtual __thiscall CDHKeyPair::~CDHKeyPair(void)
+	_asm mov eax, 43
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_44 ()
+	{
+	// ; public: virtual __thiscall CDHParameters::~CDHParameters(void)
+	_asm mov eax, 44
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_45 ()
+	{
+	// ; public: virtual __thiscall CDHPrivateKey::~CDHPrivateKey(void)
+	_asm mov eax, 45
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_46 ()
+	{
+	// ; public: virtual __thiscall CDHPublicKey::~CDHPublicKey(void)
+	_asm mov eax, 46
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_47 ()
+	{
+	// ; public: virtual __thiscall CDSAKeyPair::~CDSAKeyPair(void)
+	_asm mov eax, 47
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_48 ()
+	{
+	// ; public: virtual __thiscall CDSAParameters::~CDSAParameters(void)
+	_asm mov eax, 48
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_49 ()
+	{
+	// ; public: virtual __thiscall CDSAPrimeCertificate::~CDSAPrimeCertificate(void)
+	_asm mov eax, 49
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_50 ()
+	{
+	// ; public: virtual __thiscall CDSAPrivateKey::~CDSAPrivateKey(void)
+	_asm mov eax, 50
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_51 ()
+	{
+	// ; public: virtual __thiscall CDSAPublicKey::~CDSAPublicKey(void)
+	_asm mov eax, 51
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_52 ()
+	{
+	// ; public: virtual __thiscall CDSASignature::~CDSASignature(void)
+	_asm mov eax, 52
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_53 ()
+	{
+	// ; public: virtual __thiscall CRSAKeyPair::~CRSAKeyPair(void)
+	_asm mov eax, 53
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_54 ()
+	{
+	// ; public: virtual __thiscall CRSAParameters::~CRSAParameters(void)
+	_asm mov eax, 54
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_55 ()
+	{
+	// ; public: virtual __thiscall CRSAPrivateKeyCRT::~CRSAPrivateKeyCRT(void)
+	_asm mov eax, 55
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_56 ()
+	{
+	// ; public: virtual __thiscall CRSAPrivateKeyStandard::~CRSAPrivateKeyStandard(void)
+	_asm mov eax, 56
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_57 ()
+	{
+	// ; public: virtual __thiscall CRSAPublicKey::~CRSAPublicKey(void)
+	_asm mov eax, 57
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_58 ()
+	{
+	// ; public: virtual __thiscall CRSASignature::~CRSASignature(void)
+	_asm mov eax, 58
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_59 ()
+	{
+	// ; public: virtual __thiscall CRijndael::~CRijndael(void)
+	_asm mov eax, 59
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_60 ()
+	{
+	// ; public: int __thiscall TInteger::operator!(void)const 
+	_asm mov eax, 60
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_61 ()
+	{
+	// ; public: int __thiscall CDSASignature::operator==(class CDSASignature const &)const 
+	_asm mov eax, 61
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_62 ()
+	{
+	// ; public: int __thiscall CRSASignature::operator==(class CRSASignature const &)const 
+	_asm mov eax, 62
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_63 ()
+	{
+	// ; public: __thiscall RInteger::operator class TCleanupItem(void)
+	_asm mov eax, 63
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_64 ()
+	{
+	// ; public: class HBufC8 const * __thiscall CDH::AgreeL(class CDHPublicKey const &)const 
+	_asm mov eax, 64
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_65 ()
+	{
+	// ; public: unsigned int __thiscall TInteger::BitCount(void)const 
+	_asm mov eax, 65
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_66 ()
+	{
+	// ; public: int __thiscall CPadding::BlockSize(void)const 
+	_asm mov eax, 66
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_67 ()
+	{
+	// ; public: virtual int __thiscall CStreamCipher::BlockSize(void)const 
+	_asm mov eax, 67
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_68 ()
+	{
+	// ; public: class CBlockTransformation * __thiscall CBufferedTransformation::BlockTransformer(void)const 
+	_asm mov eax, 68
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_69 ()
+	{
+	// ; public: class HBufC8 * __thiscall TInteger::BufferLC(void)const 
+	_asm mov eax, 69
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_70 ()
+	{
+	// ; public: unsigned int __thiscall TInteger::ByteCount(void)const 
+	_asm mov eax, 70
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_71 ()
+	{
+	// ; public: static void __cdecl RInteger::CallClose(void *)
+	_asm mov eax, 71
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_72 ()
+	{
+	// ; public: void __thiscall RInteger::Close(void)
+	_asm mov eax, 72
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_73 ()
+	{
+	// ; protected: void __thiscall CBlockChainingMode::ConstructL(class CBlockTransformation *,class TDesC8 const &)
+	_asm mov eax, 73
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_74 ()
+	{
+	// ; protected: void __thiscall CDHKeyPair::ConstructL(class RInteger &,class RInteger &,class RInteger &)
+	_asm mov eax, 74
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_75 ()
+	{
+	// ; protected: void __thiscall CDHKeyPair::ConstructL(class RInteger &,class RInteger &)
+	_asm mov eax, 75
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_76 ()
+	{
+	// ; public: unsigned int __thiscall CDSAPrimeCertificate::Counter(void)const 
+	_asm mov eax, 76
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_77 ()
+	{
+	// ; public: class TInteger const & __thiscall CRSAPrivateKeyStandard::D(void)const 
+	_asm mov eax, 77
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_78 ()
+	{
+	// ; public: class TInteger const & __thiscall CRSAPrivateKeyCRT::DP(void)const 
+	_asm mov eax, 78
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_79 ()
+	{
+	// ; public: class TInteger const & __thiscall CRSAPrivateKeyCRT::DQ(void)const 
+	_asm mov eax, 79
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_80 ()
+	{
+	// ; public: class TInteger const & __thiscall CRSAPublicKey::E(void)const 
+	_asm mov eax, 80
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_81 ()
+	{
+	// ; public: class TInteger const & __thiscall CDHParameters::G(void)const 
+	_asm mov eax, 81
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_82 ()
+	{
+	// ; public: class TInteger const & __thiscall CDSAParameters::G(void)const 
+	_asm mov eax, 82
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_83 ()
+	{
+	// ; protected: __thiscall CRSASigner::CRSASigner(void)
+	_asm mov eax, 83
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_84 ()
+	{
+	// ; public: virtual int __thiscall CStreamCipher::MaxFinalOutputLength(int)const 
+	_asm mov eax, 84
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_85 ()
+	{
+	// ; protected: __thiscall CRSAVerifier::CRSAVerifier(void)
+	_asm mov eax, 85
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_86 ()
+	{
+	// ; public virtual int CRSAVerifer::VerifyL(class TDesC8 const &,class CRSASignature const &)const
+	_asm mov eax, 86
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_87 ()
+	{
+	// ; public: virtual int __thiscall CStreamCipher::MaxOutputLength(int)const 
+	_asm mov eax, 87
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_88 ()
+	{
+	// ; public: virtual int __thiscall CPadding::MaxPaddedLength(int)const 
+	_asm mov eax, 88
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_89 ()
+	{
+	// ; public: virtual int __thiscall CPadding::MaxUnPaddedLength(int)const 
+	_asm mov eax, 89
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_90 ()
+	{
+	// ; public: static class RInteger  __cdecl TInteger::ModularExponentiateL(class TInteger const &,class TInteger const &,class TInteger const &)
+	_asm mov eax, 90
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_91 ()
+	{
+	// ; public: class TInteger const & __thiscall CDHParameters::N(void)const 
+	_asm mov eax, 91
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_92 ()
+	{
+	// ; public: class TInteger const & __thiscall CRSAParameters::N(void)const 
+	_asm mov eax, 92
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_93 ()
+	{
+	// ; public: static class RInteger  __cdecl RInteger::NewEmptyL(unsigned int)
+	_asm mov eax, 93
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_94 ()
+	{
+	// ; public: static class C3DESDecryptor * __cdecl C3DESDecryptor::NewL(class TDesC8 const &)
+	_asm mov eax, 94
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_95 ()
+	{
+	// ; public: static class C3DESEncryptor * __cdecl C3DESEncryptor::NewL(class TDesC8 const &)
+	_asm mov eax, 95
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_96 ()
+	{
+	// ; public: static class CAESDecryptor * __cdecl CAESDecryptor::NewL(class TDesC8 const &)
+	_asm mov eax, 96
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_97 ()
+	{
+	// ; public: static class CAESEncryptor * __cdecl CAESEncryptor::NewL(class TDesC8 const &)
+	_asm mov eax, 97
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_98 ()
+	{
+	// ; public: static class CARC4 * __cdecl CARC4::NewL(class TDesC8 const &,unsigned int)
+	_asm mov eax, 98
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_99 ()
+	{
+	// ; public: static class CBufferedDecryptor * __cdecl CBufferedDecryptor::NewL(class CBlockTransformation *,class CPadding *)
+	_asm mov eax, 99
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_100 ()
+	{
+	// ; public: static class CBufferedEncryptor * __cdecl CBufferedEncryptor::NewL(class CBlockTransformation *,class CPadding *)
+	_asm mov eax, 100
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_101 ()
+	{
+	// ; public: static class CDESDecryptor * __cdecl CDESDecryptor::NewL(class TDesC8 const &,int)
+	_asm mov eax, 101
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_102 ()
+	{
+	// ; public: static class CDESEncryptor * __cdecl CDESEncryptor::NewL(class TDesC8 const &,int)
+	_asm mov eax, 102
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_103 ()
+	{
+	// ; public: static class CDH * __cdecl CDH::NewL(class CDHPrivateKey const &)
+	_asm mov eax, 103
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_104 ()
+	{
+	// ; public: static class CDHKeyPair * __cdecl CDHKeyPair::NewL(class RInteger &,class RInteger &,class RInteger &)
+	_asm mov eax, 104
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_105 ()
+	{
+	// ; public: static class CDHKeyPair * __cdecl CDHKeyPair::NewL(class RInteger &,class RInteger &)
+	_asm mov eax, 105
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_106 ()
+	{
+	// ; public: static class CDHPrivateKey * __cdecl CDHPrivateKey::NewL(class RInteger &,class RInteger &,class RInteger &)
+	_asm mov eax, 106
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_107 ()
+	{
+	// ; public: static class CDHPublicKey * __cdecl CDHPublicKey::NewL(class RInteger &,class RInteger &,class RInteger &)
+	_asm mov eax, 107
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_108 ()
+	{
+	// ; public: static class CDSAKeyPair * __cdecl CDSAKeyPair::NewL(unsigned int)
+	_asm mov eax, 108
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_109 ()
+	{
+	// ; public: static class CDSAParameters * __cdecl CDSAParameters::NewL(class RInteger &,class RInteger &,class RInteger &)
+	_asm mov eax, 109
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_110 ()
+	{
+	// ; public: static class CDSAPrimeCertificate * __cdecl CDSAPrimeCertificate::NewL(class TDesC8 const &,unsigned int)
+	_asm mov eax, 110
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_111 ()
+	{
+	// ; public: static class CDSAPrivateKey * __cdecl CDSAPrivateKey::NewL(class RInteger &,class RInteger &,class RInteger &,class RInteger &)
+	_asm mov eax, 111
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_112 ()
+	{
+	// ; public: static class CDSAPublicKey * __cdecl CDSAPublicKey::NewL(class RInteger &,class RInteger &,class RInteger &,class RInteger &)
+	_asm mov eax, 112
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_113 ()
+	{
+	// ; public: static class CDSASignature * __cdecl CDSASignature::NewL(class RInteger &,class RInteger &)
+	_asm mov eax, 113
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_114 ()
+	{
+	// ; public: static class CDSASigner * __cdecl CDSASigner::NewL(class CDSAPrivateKey const &)
+	_asm mov eax, 114
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_115 ()
+	{
+	// ; public: static class CDSAVerifier * __cdecl CDSAVerifier::NewL(class CDSAPublicKey const &)
+	_asm mov eax, 115
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_116 ()
+	{
+	// ; public: static class CModeCBCDecryptor * __cdecl CModeCBCDecryptor::NewL(class CBlockTransformation *,class TDesC8 const &)
+	_asm mov eax, 116
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_117 ()
+	{
+	// ; public: static class CModeCBCEncryptor * __cdecl CModeCBCEncryptor::NewL(class CBlockTransformation *,class TDesC8 const &)
+	_asm mov eax, 117
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_118 ()
+	{
+	// ; public: static class CNullCipher * __cdecl CNullCipher::NewL(void)
+	_asm mov eax, 118
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_119 ()
+	{
+	// ; public: static class CPaddingNone * __cdecl CPaddingNone::NewL(int)
+	_asm mov eax, 119
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_120 ()
+	{
+	// ; public: static class CPaddingPKCS1Encryption * __cdecl CPaddingPKCS1Encryption::NewL(int)
+	_asm mov eax, 120
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_121 ()
+	{
+	// ; public: static class CPaddingPKCS1Signature * __cdecl CPaddingPKCS1Signature::NewL(int)
+	_asm mov eax, 121
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_122 ()
+	{
+	// ; public: static class CPaddingSSLv3 * __cdecl CPaddingSSLv3::NewL(int)
+	_asm mov eax, 122
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_123 ()
+	{
+	// ; public: static class CRC2Decryptor * __cdecl CRC2Decryptor::NewL(class TDesC8 const &,int)
+	_asm mov eax, 123
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_124 ()
+	{
+	// ; public: static class CRC2Encryptor * __cdecl CRC2Encryptor::NewL(class TDesC8 const &,int)
+	_asm mov eax, 124
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_125 ()
+	{
+	// ; public: static class CRSAKeyPair * __cdecl CRSAKeyPair::NewL(unsigned int,enum TRSAPrivateKeyType)
+	_asm mov eax, 125
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_126 ()
+	{
+	// ; public: static class CRSAPKCS1v15Decryptor * __cdecl CRSAPKCS1v15Decryptor::NewL(class CRSAPrivateKey const &)
+	_asm mov eax, 126
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_127 ()
+	{
+	// ; public: static class CRSAPKCS1v15Encryptor * __cdecl CRSAPKCS1v15Encryptor::NewL(class CRSAPublicKey const &)
+	_asm mov eax, 127
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_128 ()
+	{
+	// ; public: static class CRSAPKCS1v15Signer * __cdecl CRSAPKCS1v15Signer::NewL(class CRSAPrivateKey const &)
+	_asm mov eax, 128
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_129 ()
+	{
+	// ; public: static class CRSAPKCS1v15Verifier * __cdecl CRSAPKCS1v15Verifier::NewL(class CRSAPublicKey const &)
+	_asm mov eax, 129
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_130 ()
+	{
+	// ; public: static class CRSAPrivateKeyCRT * __cdecl CRSAPrivateKeyCRT::NewL(class RInteger &,class RInteger &,class RInteger &,class RInteger &,class RInteger &,class RInteger &)
+	_asm mov eax, 130
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_131 ()
+	{
+	// ; public: static class CRSAPrivateKeyStandard * __cdecl CRSAPrivateKeyStandard::NewL(class RInteger &,class RInteger &)
+	_asm mov eax, 131
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_132 ()
+	{
+	// ; public: static class CRSAPublicKey * __cdecl CRSAPublicKey::NewL(class RInteger &,class RInteger &)
+	_asm mov eax, 132
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_133 ()
+	{
+	// ; public: static class CRSASignature * __cdecl CRSASignature::NewL(class RInteger &)
+	_asm mov eax, 133
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_134 ()
+	{
+	// ; public: static class RInteger  __cdecl RInteger::NewL(class TDesC8 const &)
+	_asm mov eax, 134
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_135 ()
+	{
+	// ; public: static class RInteger  __cdecl RInteger::NewL(class TInteger const &)
+	_asm mov eax, 135
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_136 ()
+	{
+	// ; public: static class RInteger  __cdecl RInteger::NewL(int)
+	_asm mov eax, 136
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_137 ()
+	{
+	// ; public: static class RInteger  __cdecl RInteger::NewL(unsigned int)
+	_asm mov eax, 137
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_138 ()
+	{
+	// ; public: static class RInteger  __cdecl RInteger::NewL(void)
+	_asm mov eax, 138
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_139 ()
+	{
+	// ; public: static class C3DESDecryptor * __cdecl C3DESDecryptor::NewLC(class TDesC8 const &)
+	_asm mov eax, 139
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_140 ()
+	{
+	// ; public: static class C3DESEncryptor * __cdecl C3DESEncryptor::NewLC(class TDesC8 const &)
+	_asm mov eax, 140
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_141 ()
+	{
+	// ; public: static class CAESDecryptor * __cdecl CAESDecryptor::NewLC(class TDesC8 const &)
+	_asm mov eax, 141
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_142 ()
+	{
+	// ; public: static class CAESEncryptor * __cdecl CAESEncryptor::NewLC(class TDesC8 const &)
+	_asm mov eax, 142
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_143 ()
+	{
+	// ; public: static class CARC4 * __cdecl CARC4::NewLC(class TDesC8 const &,unsigned int)
+	_asm mov eax, 143
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_144 ()
+	{
+	// ; public: static class CBufferedDecryptor * __cdecl CBufferedDecryptor::NewLC(class CBlockTransformation *,class CPadding *)
+	_asm mov eax, 144
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_145 ()
+	{
+	// ; public: static class CBufferedEncryptor * __cdecl CBufferedEncryptor::NewLC(class CBlockTransformation *,class CPadding *)
+	_asm mov eax, 145
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_146 ()
+	{
+	// ; public: static class CDESDecryptor * __cdecl CDESDecryptor::NewLC(class TDesC8 const &,int)
+	_asm mov eax, 146
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_147 ()
+	{
+	// ; public: static class CDESEncryptor * __cdecl CDESEncryptor::NewLC(class TDesC8 const &,int)
+	_asm mov eax, 147
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_148 ()
+	{
+	// ; public: static class CDH * __cdecl CDH::NewLC(class CDHPrivateKey const &)
+	_asm mov eax, 148
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_149 ()
+	{
+	// ; public: static class CDHKeyPair * __cdecl CDHKeyPair::NewLC(class RInteger &,class RInteger &,class RInteger &)
+	_asm mov eax, 149
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_150 ()
+	{
+	// ; public: static class CDHKeyPair * __cdecl CDHKeyPair::NewLC(class RInteger &,class RInteger &)
+	_asm mov eax, 150
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_151 ()
+	{
+	// ; public: static class CDHPrivateKey * __cdecl CDHPrivateKey::NewLC(class RInteger &,class RInteger &,class RInteger &)
+	_asm mov eax, 151
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_152 ()
+	{
+	// ; public: static class CDHPublicKey * __cdecl CDHPublicKey::NewLC(class RInteger &,class RInteger &,class RInteger &)
+	_asm mov eax, 152
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_153 ()
+	{
+	// ; public: static class CDSAKeyPair * __cdecl CDSAKeyPair::NewLC(unsigned int)
+	_asm mov eax, 153
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_154 ()
+	{
+	// ; public: static class CDSAPrimeCertificate * __cdecl CDSAPrimeCertificate::NewLC(class TDesC8 const &,unsigned int)
+	_asm mov eax, 154
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_155 ()
+	{
+	// ; public: static class CDSAPrivateKey * __cdecl CDSAPrivateKey::NewLC(class RInteger &,class RInteger &,class RInteger &,class RInteger &)
+	_asm mov eax, 155
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_156 ()
+	{
+	// ; public: static class CDSAPublicKey * __cdecl CDSAPublicKey::NewLC(class RInteger &,class RInteger &,class RInteger &,class RInteger &)
+	_asm mov eax, 156
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_157 ()
+	{
+	// ; public: static class CDSASignature * __cdecl CDSASignature::NewLC(class RInteger &,class RInteger &)
+	_asm mov eax, 157
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_158 ()
+	{
+	// ; public: static class CDSASigner * __cdecl CDSASigner::NewLC(class CDSAPrivateKey const &)
+	_asm mov eax, 158
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_159 ()
+	{
+	// ; public: static class CDSAVerifier * __cdecl CDSAVerifier::NewLC(class CDSAPublicKey const &)
+	_asm mov eax, 159
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_160 ()
+	{
+	// ; public: static class CModeCBCDecryptor * __cdecl CModeCBCDecryptor::NewLC(class CBlockTransformation *,class TDesC8 const &)
+	_asm mov eax, 160
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_161 ()
+	{
+	// ; public: static class CModeCBCEncryptor * __cdecl CModeCBCEncryptor::NewLC(class CBlockTransformation *,class TDesC8 const &)
+	_asm mov eax, 161
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_162 ()
+	{
+	// ; public: static class CNullCipher * __cdecl CNullCipher::NewLC(void)
+	_asm mov eax, 162
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_163 ()
+	{
+	// ; public: static class CPaddingNone * __cdecl CPaddingNone::NewLC(int)
+	_asm mov eax, 163
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_164 ()
+	{
+	// ; public: static class CPaddingPKCS1Encryption * __cdecl CPaddingPKCS1Encryption::NewLC(int)
+	_asm mov eax, 164
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_165 ()
+	{
+	// ; public: static class CPaddingPKCS1Signature * __cdecl CPaddingPKCS1Signature::NewLC(int)
+	_asm mov eax, 165
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_166 ()
+	{
+	// ; public: static class CPaddingSSLv3 * __cdecl CPaddingSSLv3::NewLC(int)
+	_asm mov eax, 166
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_167 ()
+	{
+	// ; public: static class CRC2Decryptor * __cdecl CRC2Decryptor::NewLC(class TDesC8 const &,int)
+	_asm mov eax, 167
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_168 ()
+	{
+	// ; public: static class CRC2Encryptor * __cdecl CRC2Encryptor::NewLC(class TDesC8 const &,int)
+	_asm mov eax, 168
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_169 ()
+	{
+	// ; public: static class CRSAKeyPair * __cdecl CRSAKeyPair::NewLC(unsigned int,enum TRSAPrivateKeyType)
+	_asm mov eax, 169
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_170 ()
+	{
+	// ; public: static class CRSAPKCS1v15Decryptor * __cdecl CRSAPKCS1v15Decryptor::NewLC(class CRSAPrivateKey const &)
+	_asm mov eax, 170
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_171 ()
+	{
+	// ; public: static class CRSAPKCS1v15Encryptor * __cdecl CRSAPKCS1v15Encryptor::NewLC(class CRSAPublicKey const &)
+	_asm mov eax, 171
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_172 ()
+	{
+	// ; public: static class CRSAPKCS1v15Signer * __cdecl CRSAPKCS1v15Signer::NewLC(class CRSAPrivateKey const &)
+	_asm mov eax, 172
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_173 ()
+	{
+	// ; public: static class CRSAPKCS1v15Verifier * __cdecl CRSAPKCS1v15Verifier::NewLC(class CRSAPublicKey const &)
+	_asm mov eax, 173
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_174 ()
+	{
+	// ; public: static class CRSAPrivateKeyCRT * __cdecl CRSAPrivateKeyCRT::NewLC(class RInteger &,class RInteger &,class RInteger &,class RInteger &,class RInteger &,class RInteger &)
+	_asm mov eax, 174
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_175 ()
+	{
+	// ; public: static class CRSAPrivateKeyStandard * __cdecl CRSAPrivateKeyStandard::NewLC(class RInteger &,class RInteger &)
+	_asm mov eax, 175
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_176 ()
+	{
+	// ; public: static class CRSAPublicKey * __cdecl CRSAPublicKey::NewLC(class RInteger &,class RInteger &)
+	_asm mov eax, 176
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_177 ()
+	{
+	// ; public: static class CRSASignature * __cdecl CRSASignature::NewLC(class RInteger &)
+	_asm mov eax, 177
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_178 ()
+	{
+	// ; public: static class RInteger  __cdecl RInteger::NewPrimeL(unsigned int,int)
+	_asm mov eax, 178
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_179 ()
+	{
+	// ; public: static class RInteger  __cdecl RInteger::NewRandomL(class TInteger const &,class TInteger const &)
+	_asm mov eax, 179
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_180 ()
+	{
+	// ; public: static class RInteger  __cdecl RInteger::NewRandomL(unsigned int,int)
+	_asm mov eax, 180
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_181 ()
+	{
+	// ; public: class TInteger const & __thiscall CDSAParameters::P(void)const 
+	_asm mov eax, 181
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_182 ()
+	{
+	// ; public: class TInteger const & __thiscall CRSAPrivateKeyCRT::P(void)const 
+	_asm mov eax, 182
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_183 ()
+	{
+	// ; public: void __thiscall CPadding::PadL(class TDesC8 const &,class TDes8 &)
+	_asm mov eax, 183
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_184 ()
+	{
+	// ; public: class CDSAPrimeCertificate const & __thiscall CDSAKeyPair::PrimeCertificate(void)const 
+	_asm mov eax, 184
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_185 ()
+	{
+	// ; public: class CDHPrivateKey const & __thiscall CDHKeyPair::PrivateKey(void)const 
+	_asm mov eax, 185
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_186 ()
+	{
+	// ; public: class CDSAPrivateKey const & __thiscall CDSAKeyPair::PrivateKey(void)const 
+	_asm mov eax, 186
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_187 ()
+	{
+	// ; public: class CRSAPrivateKey const & __thiscall CRSAKeyPair::PrivateKey(void)const 
+	_asm mov eax, 187
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_188 ()
+	{
+	// ; public: virtual void __thiscall CStreamCipher::Process(class TDesC8 const &,class TDes8 &)
+	_asm mov eax, 188
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_189 ()
+	{
+	// ; public: virtual void __thiscall CStreamCipher::ProcessFinalL(class TDesC8 const &,class TDes8 &)
+	_asm mov eax, 189
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_190 ()
+	{
+	// ; public: class CDHPublicKey const & __thiscall CDHKeyPair::PublicKey(void)const 
+	_asm mov eax, 190
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_191 ()
+	{
+	// ; public: class CDSAPublicKey const & __thiscall CDSAKeyPair::PublicKey(void)const 
+	_asm mov eax, 191
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_192 ()
+	{
+	// ; public: class CRSAPublicKey const & __thiscall CRSAKeyPair::PublicKey(void)const 
+	_asm mov eax, 192
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_193 ()
+	{
+	// ; public: class TInteger const & __thiscall CDSAParameters::Q(void)const 
+	_asm mov eax, 193
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_194 ()
+	{
+	// ; public: class TInteger const & __thiscall CRSAPrivateKeyCRT::Q(void)const 
+	_asm mov eax, 194
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_195 ()
+	{
+	// ; public: class TInteger const & __thiscall CRSAPrivateKeyCRT::QInv(void)const 
+	_asm mov eax, 195
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_196 ()
+	{
+	// ; public: class TInteger const & __thiscall CDSASignature::R(void)const 
+	_asm mov eax, 196
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_197 ()
+	{
+	// ; public: class TInteger const & __thiscall CDSASignature::S(void)const 
+	_asm mov eax, 197
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_198 ()
+	{
+	// ; public: class TInteger const & __thiscall CRSASignature::S(void)const 
+	_asm mov eax, 198
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_199 ()
+	{
+	// ; public: class TDesC8 const & __thiscall CDSAPrimeCertificate::Seed(void)const 
+	_asm mov eax, 199
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_200 ()
+	{
+	// ; public: void __thiscall CPadding::SetBlockSize(int)
+	_asm mov eax, 200
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_201 ()
+	{
+	// ; public: static enum TCrypto::TStrength  __cdecl TCrypto::Strength(void)
+	_asm mov eax, 201
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_202 ()
+	{
+	// ; public: static int __cdecl CDSAParameters::ValidPrimeLength(unsigned int)
+	_asm mov eax, 202
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_203 ()
+	{
+	// ; public: int __thiscall CDSAParameters::ValidatePrimesL(class CDSAPrimeCertificate const &)const 
+	_asm mov eax, 203
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_204 ()
+	{
+	// ; public: unsigned int __thiscall TInteger::WordCount(void)const 
+	_asm mov eax, 204
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_205 ()
+	{
+	// ; public: class TInteger const & __thiscall CDHPublicKey::X(void)const 
+	_asm mov eax, 205
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_206 ()
+	{
+	// ; public: class TInteger const & __thiscall CDSAPrivateKey::X(void)const 
+	_asm mov eax, 206
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_207 ()
+	{
+	// ; public: class TInteger const & __thiscall CDSAPublicKey::Y(void)const 
+	_asm mov eax, 207
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_208 ()
+	{
+	// ; public: class TInteger const & __thiscall CDHPrivateKey::x(void)const 
+	_asm mov eax, 208
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_209 ()
+	{
+	// ; public: static int __cdecl TCrypto::IsAsymmetricWeakEnoughL(int)
+	_asm mov eax, 209
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_210 ()
+	{
+	// ; public: static int __cdecl TCrypto::IsSymmetricWeakEnoughL(int)
+	_asm mov eax, 210
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_211 ()
+	{
+	// ; CPaddingPKCS7::CPaddingPKCS7(int)
+	_asm mov eax, 211
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_212 ()
+	{
+	// ; class CPaddingPKCS7 * CPaddingPKCS7::NewL(int)
+	_asm mov eax, 212
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_213 ()
+	{
+	// ; class CPaddingPKCS7 * CPaddingPKCS7::NewLC(int)
+	_asm mov eax, 213
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_214 ()
+	{
+	// ; void KeyIdentifierUtil::DHKeyIdentifierL(class RInteger const &, class TBuf8<20> &)
+	_asm mov eax, 214
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_215 ()
+	{
+	// ; void KeyIdentifierUtil::DSAKeyIdentifierL(class CDSAPublicKey const &, class TBuf8<20> &)
+	_asm mov eax, 215
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_216 ()
+	{
+	// ; void KeyIdentifierUtil::RSAKeyIdentifierL(class CRSAPublicKey const &, class TBuf8<20> &)
+	_asm mov eax, 216
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_217 ()
+	{
+	// ; class TInteger & TInteger::operator++(void)
+	_asm mov eax, 217
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_218 ()
+	{
+	// ; class TInteger & TInteger::operator--(void)
+	_asm mov eax, 218
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_219 ()
+	{
+	// ; class RInteger TInteger::InverseModL(class TInteger const &) const
+	_asm mov eax, 219
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_220 ()
+	{
+	// ; class RInteger TInteger::TimesL(class TInteger const &) const
+	_asm mov eax, 220
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_221 ()
+	{
+	// ; public: __thiscall RInteger::RInteger(class RInteger const &)
+	_asm mov eax, 221
+	_asm jmp common_dispatch
+	}
+
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_222 ()
+	{
+	// ; public: class RInteger & __thiscall RInteger::operator=(class RInteger const &)
+	_asm mov eax, 222
+	_asm jmp common_dispatch
+	}
+
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_223 ()
+	{
+	// ; public: class TInteger & __thiscall TInteger::operator*=(class TInteger const &)
+	_asm mov eax, 223
+	_asm jmp common_dispatch
+	}
+
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_224 ()
+	{
+	// ; public: class TInteger & __thiscall TInteger::operator*=(int)
+	_asm mov eax, 224
+	_asm jmp common_dispatch
+	}
+
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_225 ()
+	{
+	// ; public: class TInteger & __thiscall TInteger::operator+=(class TInteger const &)
+	_asm mov eax, 225
+	_asm jmp common_dispatch
+	}
+
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_226 ()
+	{
+	// ; public: class TInteger & __thiscall TInteger::operator+=(int)
+	_asm mov eax, 226
+	_asm jmp common_dispatch
+	}
+
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_227 ()
+	{
+	// ; public: class TInteger & __thiscall TInteger::operator-=(class TInteger const &)
+	_asm mov eax, 227
+	_asm jmp common_dispatch
+	}
+
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_228 ()
+	{
+	// ; public: class TInteger & __thiscall TInteger::operator-=(int)
+	_asm mov eax, 228
+	_asm jmp common_dispatch
+	}
+
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_229 ()
+	{
+	// ; public: class TInteger & __thiscall TInteger::operator/=(class TInteger const &)
+	_asm mov eax, 229
+	_asm jmp common_dispatch
+	}
+
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_230 ()
+	{
+	// ; public: class TInteger & __thiscall TInteger::operator/=(int)
+	_asm mov eax, 230
+	_asm jmp common_dispatch
+	}
+
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_231 ()
+	{
+	// ; public: class TInteger & __thiscall TInteger::operator%=(class TInteger const &)
+	_asm mov eax, 231
+	_asm jmp common_dispatch
+	}
+
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_232 ()
+	{
+	// ; public: class TInteger & __thiscall TInteger::operator%=(int)
+	_asm mov eax, 232
+	_asm jmp common_dispatch
+	}
+
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_233 ()
+	{
+	// ; public: class TInteger & __thiscall TInteger::operator>>=(unsigned int)
+	_asm mov eax, 233
+	_asm jmp common_dispatch
+	}
+
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_234 ()
+	{
+	// ; public: class TInteger & __thiscall TInteger::operator<<=(unsigned int)
+	_asm mov eax, 234
+	_asm jmp common_dispatch
+	}
+
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_235 ()
+	{
+	// ; public: int __thiscall TInteger::Bit(unsigned int)const 
+	_asm mov eax, 235
+	_asm jmp common_dispatch
+	}
+
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_236 ()
+	{
+	// ; public: int __thiscall TInteger::ConvertToLongL(void)const 
+	_asm mov eax, 236
+	_asm jmp common_dispatch
+	}
+
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_237 ()
+	{
+	// ; public: class RInteger  __thiscall TInteger::DividedByL(class TInteger const &)const 
+	_asm mov eax, 237
+	_asm jmp common_dispatch
+	}
+
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_238 ()
+	{
+	// ; public: class RInteger  __thiscall TInteger::DividedByL(unsigned int)const 
+	_asm mov eax, 238
+	_asm jmp common_dispatch
+	}
+
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_239 ()
+	{
+	// ; public: class RInteger  __thiscall TInteger::ExponentiateL(class TInteger const &)const 
+	_asm mov eax, 239
+	_asm jmp common_dispatch
+	}
+
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_240 ()
+	{
+	// ; public: class RInteger  __thiscall TInteger::GCDL(class TInteger const &)const 
+	_asm mov eax, 240
+	_asm jmp common_dispatch
+	}
+
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_241 ()
+	{
+	// ; public: int __thiscall TInteger::IsPrimeL(void)const 
+	_asm mov eax, 241
+	_asm jmp common_dispatch
+	}
+
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_242 ()
+	{
+	// ; public: class RInteger  __thiscall TInteger::MinusL(class TInteger const &)const 
+	_asm mov eax, 242
+	_asm jmp common_dispatch
+	}
+
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_243 ()
+	{
+	// ; public: static class RInteger  __cdecl TInteger::ModularMultiplyL(class TInteger const &,class TInteger const &,class TInteger const &)
+	_asm mov eax, 243
+	_asm jmp common_dispatch
+	}
+
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_244 ()
+	{
+	// ; public: class RInteger  __thiscall TInteger::ModuloL(class TInteger const &)const 
+	_asm mov eax, 244
+	_asm jmp common_dispatch
+	}
+
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_245 ()
+	{
+	// ; public: unsigned int __thiscall TInteger::ModuloL(unsigned int)const 
+	_asm mov eax, 245
+	_asm jmp common_dispatch
+	}
+
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_246 ()
+	{
+	// ; public: void __thiscall TInteger::Negate(void)
+	_asm mov eax, 246
+	_asm jmp common_dispatch
+	}
+
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_247 ()
+	{
+	// ; public: static class TInteger const & __cdecl TInteger::One(void)
+	_asm mov eax, 247
+	_asm jmp common_dispatch
+	}
+
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_248 ()
+	{
+	// ; public: class RInteger  __thiscall TInteger::PlusL(class TInteger const &)const 
+	_asm mov eax, 248
+	_asm jmp common_dispatch
+	}
+
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_249 ()
+	{
+	// ; public: void __thiscall TInteger::SetBit(unsigned int)
+	_asm mov eax, 249
+	_asm jmp common_dispatch
+	}
+
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_250 ()
+	{
+	// ; public: int __thiscall TInteger::SignedCompare(class TInteger const &)const 
+	_asm mov eax, 250
+	_asm jmp common_dispatch
+	}
+
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_251 ()
+	{
+	// ; public: int __thiscall TInteger::SignedCompare(int)const 
+	_asm mov eax, 251
+	_asm jmp common_dispatch
+	}
+
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_252 ()
+	{
+	// ; public: class RInteger  __thiscall TInteger::SquaredL(void)const 
+	_asm mov eax, 252
+	_asm jmp common_dispatch
+	}
+
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_253 ()
+	{
+	// ; public: static class TInteger const & __cdecl TInteger::Two(void)
+	_asm mov eax, 253
+	_asm jmp common_dispatch
+	}
+
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_254 ()
+	{
+	// ; public: int __thiscall TInteger::UnsignedCompare(class TInteger const &)const 
+	_asm mov eax, 254
+	_asm jmp common_dispatch
+	}
+
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_255 ()
+	{
+	// ; public: static class TInteger const & __cdecl TInteger::Zero(void)
+	_asm mov eax, 255
+	_asm jmp common_dispatch
+	}
+
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_256 ()
+	{
+	// ; public: void __thiscall TInteger::CopyL(class TInteger const &,int)
+	_asm mov eax, 256
+	_asm jmp common_dispatch
+	}
+
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_257 ()
+	{
+	// ; public: void __thiscall TInteger::CopyL(int,int)
+	_asm mov eax, 257
+	_asm jmp common_dispatch
+	}
+
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_258 ()
+	{
+	// ; public: void __thiscall TInteger::Set(class RInteger const &)
+	_asm mov eax, 258
+	_asm jmp common_dispatch
+	}
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_259 ()
+	{
+	// ; public: void __thiscall TInteger::Set(class RInteger const &)
+	_asm mov eax, 259
+	_asm jmp common_dispatch
+	}	
+	
+__declspec(dllexport)
+__declspec(naked)
+void call_vector_260 ()
+	{
+	// ; public: class HBufC8 * __thiscall TInteger::BufferWithNoTruncationLC(void)const 
+	_asm mov eax, 260
+	_asm jmp common_dispatch
+	}
+			
+}
+#define MAX_ORDINAL 260
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/cryptoswitch/cryptoswitch.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,83 @@
+/*
+* Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include <emulator.h>
+
+
+extern "C" {
+
+#include "cryptography_stubs.h"
+
+FARPROC vector[MAX_ORDINAL+1];
+
+void fill_vector(HINSTANCE aDll)
+	{
+	int i;
+	for (i=1;i<=MAX_ORDINAL;i++)
+		{
+		vector[i] = GetProcAddress(aDll, (LPCSTR)i);
+		}
+	vector[0] = (FARPROC)1;		// initialised
+	}
+
+void init_vector()
+	{
+	__LOCK_HOST;		// prevent deadlock with EKA2 scheduler
+
+	HINSTANCE instance;
+	
+	// Try for strong cryptography
+	//
+	instance = LoadLibraryA("strong_cryptography.dll"); 
+	if (instance != NULL)
+		{
+		fill_vector(instance);
+		return;
+		}
+		
+	// Try for weak cryptography
+	//
+	instance = LoadLibraryA("weak_cryptography.dll"); 
+	if (instance != NULL)
+		{
+		fill_vector(instance);
+		return;
+		}
+	
+	// die
+	//
+	OutputDebugStringA("Unable to load cryptography implementation");
+	_asm int 3;
+	}
+	
+__declspec(naked) void common_dispatch()
+	{
+	_asm cmp	dword ptr vector,0		// initialised?
+	_asm jne  	call_though_vector
+	_asm push	eax
+	_asm push	ecx
+	_asm push	edx
+	_asm call	init_vector
+	_asm pop	edx
+	_asm pop 	ecx
+	_asm pop 	eax
+call_though_vector:
+	_asm jmp	[vector+eax*4]
+	}
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/hash/hash.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,132 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+/**
+ @file
+*/
+
+#include <e32std.h>
+#include <hash.h>
+#include "hashinc.h"
+#define EXPANDLOOP
+
+EXPORT_C CMessageDigest::CMessageDigest(void):CBase()
+{}
+
+EXPORT_C CMessageDigest::CMessageDigest(const CMessageDigest& /*aMD*/):CBase()
+{}
+
+EXPORT_C CMessageDigest::~CMessageDigest(void)
+{}
+
+/* Note that the shifts here are NOT guaranteed to work if s == 0, and it is
+ * assumed in R() (and hence in all inline) that a is unsigned. */
+// CMD_R - rotate a left by n bits; the main bottleneck of the algorithm 
+// implementation
+/*
+C++ version compiles to:
+
+CMD_R__FUiUi:
+	add	r3, r0, #0
+	lsl	r3, r3, r1
+	mov	r2, #32
+	sub	r2, r2, r1
+	lsr	r0, r0, r2
+	add	r3, r3, r0
+	add	r0, r3, #0
+	bx	lr
+
+*/
+
+//////////////////////////////////////////////////////////////////
+//	Factory class to create CMessageDigest derived objects
+//////////////////////////////////////////////////////////////////
+EXPORT_C CMessageDigest* CMessageDigestFactory::NewDigestL(CMessageDigest::THashId aHashId)
+{
+	CMessageDigest* hash = NULL;
+	switch (aHashId)
+	{
+	case (CMessageDigest::EMD2):
+		{
+			hash = CMD2::NewL();
+			break;
+		}
+	case (CMessageDigest::EMD5):
+		{
+			hash = CMD5::NewL();
+			break;
+		}
+	case (CMessageDigest::ESHA1):
+		{
+			hash = CSHA1::NewL();
+			break;
+		}
+        case (CMessageDigest::EMD4):
+		{
+			hash = CMD4::NewL();
+			break;
+		}
+	case (CMessageDigest::ESHA224):
+		{
+			hash = CSHA2::NewL(E224Bit);
+			break;
+		}
+	case (CMessageDigest::ESHA256):
+		{
+			hash = CSHA2::NewL(E256Bit);
+			break;
+		}
+	case (CMessageDigest::ESHA384):
+		{
+			hash = CSHA2::NewL(E384Bit);
+			break;
+		}
+	case (CMessageDigest::ESHA512):
+		{
+			hash = CSHA2::NewL(E512Bit);
+			break;
+		}
+	case (CMessageDigest::HMAC):
+	default:	
+		User::Leave(KErrNotSupported);
+	}
+
+	return (hash);
+}
+
+EXPORT_C CMessageDigest* CMessageDigestFactory::NewDigestLC(CMessageDigest::THashId aHashId)
+{
+	CMessageDigest* hash = CMessageDigestFactory::NewDigestL(aHashId);
+	CleanupStack::PushL(hash);
+	return (hash);
+}
+
+EXPORT_C CMessageDigest* CMessageDigestFactory::NewHMACL(CMessageDigest::THashId aHashId, const TDesC8& aKey)
+{
+	CMessageDigest* hash = CMessageDigestFactory::NewDigestLC(aHashId);
+	CMessageDigest* hmac = CHMAC::NewL(aKey, hash);
+	CleanupStack::Pop(hash);	//	Now owned by hmac
+	return (hmac);
+}
+
+EXPORT_C CMessageDigest* CMessageDigestFactory::NewHMACLC(CMessageDigest::THashId aHashId, const TDesC8& aKey)
+{
+	CMessageDigest* hmac = CMessageDigestFactory::NewHMACL(aHashId, aKey);
+	CleanupStack::PushL(hmac);
+	return (hmac);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/hash/hashinc.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,36 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+
+/**
+ @file
+ @internalComponent 
+*/
+
+#ifndef __HASHINC_H__
+#define __HASHINC_H__
+
+#include <e32base.h>
+
+GLDEF_C inline TUint CMD_R(TUint a,TUint s)
+	{
+	return (a<<s) | (a>>(32-s));
+	}
+
+#endif	//	__HASHINC_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/hash/hmac.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,221 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+/**
+ @file
+*/
+
+
+#include <e32std.h>
+#include <hash.h>
+
+#define EXPANDLOOP
+
+//
+// HMAC implementation
+//
+
+CHMAC::CHMAC()
+:CMessageDigest(){}
+
+CHMAC::CHMAC(CMessageDigest* aDigest)
+	:CMessageDigest(),
+	iDigest(aDigest),
+	iInnerPad(KMaxBlockSize),
+	iOuterPad(KMaxBlockSize)
+{}
+
+CHMAC::CHMAC(const CHMAC& aMD)
+	:CMessageDigest(aMD), 
+	iDigest(NULL),
+	iInnerPad(aMD.iInnerPad), 
+	iOuterPad(aMD.iOuterPad),
+	iBlockSize(aMD.iBlockSize)
+	{}
+
+EXPORT_C CHMAC::~CHMAC(void)
+	{
+	delete iDigest;
+	}
+
+EXPORT_C CHMAC* CHMAC::NewL(const TDesC8& aKey,CMessageDigest* aDigest)
+	{
+	CHMAC* self=new(ELeave) CHMAC(aDigest);
+	CleanupStack::PushL(self);
+	self->InitialiseL(aKey);
+	CleanupStack::Pop(self);
+	return self;
+	}
+void CHMAC::InitialiseL(const TDesC8& aKey)
+	{
+	InitBlockSizeL();
+	// initialisation
+	if (iDigest)
+		{
+		iDigest->Reset();
+		if( (TUint32)aKey.Size() > iBlockSize)
+			{
+			iInnerPad = iDigest->Final(aKey);
+			}
+		else 
+			{
+			iInnerPad = aKey;
+			}
+			
+		TUint i;
+		for (i=iInnerPad.Size();i<iBlockSize;i++)
+			iInnerPad.Append(0);
+
+		iOuterPad=iInnerPad;
+
+		const TUint8 Magic1=0x36, Magic2=0x5c;
+		for (i=0;i<iBlockSize;i++)
+		{
+			iInnerPad[i]^=Magic1;
+			iOuterPad[i]^=Magic2;
+		}
+		//start inner hash
+		iDigest->Hash(iInnerPad);
+		}
+	}
+
+void CHMAC::InitBlockSizeL()
+ 	{
+	
+ 	 iBlockSize = iDigest->BlockSize();
+	 if(iBlockSize > KMaxBlockSize)
+		 {
+		 User::Leave(KErrNotSupported);
+		 }
+ 	 
+ 	 iInnerPad.SetLength(iBlockSize);
+ 	 iOuterPad.SetLength(iBlockSize);
+ 	 iInnerPadCopy.SetLength(iBlockSize);
+ 	 iOuterPadCopy.SetLength(iBlockSize);
+   	}
+
+EXPORT_C CMessageDigest* CHMAC::CopyL(void)
+	{
+	CHMAC* that=new(ELeave) CHMAC(*this);
+	CleanupStack::PushL(that);
+	that->iDigest=iDigest ? iDigest->CopyL() : NULL;
+	CleanupStack::Pop();
+	return that;
+	}
+EXPORT_C CMessageDigest*  CHMAC::ReplicateL(void)
+	{
+	CHMAC* that=new(ELeave) CHMAC(*this);
+	CleanupStack::PushL(that);
+	that->iDigest=iDigest ? iDigest->ReplicateL() : NULL;
+	that->Reset();
+	CleanupStack::Pop();
+	return that;
+	}
+EXPORT_C TInt CHMAC::BlockSize(void)
+	{
+	return iBlockSize;
+	}
+
+EXPORT_C TInt CHMAC::HashSize(void)
+	{
+	return iDigest ? iDigest->HashSize() : 0;
+	}
+EXPORT_C void CHMAC::Reset(void)
+	{
+	if (iDigest)
+		{
+		iDigest->Reset();
+		iDigest->Update(iInnerPad);
+		}
+	}
+
+//	JCS, There may be a more efficient method but I can't find it
+//	because using the DoFinal/DoUpdate functions directly calls
+//	Store/Restore at inappropriate times and scribbles over stored
+//	data
+//	This is the only way I've found to both generate a hash value
+//	and get this in the correctly updated state
+EXPORT_C TPtrC8 CHMAC::Hash(const TDesC8& aMessage)
+{
+	TPtrC8 ptr(KNullDesC8());
+	TPtrC8 finalPtr(KNullDesC8());
+	StoreState();
+	if (iDigest)
+	{
+		ptr.Set(iDigest->Final(aMessage));
+		iDigest->Update(iOuterPad);
+		finalPtr.Set(iDigest->Final(ptr));
+	}
+
+	RestoreState();
+	iDigest->Update(aMessage);
+
+	return (finalPtr);
+}
+
+EXPORT_C void CHMAC::Update(const TDesC8& aMessage)
+	{
+	if(iDigest)
+		{
+		iDigest->Update(aMessage);
+		}
+	}
+
+EXPORT_C TPtrC8 CHMAC::Final(const TDesC8& aMessage)
+	{
+	TPtrC8 ptr(KNullDesC8());
+	if(iDigest)
+		{
+		ptr.Set(iDigest->Final(aMessage));
+		iDigest->Update(iOuterPad);
+		iDigest->Final(ptr);
+		Reset();
+		}
+	return (ptr);
+	}
+
+EXPORT_C TPtrC8 CHMAC::Final()
+	{
+	TPtrC8 ptr(KNullDesC8());
+	if(iDigest)
+		{
+		ptr.Set(iDigest->Final());
+		iDigest->Update(iOuterPad);
+		iDigest->Final(ptr);
+		Reset();
+		}
+	return (ptr);
+	}
+
+void CHMAC::RestoreState()
+{
+	iOuterPad.Copy(iOuterPadCopy);
+	iInnerPad.Copy(iInnerPadCopy);
+	if (iDigest)
+		iDigest->RestoreState();
+}
+
+void CHMAC::StoreState()
+{
+	iOuterPadCopy.Copy(iOuterPad);
+	iInnerPadCopy.Copy(iInnerPad);
+	if (iDigest)
+		iDigest->StoreState();
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/hash/md2.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,256 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* (c) 2003 Symbian Ltd.  All rights reserved.
+*
+*/
+
+
+/**
+ @file
+*/
+
+#include <e32std.h>
+#include <hash.h>
+
+#define EXPANDLOOP
+
+//
+// 32bit endianness independent MD2 implementation
+//
+CMD2::CMD2(void)
+: CMessageDigest(),iHash(MD2_HASH)
+	{
+	}
+CMD2::CMD2(const CMD2& aMD)
+: CMessageDigest(aMD),iHash(aMD.iHash),iNum(aMD.iNum)
+	{
+	(void)Mem::Copy(iData,aMD.iData,sizeof(iData));
+	(void)Mem::Copy(iChecksum,aMD.iChecksum,sizeof(iChecksum));
+	(void)Mem::Copy(iState,aMD.iState,sizeof(iState));
+	}
+EXPORT_C CMD2* CMD2::NewL(void)
+	{
+	return (new(ELeave) CMD2);
+	}
+EXPORT_C CMessageDigest* CMD2::ReplicateL(void)
+	{
+	return NewL();
+	}
+EXPORT_C CMD2::~CMD2(void)
+	{
+	}
+
+EXPORT_C TPtrC8 CMD2::Hash(const TDesC8& aMessage)
+	{
+	TPtrC8 ptr(KNullDesC8());
+	DoUpdate(aMessage.Ptr(),aMessage.Size());
+	StoreState();	
+	DoFinal();
+	ptr.Set(iHash);
+	RestoreState();	
+	return ptr;
+	}
+
+EXPORT_C CMessageDigest* CMD2::CopyL(void)
+	{
+	return new(ELeave) CMD2(*this);
+	}
+EXPORT_C TInt CMD2::BlockSize(void)
+	{
+	return sizeof(iData);
+	}
+EXPORT_C TInt CMD2::HashSize(void)
+	{
+	return MD2_HASH;
+	}
+EXPORT_C void CMD2::Reset(void)
+	{
+	Mem::FillZ(iData,sizeof(iData));
+	Mem::FillZ(iChecksum,sizeof(iChecksum));
+	Mem::FillZ(iState,sizeof(iState));
+	iNum=0;
+	}
+
+EXPORT_C void CMD2::Update(const TDesC8& aMessage)
+	{
+	DoUpdate(aMessage.Ptr(),aMessage.Size());
+	}
+
+EXPORT_C TPtrC8 CMD2::Final(const TDesC8& aMessage)
+	{
+	TPtrC8 ptr(KNullDesC8());
+	DoUpdate(aMessage.Ptr(),aMessage.Size());
+	DoFinal();
+	ptr.Set(iHash);
+	Reset();
+	return ptr;
+	}
+
+EXPORT_C TPtrC8 CMD2::Final()
+	{
+	TPtrC8 ptr(KNullDesC8());
+	DoFinal();
+	ptr.Set(iHash);
+	Reset();
+	return ptr;
+	}
+
+void CMD2::DoUpdate(const TUint8* aData,TUint aLength)
+	{
+	TBool carryOn=ETrue;
+	if (iNum)
+		{
+		if (iNum+aLength>=(TUint)MD2_BLOCK)
+			{
+			const TUint temp=MD2_BLOCK-iNum;
+			(void)Mem::Copy(iData+iNum,aData,temp);
+			Block(iData);
+			aData+=temp;
+			aLength-=temp;
+			iNum=0;
+			}
+		else
+			{
+			(void)Mem::Copy(iData+iNum,aData,aLength);
+			iNum+=aLength;
+			carryOn=EFalse;
+			}
+		}
+	// processing by block of MD2_BLOCK
+	if (carryOn)
+		{
+		while (aLength>=(TUint)MD2_BLOCK)
+			{
+			Block(aData);
+			aData+=MD2_BLOCK;
+			aLength-=MD2_BLOCK;
+			}
+		(void)Mem::Copy(iData,aData,aLength);
+		iNum=aLength;
+		}
+	}
+static inline TUint CMD2_S(TUint& elt,TUint8 val)
+	{
+	return elt^=val;
+	}
+// 
+// data must be MD2_BLOCK bytes long
+//
+void CMD2::Block(const TUint8* data)
+	{
+	static const TUint8 S[256]={
+		0x29, 0x2E, 0x43, 0xC9, 0xA2, 0xD8, 0x7C, 0x01,
+		0x3D, 0x36, 0x54, 0xA1, 0xEC, 0xF0, 0x06, 0x13,
+		0x62, 0xA7, 0x05, 0xF3, 0xC0, 0xC7, 0x73, 0x8C,
+		0x98, 0x93, 0x2B, 0xD9, 0xBC, 0x4C, 0x82, 0xCA,
+		0x1E, 0x9B, 0x57, 0x3C, 0xFD, 0xD4, 0xE0, 0x16,
+		0x67, 0x42, 0x6F, 0x18, 0x8A, 0x17, 0xE5, 0x12,
+		0xBE, 0x4E, 0xC4, 0xD6, 0xDA, 0x9E, 0xDE, 0x49,
+		0xA0, 0xFB, 0xF5, 0x8E, 0xBB, 0x2F, 0xEE, 0x7A,
+		0xA9, 0x68, 0x79, 0x91, 0x15, 0xB2, 0x07, 0x3F,
+		0x94, 0xC2, 0x10, 0x89, 0x0B, 0x22, 0x5F, 0x21,
+		0x80, 0x7F, 0x5D, 0x9A, 0x5A, 0x90, 0x32, 0x27,
+		0x35, 0x3E, 0xCC, 0xE7, 0xBF, 0xF7, 0x97, 0x03,
+		0xFF, 0x19, 0x30, 0xB3, 0x48, 0xA5, 0xB5, 0xD1,
+		0xD7, 0x5E, 0x92, 0x2A, 0xAC, 0x56, 0xAA, 0xC6,
+		0x4F, 0xB8, 0x38, 0xD2, 0x96, 0xA4, 0x7D, 0xB6,
+		0x76, 0xFC, 0x6B, 0xE2, 0x9C, 0x74, 0x04, 0xF1,
+		0x45, 0x9D, 0x70, 0x59, 0x64, 0x71, 0x87, 0x20,
+		0x86, 0x5B, 0xCF, 0x65, 0xE6, 0x2D, 0xA8, 0x02,
+		0x1B, 0x60, 0x25, 0xAD, 0xAE, 0xB0, 0xB9, 0xF6,
+		0x1C, 0x46, 0x61, 0x69, 0x34, 0x40, 0x7E, 0x0F,
+		0x55, 0x47, 0xA3, 0x23, 0xDD, 0x51, 0xAF, 0x3A,
+		0xC3, 0x5C, 0xF9, 0xCE, 0xBA, 0xC5, 0xEA, 0x26,
+		0x2C, 0x53, 0x0D, 0x6E, 0x85, 0x28, 0x84, 0x09,
+		0xD3, 0xDF, 0xCD, 0xF4, 0x41, 0x81, 0x4D, 0x52,
+		0x6A, 0xDC, 0x37, 0xC8, 0x6C, 0xC1, 0xAB, 0xFA,
+		0x24, 0xE1, 0x7B, 0x08, 0x0C, 0xBD, 0xB1, 0x4A,
+		0x78, 0x88, 0x95, 0x8B, 0xE3, 0x63, 0xE8, 0x6D,
+		0xE9, 0xCB, 0xD5, 0xFE, 0x3B, 0x00, 0x1D, 0x39,
+		0xF2, 0xEF, 0xB7, 0x0E, 0x66, 0x58, 0xD0, 0xE4,
+		0xA6, 0x77, 0x72, 0xF8, 0xEB, 0x75, 0x4B, 0x0A,
+		0x31, 0x44, 0x50, 0xB4, 0x8F, 0xED, 0x1F, 0x1A,
+		0xDB, 0x99, 0x8D, 0x33, 0x9F, 0x11, 0x83, 0x14,
+		};
+	TUint state[MD2_BLOCK*3];
+	TUint j=iChecksum[MD2_BLOCK-1];
+	TUint i=0,temp=0;
+	while (i<(TUint)MD2_BLOCK)
+		{
+		const TUint tempState=iState[i];
+		temp=data[i];
+		state[i]=tempState;
+		state[i+16]=temp;
+		state[i+32]=temp^tempState;
+		j=CMD2_S(iChecksum[i++],S[temp^j]);
+		}
+	temp=0;
+	TUint* pstate=state;
+	const TUint *pend=state+(MD2_BLOCK*3);
+	for (i=0; i<18; i++)
+		{
+		while (pstate<pend)
+			{
+			temp=CMD2_S(*pstate,S[temp]);pstate++;
+			temp=CMD2_S(*pstate,S[temp]);pstate++;
+			temp=CMD2_S(*pstate,S[temp]);pstate++;
+			temp=CMD2_S(*pstate,S[temp]);pstate++;
+			temp=CMD2_S(*pstate,S[temp]);pstate++;
+			temp=CMD2_S(*pstate,S[temp]);pstate++;
+			temp=CMD2_S(*pstate,S[temp]);pstate++;
+			temp=CMD2_S(*pstate,S[temp]);pstate++;
+			}
+		pstate=state;
+		temp=(temp+i)&0xff;
+		}
+	(void)Mem::Copy(iState,state,MD2_BLOCK*sizeof(TUint));
+	}
+void CMD2::DoFinal()
+	{
+	const TUint pad=MD2_BLOCK-iNum;
+	if (pad>0)
+		Mem::Fill(iData+iNum,(TUint8)pad,pad);
+	Block(iData);
+
+	TUint8* pData=iData;
+	const TUint8* pEnd=iData+MD2_BLOCK;
+	const TUint* pChecksum=iChecksum;
+	while (pData<pEnd)
+		{
+		*pData=(TUint8)*pChecksum;//checksum is always less than 255 
+		pData++;
+		pChecksum++;
+		}
+	Block(iData);
+
+	TUint* pState=iState;
+	for (TUint i=0;i<(TUint)MD2_BLOCK;i++,pState++) //safe: iState and iHash have got same size
+		iHash[i]=(TUint8)(*pState&0xff);
+	}
+
+void CMD2::RestoreState()
+{
+	Mem::Copy(&iData[0], &iDataTemp[0], MD2_BLOCK);
+	Mem::Copy(&iChecksum[0], &iChecksumTemp[0], MD2_BLOCK*sizeof(TUint));
+	Mem::Copy(&iState[0], &iStateTemp[0], MD2_BLOCK*sizeof(TUint));
+}
+
+void CMD2::StoreState()
+{
+	Mem::Copy(&iDataTemp[0], &iData[0], MD2_BLOCK);
+	Mem::Copy(&iChecksumTemp[0], &iChecksum[0], MD2_BLOCK*sizeof(TUint));
+	Mem::Copy(&iStateTemp[0], &iState[0], MD2_BLOCK*sizeof(TUint));
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/hash/md4.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,495 @@
+/*
+* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+/**
+ @file
+*/
+
+#include <e32std.h>
+#include <hash.h>
+#include "hashinc.h"
+#define EXPANDLOOP
+
+
+CMD4::CMD4(void)
+: CMessageDigest(),iHash(MD4_HASH)
+	{
+	}
+
+CMD4::CMD4(const CMD4& aMD)
+: CMessageDigest(aMD),
+  iHash(aMD.iHash),iA(aMD.iA),iB(aMD.iB),iC(aMD.iC),iD(aMD.iD),
+  iNl(aMD.iNl),iNh(aMD.iNh)
+	{
+	(void)Mem::Copy(iData,aMD.iData,sizeof(iData));
+	}
+	
+EXPORT_C CMD4* CMD4::NewL(void)
+	{
+	CMD4* self = new (ELeave) CMD4();
+	self->Reset();
+	return (self);
+	}
+	
+EXPORT_C CMessageDigest* CMD4::ReplicateL(void)
+	{
+	 return CMD4::NewL();
+	}
+	
+EXPORT_C CMD4::~CMD4(void)
+	{
+	}
+
+EXPORT_C TPtrC8 CMD4::Hash(const TDesC8& aMessage)
+	{
+	//Adds the aMessage to the internal representation of data to be hashed i.e iData
+	DoUpdate(aMessage.Ptr(),aMessage.Size());
+	StoreState();
+	//Does the padding and does the block operation on the final 512 bit block.
+	DoFinal();
+	RestoreState();
+	return iHash;
+	}
+
+EXPORT_C CMessageDigest* CMD4::CopyL(void)
+	{
+	return new(ELeave) CMD4(*this);
+	}
+	
+EXPORT_C TInt CMD4::BlockSize(void)
+	{
+	return sizeof(iData);
+	}
+	
+EXPORT_C TInt CMD4::HashSize(void)
+	{
+	return MD4_HASH;
+	}
+	
+EXPORT_C void CMD4::Reset(void)
+	{
+	iA=0x67452301;
+	iB=0xefcdab89;
+	iC=0x98badcfe;
+	iD=0x10325476;
+	iNh=0;
+	iNl=0;
+	}
+
+EXPORT_C void CMD4::Update(const TDesC8& aMessage)
+	{
+	DoUpdate(aMessage.Ptr(),aMessage.Size());
+	}
+	
+EXPORT_C TPtrC8 CMD4::Final(const TDesC8& aMessage)
+	{
+	//Adds the aMessage to the internal representation of data to be hashed i.e iData
+	DoUpdate(aMessage.Ptr(),aMessage.Size());
+	//Does the padding and does the block operation on the final 512 bit block.
+	DoFinal();
+	//Resets the values of iA, iB, iC and iD, iNh, iNl
+	Reset();
+	return iHash;
+	}
+
+EXPORT_C TPtrC8 CMD4::Final()
+	{
+	//Does the padding and does the block operation on the final 512 bit block.
+	DoFinal();
+	//Resets the values of iA, iB, iC and iD, iNh, iNl
+	Reset();
+	return iHash;
+	}
+
+void CMD4::DoUpdate(const TUint8* aData,TUint aLength)
+	{
+	const TUint8* pend=aData+aLength;	
+	for (const TUint8* paData=aData;paData<pend;paData++) 
+		{
+		const TUint8 byte=*paData;
+		switch (iNl&3) 
+			{
+			case 0:
+				iData[iNl>>2]=byte;
+				break;
+			case 1:
+				iData[iNl>>2]|=byte<<8;
+				break;
+			case 2:
+				iData[iNl>>2]|=byte<<16;
+				break;
+			case 3:
+				iData[iNl>>2]|=byte<<24;
+				break;
+			default:
+				break;
+			};
+		if(++iNl==64) 
+			{
+			Block();
+			iNh+=64;
+			iNl=0;
+			}
+		}
+	}
+
+static inline TUint CMD4_F(TUint x,TUint y,TUint z)
+	{
+	return ((x)&(y)) | ((~x)&(z));
+	}
+	
+static inline TUint CMD4_G(TUint x,TUint y,TUint z)
+	{
+	return ((x)&(y)) | ((x)&(z)) | ((y)&(z));
+	}
+	
+static inline TUint CMD4_H(TUint x,TUint y,TUint z)
+	{
+	return (x)^(y)^(z);
+	}
+
+	
+#ifdef NOREFS
+static inline TUint CMD4_FF(TUint a,const TUint b,const TUint c,const TUint d,const TUint x,const TUint s)
+	{
+	a+=CMD4_F(b,c,d) + x; 
+	a=CMD_R(a,s);
+	return a;
+	}
+	
+static inline TUint CMD4_GG(TUint a,const TUint b,const TUint c,const TUint d,const TUint x,const TUint s)
+	{
+	a+=CMD4_G(b,c,d) + x + (TUint32)0x5a827999; 
+	a=CMD_R(a,s);
+	return a;
+	}
+	
+static inline TUint CMD4_HH(TUint a,const TUint b,const TUint c,const TUint d,const TUint x,const TUint s)
+	{
+	a+=CMD4_H(b,c,d) + x + (TUint32)0x6ed9eba1; 
+	a=CMD_R(a,s);
+	return a;
+	}
+	
+void CMD4::Block()
+	{
+	register TUint tempA=iA;
+	register TUint tempB=iB;
+	register TUint tempC=iC;
+	register TUint tempD=iD;
+
+	tempA = CMD4_FF(tempA,tempB,tempC,tempD,iData[ 0],3);
+	tempD = CMD4_FF(tempD,tempA,tempB,tempC,iData[ 1],7);
+	tempC = CMD4_FF(tempC,tempD,tempA,tempB,iData[ 2],11);
+	tempB = CMD4_FF(tempB,tempC,tempD,tempA,iData[ 3],19);
+	tempA = CMD4_FF(tempA,tempB,tempC,tempD,iData[ 4],3);
+	tempD = CMD4_FF(tempD,tempA,tempB,tempC,iData[ 5],7);
+	tempC = CMD4_FF(tempC,tempD,tempA,tempB,iData[ 6],11);
+	tempB = CMD4_FF(tempB,tempC,tempD,tempA,iData[ 7],19);
+	tempA = CMD4_FF(tempA,tempB,tempC,tempD,iData[ 8],3);
+	tempD = CMD4_FF(tempD,tempA,tempB,tempC,iData[ 9],7);
+	tempC = CMD4_FF(tempC,tempD,tempA,tempB,iData[10],11);
+	tempB = CMD4_FF(tempB,tempC,tempD,tempA,iData[11],19);
+	tempA = CMD4_FF(tempA,tempB,tempC,tempD,iData[12],3);
+	tempD = CMD4_FF(tempD,tempA,tempB,tempC,iData[13],7);
+	tempC = CMD4_FF(tempC,tempD,tempA,tempB,iData[14],11);
+	tempB = CMD4_FF(tempB,tempC,tempD,tempA,iData[15],19);
+
+	tempA = CMD4_GG(tempA,tempB,tempC,tempD,iData[ 0],3);
+	tempD = CMD4_GG(tempD,tempA,tempB,tempC,iData[ 4],5);
+	tempC = CMD4_GG(tempC,tempD,tempA,tempB,iData[ 8],9);
+	tempB = CMD4_GG(tempB,tempC,tempD,tempA,iData[12],13);
+	tempA = CMD4_GG(tempA,tempB,tempC,tempD,iData[ 1],3);
+	tempD = CMD4_GG(tempD,tempA,tempB,tempC,iData[ 5],5);
+	tempC = CMD4_GG(tempC,tempD,tempA,tempB,iData[ 9],9);
+	tempB = CMD4_GG(tempB,tempC,tempD,tempA,iData[13],13);
+	tempA = CMD4_GG(tempA,tempB,tempC,tempD,iData[ 2],3);
+	tempD = CMD4_GG(tempD,tempA,tempB,tempC,iData[ 6],5);
+	tempC = CMD4_GG(tempC,tempD,tempA,tempB,iData[10],9);
+	tempB = CMD4_GG(tempB,tempC,tempD,tempA,iData[14],13);
+	tempA = CMD4_GG(tempA,tempB,tempC,tempD,iData[ 3],3);
+	tempD = CMD4_GG(tempD,tempA,tempB,tempC,iData[ 7],5);
+	tempC = CMD4_GG(tempC,tempD,tempA,tempB,iData[11],9);
+	tempB = CMD4_GG(tempB,tempC,tempD,tempA,iData[15],13);
+
+	tempA = CMD4_HH(tempA,tempB,tempC,tempD,iData[ 0],3);
+	tempD = CMD4_HH(tempD,tempA,tempB,tempC,iData[ 8],9);
+	tempC = CMD4_HH(tempC,tempD,tempA,tempB,iData[ 4],11);
+	tempB = CMD4_HH(tempB,tempC,tempD,tempA,iData[12],15);
+	tempA = CMD4_HH(tempA,tempB,tempC,tempD,iData[ 2],3);
+	tempD = CMD4_HH(tempD,tempA,tempB,tempC,iData[10],9);
+	tempC = CMD4_HH(tempC,tempD,tempA,tempB,iData[ 6],11);
+	tempB = CMD4_HH(tempB,tempC,tempD,tempA,iData[14],15);
+	tempA = CMD4_HH(tempA,tempB,tempC,tempD,iData[ 1],3);
+	tempD = CMD4_HH(tempD,tempA,tempB,tempC,iData[ 9],9);
+	tempC = CMD4_HH(tempC,tempD,tempA,tempB,iData[ 5],11);
+	tempB = CMD4_HH(tempB,tempC,tempD,tempA,iData[13],15);
+	tempA = CMD4_HH(tempA,tempB,tempC,tempD,iData[ 3],3);
+	tempD = CMD4_HH(tempD,tempA,tempB,tempC,iData[11],9);
+	tempC = CMD4_HH(tempC,tempD,tempA,tempB,iData[ 7],11);
+	tempB = CMD4_HH(tempB,tempC,tempD,tempA,iData[15],15);
+
+	iA+=tempA;
+	iB+=tempB;
+	iC+=tempC;
+	iD+=tempD;
+	}
+
+#else
+#ifdef MACRO
+#define CMD4_FF(a, b, c, d, x, s) (CMD_R(a += CMD4_F(b,c,d) + x, s))
+#define CMD4_GG(a, b, c, d, x, s) (CMD_R(a += CMD4_G(b,c,d) + x + (TUint32)0x5a827999, s))
+#define CMD4_HH(a, b, c, d, x, s) (CMD_R(a += CMD4_H(b,c,d) + x + (TUint32)0x6ed9eba1, s))
+void CMD4::Block()
+	{
+	register TUint tempA=iA;
+	register TUint tempB=iB;
+	register TUint tempC=iC;
+	register TUint tempD=iD;
+	
+	tempA = CMD4_FF(tempA,tempB,tempC,tempD,iData[ 0],3);
+	tempD = CMD4_FF(tempD,tempA,tempB,tempC,iData[ 1],7);
+	tempC = CMD4_FF(tempC,tempD,tempA,tempB,iData[ 2],11);
+	tempB = CMD4_FF(tempB,tempC,tempD,tempA,iData[ 3],19);
+	tempA = CMD4_FF(tempA,tempB,tempC,tempD,iData[ 4],3);
+	tempD = CMD4_FF(tempD,tempA,tempB,tempC,iData[ 5],7);
+	tempC = CMD4_FF(tempC,tempD,tempA,tempB,iData[ 6],11);
+	tempB = CMD4_FF(tempB,tempC,tempD,tempA,iData[ 7],19);
+	tempA = CMD4_FF(tempA,tempB,tempC,tempD,iData[ 8],3);
+	tempD = CMD4_FF(tempD,tempA,tempB,tempC,iData[ 9],7);
+	tempC = CMD4_FF(tempC,tempD,tempA,tempB,iData[10],11);
+	tempB = CMD4_FF(tempB,tempC,tempD,tempA,iData[11],19);
+	tempA = CMD4_FF(tempA,tempB,tempC,tempD,iData[12],3);
+	tempD = CMD4_FF(tempD,tempA,tempB,tempC,iData[13],7);
+	tempC = CMD4_FF(tempC,tempD,tempA,tempB,iData[14],11);
+	tempB = CMD4_FF(tempB,tempC,tempD,tempA,iData[15],19);
+
+	tempA = CMD4_GG(tempA,tempB,tempC,tempD,iData[ 0],3);
+	tempD = CMD4_GG(tempD,tempA,tempB,tempC,iData[ 4],5);
+	tempC = CMD4_GG(tempC,tempD,tempA,tempB,iData[ 8],9);
+	tempB = CMD4_GG(tempB,tempC,tempD,tempA,iData[12],13);
+	tempA = CMD4_GG(tempA,tempB,tempC,tempD,iData[ 1],3);
+	tempD = CMD4_GG(tempD,tempA,tempB,tempC,iData[ 5],5);
+	tempC = CMD4_GG(tempC,tempD,tempA,tempB,iData[ 9],9);
+	tempB = CMD4_GG(tempB,tempC,tempD,tempA,iData[13],13);
+	tempA = CMD4_GG(tempA,tempB,tempC,tempD,iData[ 2],3);
+	tempD = CMD4_GG(tempD,tempA,tempB,tempC,iData[ 6],5);
+	tempC = CMD4_GG(tempC,tempD,tempA,tempB,iData[10],9);
+	tempB = CMD4_GG(tempB,tempC,tempD,tempA,iData[14],13);
+	tempA = CMD4_GG(tempA,tempB,tempC,tempD,iData[ 3],3);
+	tempD = CMD4_GG(tempD,tempA,tempB,tempC,iData[ 7],5);
+	tempC = CMD4_GG(tempC,tempD,tempA,tempB,iData[11],9);
+	tempB = CMD4_GG(tempB,tempC,tempD,tempA,iData[15],13);
+
+	tempA = CMD4_HH(tempA,tempB,tempC,tempD,iData[ 0],3);
+	tempD = CMD4_HH(tempD,tempA,tempB,tempC,iData[ 8],9);
+	tempC = CMD4_HH(tempC,tempD,tempA,tempB,iData[ 4],11);
+	tempB = CMD4_HH(tempB,tempC,tempD,tempA,iData[12],15);
+	tempA = CMD4_HH(tempA,tempB,tempC,tempD,iData[ 2],3);
+	tempD = CMD4_HH(tempD,tempA,tempB,tempC,iData[10],9);
+	tempC = CMD4_HH(tempC,tempD,tempA,tempB,iData[ 6],11);
+	tempB = CMD4_HH(tempB,tempC,tempD,tempA,iData[14],15);
+	tempA = CMD4_HH(tempA,tempB,tempC,tempD,iData[ 1],3);
+	tempD = CMD4_HH(tempD,tempA,tempB,tempC,iData[ 9],9);
+	tempC = CMD4_HH(tempC,tempD,tempA,tempB,iData[ 5],11);
+	tempB = CMD4_HH(tempB,tempC,tempD,tempA,iData[13],15);
+	tempA = CMD4_HH(tempA,tempB,tempC,tempD,iData[ 3],3);
+	tempD = CMD4_HH(tempD,tempA,tempB,tempC,iData[11],9);
+	tempC = CMD4_HH(tempC,tempD,tempA,tempB,iData[ 7],11);
+	tempB = CMD4_HH(tempB,tempC,tempD,tempA,iData[15],15);
+
+	iA+=tempA;
+	iB+=tempB;
+	iC+=tempC;
+	iD+=tempD;
+	}
+	
+#else
+static inline void CMD4_FF(TUint& a,const TUint b,const TUint c,const TUint d,const TUint x,const TUint s)
+	{
+	a+=CMD4_F(b,c,d) + x; 
+	a=CMD_R(a,s);
+	}
+	
+static inline void CMD4_GG(TUint& a,const TUint b,const TUint c,const TUint d,const TUint x,const TUint s)
+	{
+	a+=CMD4_G(b,c,d) + x + (TUint32)0x5a827999; 
+	a=CMD_R(a,s);
+	}
+	
+static inline void CMD4_HH(TUint& a,const TUint b,const TUint c,const TUint d,const TUint x,const TUint s)
+	{
+	a+=CMD4_H(b,c,d) + x + (TUint32)0x6ed9eba1; 
+	a=CMD_R(a,s);
+	}
+
+void CMD4::Block()
+	{
+	register TUint tempA=iA;
+	register TUint tempB=iB;
+	register TUint tempC=iC;
+	register TUint tempD=iD;
+
+	CMD4_FF(tempA,tempB,tempC,tempD,iData[ 0],3);
+	CMD4_FF(tempD,tempA,tempB,tempC,iData[ 1],7);
+	CMD4_FF(tempC,tempD,tempA,tempB,iData[ 2],11);
+	CMD4_FF(tempB,tempC,tempD,tempA,iData[ 3],19);
+	CMD4_FF(tempA,tempB,tempC,tempD,iData[ 4],3);
+	CMD4_FF(tempD,tempA,tempB,tempC,iData[ 5],7);
+	CMD4_FF(tempC,tempD,tempA,tempB,iData[ 6],11);
+	CMD4_FF(tempB,tempC,tempD,tempA,iData[ 7],19);
+	CMD4_FF(tempA,tempB,tempC,tempD,iData[ 8],3);
+	CMD4_FF(tempD,tempA,tempB,tempC,iData[ 9],7);
+	CMD4_FF(tempC,tempD,tempA,tempB,iData[10],11);
+	CMD4_FF(tempB,tempC,tempD,tempA,iData[11],19);
+	CMD4_FF(tempA,tempB,tempC,tempD,iData[12],3);
+	CMD4_FF(tempD,tempA,tempB,tempC,iData[13],7);
+	CMD4_FF(tempC,tempD,tempA,tempB,iData[14],11);
+	CMD4_FF(tempB,tempC,tempD,tempA,iData[15],19);
+
+	CMD4_GG(tempA,tempB,tempC,tempD,iData[ 0],3);
+	CMD4_GG(tempD,tempA,tempB,tempC,iData[ 4],5);
+	CMD4_GG(tempC,tempD,tempA,tempB,iData[ 8],9);
+	CMD4_GG(tempB,tempC,tempD,tempA,iData[12],13);
+	CMD4_GG(tempA,tempB,tempC,tempD,iData[ 1],3);
+	CMD4_GG(tempD,tempA,tempB,tempC,iData[ 5],5);
+	CMD4_GG(tempC,tempD,tempA,tempB,iData[ 9],9);
+	CMD4_GG(tempB,tempC,tempD,tempA,iData[13],13);
+	CMD4_GG(tempA,tempB,tempC,tempD,iData[ 2],3);
+	CMD4_GG(tempD,tempA,tempB,tempC,iData[ 6],5);
+	CMD4_GG(tempC,tempD,tempA,tempB,iData[10],9);
+	CMD4_GG(tempB,tempC,tempD,tempA,iData[14],13);
+	CMD4_GG(tempA,tempB,tempC,tempD,iData[ 3],3);
+	CMD4_GG(tempD,tempA,tempB,tempC,iData[ 7],5);
+	CMD4_GG(tempC,tempD,tempA,tempB,iData[11],9);
+	CMD4_GG(tempB,tempC,tempD,tempA,iData[15],13);
+
+	CMD4_HH(tempA,tempB,tempC,tempD,iData[ 0],3);
+	CMD4_HH(tempD,tempA,tempB,tempC,iData[ 8],9);
+	CMD4_HH(tempC,tempD,tempA,tempB,iData[ 4],11);
+	CMD4_HH(tempB,tempC,tempD,tempA,iData[12],15);
+	CMD4_HH(tempA,tempB,tempC,tempD,iData[ 2],3);
+	CMD4_HH(tempD,tempA,tempB,tempC,iData[10],9);
+	CMD4_HH(tempC,tempD,tempA,tempB,iData[ 6],11);
+	CMD4_HH(tempB,tempC,tempD,tempA,iData[14],15);
+	CMD4_HH(tempA,tempB,tempC,tempD,iData[ 1],3);
+	CMD4_HH(tempD,tempA,tempB,tempC,iData[ 9],9);
+	CMD4_HH(tempC,tempD,tempA,tempB,iData[ 5],11);
+	CMD4_HH(tempB,tempC,tempD,tempA,iData[13],15);
+	CMD4_HH(tempA,tempB,tempC,tempD,iData[ 3],3);
+	CMD4_HH(tempD,tempA,tempB,tempC,iData[11],9);
+	CMD4_HH(tempC,tempD,tempA,tempB,iData[ 7],11);
+	CMD4_HH(tempB,tempC,tempD,tempA,iData[15],15);
+	
+	iA+=tempA;
+	iB+=tempB;
+	iC+=tempC;
+	iD+=tempD;
+	}
+#endif
+#endif
+
+void CMD4::DoFinal(void)
+	{
+	iNh += iNl;
+	const TUint ul128=128;
+	switch (iNl&3) 
+		{
+		case 0:
+			iData[iNl>>2] = ul128;
+			break;
+		case 1:
+			iData[iNl>>2] += ul128<<8;
+			break;
+		case 2:
+			iData[iNl>>2] += ul128<<16;
+			break;
+		case 3:
+			iData[iNl>>2] += ul128<<24;
+			break;
+		default:
+			break;
+		};
+	if (iNl>=56) 
+		{
+		if (iNl<60)
+			iData[15]=0;		
+		Block();
+		Mem::FillZ(iData,14*sizeof(TUint));
+		} 
+	else
+		{
+		const TUint offset=(iNl+4)>>2;
+		Mem::FillZ(iData+offset,(14-offset)*sizeof(TUint));
+		}
+	
+	iData[14]=iNh<<3;//number in bits
+	// this will fail if the total input length is longer than 2^32 in bits
+	//(2^31 in bytes) which is roughly half a gig.
+	iData[15]=0;
+
+	Block();
+	//
+	// Generate hash value into iHash
+	//
+	TUint tmp=iA;
+	iHash[0]=(TUint8)(tmp & 255);
+	iHash[1]=(TUint8)((tmp >>= 8) & 255);
+	iHash[2]=(TUint8)((tmp >>= 8) & 255);
+	iHash[3]=(TUint8)((tmp >>= 8) & 255);
+
+	tmp=iB;
+	iHash[4]=(TUint8)(tmp & 255);
+	iHash[5]=(TUint8)((tmp >>= 8) & 255);
+	iHash[6]=(TUint8)((tmp >>= 8) & 255);
+	iHash[7]=(TUint8)((tmp >>= 8) & 255);
+
+	tmp=iC;
+	iHash[8]=(TUint8)(tmp & 255);
+	iHash[9]=(TUint8)((tmp >>= 8) & 255);
+	iHash[10]=(TUint8)((tmp >>= 8) & 255);
+	iHash[11]=(TUint8)((tmp >>= 8) & 255);
+
+	tmp=iD;
+	iHash[12]=(TUint8)(tmp & 255);
+	iHash[13]=(TUint8)((tmp >>= 8) & 255);
+	iHash[14]=(TUint8)((tmp >>= 8) & 255);
+	iHash[15]=(TUint8)((tmp >>= 8) & 255);
+	}
+
+void CMD4::RestoreState()
+{
+	iA = iACopy;
+	iB = iBCopy;
+	iC = iCCopy;
+	iD = iDCopy;
+	iNl = iNlCopy;
+	iNh = iNhCopy;	
+	Mem::Copy(&iData[0], &iDataCopy[0], MD4_LBLOCK*sizeof(TUint)); 
+}
+
+void CMD4::StoreState()
+{
+	iACopy = iA;
+	iBCopy = iB;
+	iCCopy = iC;
+	iDCopy = iD;
+	iNlCopy = iNl;
+	iNhCopy = iNh;	
+	Mem::Copy(&iDataCopy[0], &iData[0], MD4_LBLOCK*sizeof(TUint));
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/hash/md5.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,546 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* (c) 2003 Symbian Ltd.  All rights reserved.
+*
+*/
+
+
+/**
+ @file
+*/
+
+#include <e32std.h>
+#include <hash.h>
+#include "hashinc.h"
+#define EXPANDLOOP
+
+//
+// 32bit endianness independent MD5 implementation
+//
+CMD5::CMD5(void)
+: CMessageDigest(),iHash(MD5_HASH)
+	{
+	}
+CMD5::CMD5(const CMD5& aMD)
+: CMessageDigest(aMD),
+  iHash(aMD.iHash),iA(aMD.iA),iB(aMD.iB),iC(aMD.iC),iD(aMD.iD),
+  iNl(aMD.iNl),iNh(aMD.iNh)
+	{
+	(void)Mem::Copy(iData,aMD.iData,sizeof(iData));
+	}
+EXPORT_C CMD5* CMD5::NewL(void)
+	{
+	CMD5* self = new (ELeave) CMD5();
+	self->Reset();
+	return (self);
+	}
+EXPORT_C CMessageDigest* CMD5::ReplicateL(void)
+	{
+	CMD5* newMD5 = CMD5::NewL();
+	return (newMD5);
+	}
+EXPORT_C CMD5::~CMD5(void)
+	{
+	}
+
+EXPORT_C TPtrC8 CMD5::Hash(const TDesC8& aMessage)
+	{
+	TPtrC8 ptr(KNullDesC8());
+	DoUpdate(aMessage.Ptr(),aMessage.Size());
+	StoreState();
+	DoFinal();
+	ptr.Set(iHash);
+	RestoreState();
+	return ptr;
+	}
+
+EXPORT_C CMessageDigest* CMD5::CopyL(void)
+	{
+	return new(ELeave) CMD5(*this);
+	}
+EXPORT_C TInt CMD5::BlockSize(void)
+	{
+	return sizeof(iData);
+	}
+EXPORT_C TInt CMD5::HashSize(void)
+	{
+	return MD5_HASH;
+	}
+EXPORT_C void CMD5::Reset(void)
+	{
+	iA=0x67452301;
+	iB=0xefcdab89;
+	iC=0x98badcfe;
+	iD=0x10325476;
+	iNh=0;
+	iNl=0;
+	}
+
+EXPORT_C void CMD5::Update(const TDesC8& aMessage)
+	{
+	DoUpdate(aMessage.Ptr(),aMessage.Size());
+	}
+EXPORT_C TPtrC8 CMD5::Final(const TDesC8& aMessage)
+	{
+	TPtrC8 ptr(KNullDesC8());
+	DoUpdate(aMessage.Ptr(),aMessage.Size());
+	DoFinal();
+	ptr.Set(iHash);
+	Reset();
+	return ptr;
+	}
+
+EXPORT_C TPtrC8 CMD5::Final()
+	{
+	TPtrC8 ptr(KNullDesC8());
+	DoFinal();
+	ptr.Set(iHash);
+	Reset();
+	return ptr;
+	}
+
+void CMD5::DoUpdate(const TUint8* aData,TUint aLength)
+	{
+	const TUint8* pend=aData+aLength;	
+	for (const TUint8* paData=aData;paData<pend;paData++) 
+		{
+		const TUint8 byte=*paData;
+		switch (iNl&3) 
+			{
+			case 0:
+				iData[iNl>>2]=byte;
+				break;
+			case 1:
+				iData[iNl>>2]|=byte<<8;
+				break;
+			case 2:
+				iData[iNl>>2]|=byte<<16;
+				break;
+			case 3:
+				iData[iNl>>2]|=byte<<24;
+				break;
+			default:
+				break;
+			};
+		if(++iNl==64) 
+			{
+			Block();
+			iNh+=64;
+			iNl=0;
+			}
+		}
+	}
+
+static inline TUint CMD5_F(TUint x,TUint y,TUint z)
+	{
+	return (x&y) | (~x&z);
+	}
+static inline TUint CMD5_G(TUint x,TUint y,TUint z)
+	{
+	return (x&z) | (y&~z);
+	}
+static inline TUint CMD5_H(TUint x,TUint y,TUint z)
+	{
+	return x^y^z;
+	}
+static inline TUint CMD5_I(TUint x,TUint y,TUint z)
+	{
+	return y^(x|~z);
+	}
+
+	
+#ifdef NOREFS
+static inline TUint CMD5_FF(TUint a,const TUint b,const TUint c,const TUint d,const TUint m,const TUint s,const TUint t)
+	{
+	a+=CMD5_F(b,c,d) + m + t; 
+	a=b + CMD_R(a,s);
+	return a;
+	}
+static inline TUint CMD5_GG(TUint a,const TUint b,const TUint c,const TUint d,const TUint m,const TUint s,const TUint t)
+	{
+	a+=CMD5_G(b,c,d) + m + t; 
+	a=b + CMD_R(a,s);
+	return a;
+	}
+static inline TUint CMD5_HH(TUint a,const TUint b,const TUint c,const TUint d,const TUint m,const TUint s,const TUint t)
+	{
+	a+=CMD5_H(b,c,d) + m + t; 
+	a=b + CMD_R(a,s);
+	return a;
+	}
+static inline TUint CMD5_II(TUint a,const TUint b,const TUint c,const TUint d,const TUint m,const TUint s,const TUint t)
+	{
+	a+=CMD5_I(b,c,d) + m + t; 
+	a=b + CMD_R(a,s);
+	return a;
+	}
+void CMD5::Block()
+	{
+	register TUint tempA=iA;
+	register TUint tempB=iB;
+	register TUint tempC=iC;
+	register TUint tempD=iD;
+
+	tempA = CMD5_FF(tempA,tempB,tempC,tempD,iData[ 0], 7, 0xd76aa478);
+	tempD = CMD5_FF(tempD,tempA,tempB,tempC,iData[ 1],12, 0xe8c7b756);
+	tempC = CMD5_FF(tempC,tempD,tempA,tempB,iData[ 2],17, 0x242070db);
+	tempB = CMD5_FF(tempB,tempC,tempD,tempA,iData[ 3],22, 0xc1bdceee);
+	tempA = CMD5_FF(tempA,tempB,tempC,tempD,iData[ 4], 7, 0xf57c0faf);
+	tempD = CMD5_FF(tempD,tempA,tempB,tempC,iData[ 5],12, 0x4787c62a);
+	tempC = CMD5_FF(tempC,tempD,tempA,tempB,iData[ 6],17, 0xa8304613);
+	tempB = CMD5_FF(tempB,tempC,tempD,tempA,iData[ 7],22, 0xfd469501);
+	tempA = CMD5_FF(tempA,tempB,tempC,tempD,iData[ 8], 7, 0x698098d8);
+	tempD = CMD5_FF(tempD,tempA,tempB,tempC,iData[ 9],12, 0x8b44f7af);
+	tempC = CMD5_FF(tempC,tempD,tempA,tempB,iData[10],17, 0xffff5bb1);
+	tempB = CMD5_FF(tempB,tempC,tempD,tempA,iData[11],22, 0x895cd7be);
+	tempA = CMD5_FF(tempA,tempB,tempC,tempD,iData[12], 7, 0x6b901122);
+	tempD = CMD5_FF(tempD,tempA,tempB,tempC,iData[13],12, 0xfd987193);
+	tempC = CMD5_FF(tempC,tempD,tempA,tempB,iData[14],17, 0xa679438e);
+	tempB = CMD5_FF(tempB,tempC,tempD,tempA,iData[15],22, 0x49b40821);
+
+	tempA = CMD5_GG(tempA,tempB,tempC,tempD,iData[ 1], 5, 0xf61e2562);
+	tempD = CMD5_GG(tempD,tempA,tempB,tempC,iData[ 6], 9, 0xc040b340);
+	tempC = CMD5_GG(tempC,tempD,tempA,tempB,iData[11],14, 0x265e5a51);
+	tempB = CMD5_GG(tempB,tempC,tempD,tempA,iData[ 0],20, 0xe9b6c7aa);
+	tempA = CMD5_GG(tempA,tempB,tempC,tempD,iData[ 5], 5, 0xd62f105d);
+	tempD = CMD5_GG(tempD,tempA,tempB,tempC,iData[10], 9, 0x02441453);
+	tempC = CMD5_GG(tempC,tempD,tempA,tempB,iData[15],14, 0xd8a1e681);
+	tempB = CMD5_GG(tempB,tempC,tempD,tempA,iData[ 4],20, 0xe7d3fbc8);
+	tempA = CMD5_GG(tempA,tempB,tempC,tempD,iData[ 9], 5, 0x21e1cde6);
+	tempD = CMD5_GG(tempD,tempA,tempB,tempC,iData[14], 9, 0xc33707d6);
+	tempC = CMD5_GG(tempC,tempD,tempA,tempB,iData[ 3],14, 0xf4d50d87);
+	tempB = CMD5_GG(tempB,tempC,tempD,tempA,iData[ 8],20, 0x455a14ed);
+	tempA = CMD5_GG(tempA,tempB,tempC,tempD,iData[13], 5, 0xa9e3e905);
+	tempD = CMD5_GG(tempD,tempA,tempB,tempC,iData[ 2], 9, 0xfcefa3f8);
+	tempC = CMD5_GG(tempC,tempD,tempA,tempB,iData[ 7],14, 0x676f02d9);
+	tempB = CMD5_GG(tempB,tempC,tempD,tempA,iData[12],20, 0x8d2a4c8a);
+
+	tempA = CMD5_HH(tempA,tempB,tempC,tempD,iData[ 5], 4, 0xfffa3942);
+	tempD = CMD5_HH(tempD,tempA,tempB,tempC,iData[ 8],11, 0x8771f681);
+	tempC = CMD5_HH(tempC,tempD,tempA,tempB,iData[11],16, 0x6d9d6122);
+	tempB = CMD5_HH(tempB,tempC,tempD,tempA,iData[14],23, 0xfde5380c);
+	tempA = CMD5_HH(tempA,tempB,tempC,tempD,iData[ 1], 4, 0xa4beea44);
+	tempD = CMD5_HH(tempD,tempA,tempB,tempC,iData[ 4],11, 0x4bdecfa9);
+	tempC = CMD5_HH(tempC,tempD,tempA,tempB,iData[ 7],16, 0xf6bb4b60);
+	tempB = CMD5_HH(tempB,tempC,tempD,tempA,iData[10],23, 0xbebfbc70);
+	tempA = CMD5_HH(tempA,tempB,tempC,tempD,iData[13], 4, 0x289b7ec6);
+	tempD = CMD5_HH(tempD,tempA,tempB,tempC,iData[ 0],11, 0xeaa127fa);
+	tempC = CMD5_HH(tempC,tempD,tempA,tempB,iData[ 3],16, 0xd4ef3085);
+	tempB = CMD5_HH(tempB,tempC,tempD,tempA,iData[ 6],23, 0x04881d05);
+	tempA = CMD5_HH(tempA,tempB,tempC,tempD,iData[ 9], 4, 0xd9d4d039);
+	tempD = CMD5_HH(tempD,tempA,tempB,tempC,iData[12],11, 0xe6db99e5);
+	tempC = CMD5_HH(tempC,tempD,tempA,tempB,iData[15],16, 0x1fa27cf8);
+	tempB = CMD5_HH(tempB,tempC,tempD,tempA,iData[ 2],23, 0xc4ac5665);
+
+	tempA = CMD5_II(tempA,tempB,tempC,tempD,iData[ 0], 6, 0xf4292244);
+	tempD = CMD5_II(tempD,tempA,tempB,tempC,iData[ 7],10, 0x432aff97);
+	tempC = CMD5_II(tempC,tempD,tempA,tempB,iData[14],15, 0xab9423a7);
+	tempB = CMD5_II(tempB,tempC,tempD,tempA,iData[ 5],21, 0xfc93a039);
+	tempA = CMD5_II(tempA,tempB,tempC,tempD,iData[12], 6, 0x655b59c3);
+	tempD = CMD5_II(tempD,tempA,tempB,tempC,iData[ 3],10, 0x8f0ccc92);
+	tempC = CMD5_II(tempC,tempD,tempA,tempB,iData[10],15, 0xffeff47d);
+	tempB = CMD5_II(tempB,tempC,tempD,tempA,iData[ 1],21, 0x85845dd1);
+	tempA = CMD5_II(tempA,tempB,tempC,tempD,iData[ 8], 6, 0x6fa87e4f);
+	tempD = CMD5_II(tempD,tempA,tempB,tempC,iData[15],10, 0xfe2ce6e0);
+	tempC = CMD5_II(tempC,tempD,tempA,tempB,iData[ 6],15, 0xa3014314);
+	tempB = CMD5_II(tempB,tempC,tempD,tempA,iData[13],21, 0x4e0811a1);
+	tempA = CMD5_II(tempA,tempB,tempC,tempD,iData[ 4], 6, 0xf7537e82);
+	tempD = CMD5_II(tempD,tempA,tempB,tempC,iData[11],10, 0xbd3af235);
+	tempC = CMD5_II(tempC,tempD,tempA,tempB,iData[ 2],15, 0x2ad7d2bb);
+	tempB = CMD5_II(tempB,tempC,tempD,tempA,iData[ 9],21, 0xeb86d391);
+
+	iA+=tempA;
+	iB+=tempB;
+	iC+=tempC;
+	iD+=tempD;
+	}
+#else
+#ifdef MACRO
+#define CMD5_FF(a, b, c, d, m, s, t) (b + CMD_R(a += CMD5_F(b,c,d) + m + t, s))
+#define CMD5_GG(a, b, c, d, m, s, t) (b + CMD_R(a += CMD5_G(b,c,d) + m + t, s))
+#define CMD5_HH(a, b, c, d, m, s, t) (b + CMD_R(a += CMD5_H(b,c,d) + m + t, s))
+#define CMD5_II(a, b, c, d, m, s, t) (b + CMD_R(a += CMD5_I(b,c,d) + m + t, s))
+void CMD5::Block()
+	{
+	register TUint tempA=iA;
+	register TUint tempB=iB;
+	register TUint tempC=iC;
+	register TUint tempD=iD;
+
+	tempA = CMD5_FF(tempA,tempB,tempC,tempD,iData[ 0], 7, 0xd76aa478);
+	tempD = CMD5_FF(tempD,tempA,tempB,tempC,iData[ 1],12, 0xe8c7b756);
+	tempC = CMD5_FF(tempC,tempD,tempA,tempB,iData[ 2],17, 0x242070db);
+	tempB = CMD5_FF(tempB,tempC,tempD,tempA,iData[ 3],22, 0xc1bdceee);
+	tempA = CMD5_FF(tempA,tempB,tempC,tempD,iData[ 4], 7, 0xf57c0faf);
+	tempD = CMD5_FF(tempD,tempA,tempB,tempC,iData[ 5],12, 0x4787c62a);
+	tempC = CMD5_FF(tempC,tempD,tempA,tempB,iData[ 6],17, 0xa8304613);
+	tempB = CMD5_FF(tempB,tempC,tempD,tempA,iData[ 7],22, 0xfd469501);
+	tempA = CMD5_FF(tempA,tempB,tempC,tempD,iData[ 8], 7, 0x698098d8);
+	tempD = CMD5_FF(tempD,tempA,tempB,tempC,iData[ 9],12, 0x8b44f7af);
+	tempC = CMD5_FF(tempC,tempD,tempA,tempB,iData[10],17, 0xffff5bb1);
+	tempB = CMD5_FF(tempB,tempC,tempD,tempA,iData[11],22, 0x895cd7be);
+	tempA = CMD5_FF(tempA,tempB,tempC,tempD,iData[12], 7, 0x6b901122);
+	tempD = CMD5_FF(tempD,tempA,tempB,tempC,iData[13],12, 0xfd987193);
+	tempC = CMD5_FF(tempC,tempD,tempA,tempB,iData[14],17, 0xa679438e);
+	tempB = CMD5_FF(tempB,tempC,tempD,tempA,iData[15],22, 0x49b40821);
+
+	tempA = CMD5_GG(tempA,tempB,tempC,tempD,iData[ 1], 5, 0xf61e2562);
+	tempD = CMD5_GG(tempD,tempA,tempB,tempC,iData[ 6], 9, 0xc040b340);
+	tempC = CMD5_GG(tempC,tempD,tempA,tempB,iData[11],14, 0x265e5a51);
+	tempB = CMD5_GG(tempB,tempC,tempD,tempA,iData[ 0],20, 0xe9b6c7aa);
+	tempA = CMD5_GG(tempA,tempB,tempC,tempD,iData[ 5], 5, 0xd62f105d);
+	tempD = CMD5_GG(tempD,tempA,tempB,tempC,iData[10], 9, 0x02441453);
+	tempC = CMD5_GG(tempC,tempD,tempA,tempB,iData[15],14, 0xd8a1e681);
+	tempB = CMD5_GG(tempB,tempC,tempD,tempA,iData[ 4],20, 0xe7d3fbc8);
+	tempA = CMD5_GG(tempA,tempB,tempC,tempD,iData[ 9], 5, 0x21e1cde6);
+	tempD = CMD5_GG(tempD,tempA,tempB,tempC,iData[14], 9, 0xc33707d6);
+	tempC = CMD5_GG(tempC,tempD,tempA,tempB,iData[ 3],14, 0xf4d50d87);
+	tempB = CMD5_GG(tempB,tempC,tempD,tempA,iData[ 8],20, 0x455a14ed);
+	tempA = CMD5_GG(tempA,tempB,tempC,tempD,iData[13], 5, 0xa9e3e905);
+	tempD = CMD5_GG(tempD,tempA,tempB,tempC,iData[ 2], 9, 0xfcefa3f8);
+	tempC = CMD5_GG(tempC,tempD,tempA,tempB,iData[ 7],14, 0x676f02d9);
+	tempB = CMD5_GG(tempB,tempC,tempD,tempA,iData[12],20, 0x8d2a4c8a);
+
+	tempA = CMD5_HH(tempA,tempB,tempC,tempD,iData[ 5], 4, 0xfffa3942);
+	tempD = CMD5_HH(tempD,tempA,tempB,tempC,iData[ 8],11, 0x8771f681);
+	tempC = CMD5_HH(tempC,tempD,tempA,tempB,iData[11],16, 0x6d9d6122);
+	tempB = CMD5_HH(tempB,tempC,tempD,tempA,iData[14],23, 0xfde5380c);
+	tempA = CMD5_HH(tempA,tempB,tempC,tempD,iData[ 1], 4, 0xa4beea44);
+	tempD = CMD5_HH(tempD,tempA,tempB,tempC,iData[ 4],11, 0x4bdecfa9);
+	tempC = CMD5_HH(tempC,tempD,tempA,tempB,iData[ 7],16, 0xf6bb4b60);
+	tempB = CMD5_HH(tempB,tempC,tempD,tempA,iData[10],23, 0xbebfbc70);
+	tempA = CMD5_HH(tempA,tempB,tempC,tempD,iData[13], 4, 0x289b7ec6);
+	tempD = CMD5_HH(tempD,tempA,tempB,tempC,iData[ 0],11, 0xeaa127fa);
+	tempC = CMD5_HH(tempC,tempD,tempA,tempB,iData[ 3],16, 0xd4ef3085);
+	tempB = CMD5_HH(tempB,tempC,tempD,tempA,iData[ 6],23, 0x04881d05);
+	tempA = CMD5_HH(tempA,tempB,tempC,tempD,iData[ 9], 4, 0xd9d4d039);
+	tempD = CMD5_HH(tempD,tempA,tempB,tempC,iData[12],11, 0xe6db99e5);
+	tempC = CMD5_HH(tempC,tempD,tempA,tempB,iData[15],16, 0x1fa27cf8);
+	tempB = CMD5_HH(tempB,tempC,tempD,tempA,iData[ 2],23, 0xc4ac5665);
+
+	tempA = CMD5_II(tempA,tempB,tempC,tempD,iData[ 0], 6, 0xf4292244);
+	tempD = CMD5_II(tempD,tempA,tempB,tempC,iData[ 7],10, 0x432aff97);
+	tempC = CMD5_II(tempC,tempD,tempA,tempB,iData[14],15, 0xab9423a7);
+	tempB = CMD5_II(tempB,tempC,tempD,tempA,iData[ 5],21, 0xfc93a039);
+	tempA = CMD5_II(tempA,tempB,tempC,tempD,iData[12], 6, 0x655b59c3);
+	tempD = CMD5_II(tempD,tempA,tempB,tempC,iData[ 3],10, 0x8f0ccc92);
+	tempC = CMD5_II(tempC,tempD,tempA,tempB,iData[10],15, 0xffeff47d);
+	tempB = CMD5_II(tempB,tempC,tempD,tempA,iData[ 1],21, 0x85845dd1);
+	tempA = CMD5_II(tempA,tempB,tempC,tempD,iData[ 8], 6, 0x6fa87e4f);
+	tempD = CMD5_II(tempD,tempA,tempB,tempC,iData[15],10, 0xfe2ce6e0);
+	tempC = CMD5_II(tempC,tempD,tempA,tempB,iData[ 6],15, 0xa3014314);
+	tempB = CMD5_II(tempB,tempC,tempD,tempA,iData[13],21, 0x4e0811a1);
+	tempA = CMD5_II(tempA,tempB,tempC,tempD,iData[ 4], 6, 0xf7537e82);
+	tempD = CMD5_II(tempD,tempA,tempB,tempC,iData[11],10, 0xbd3af235);
+	tempC = CMD5_II(tempC,tempD,tempA,tempB,iData[ 2],15, 0x2ad7d2bb);
+	tempB = CMD5_II(tempB,tempC,tempD,tempA,iData[ 9],21, 0xeb86d391);
+
+	iA+=tempA;
+	iB+=tempB;
+	iC+=tempC;
+	iD+=tempD;
+	}
+#else
+static inline void CMD5_FF(TUint& a,const TUint b,const TUint c,const TUint d,const TUint m,const TUint s,const TUint t)
+	{
+	a+=CMD5_F(b,c,d) + m + t; 
+	a=b + CMD_R(a,s);
+	}
+static inline void CMD5_GG(TUint& a,const TUint b,const TUint c,const TUint d,const TUint m,const TUint s,const TUint t)
+	{
+	a+=CMD5_G(b,c,d) + m + t; 
+	a=b + CMD_R(a,s);
+	}
+static inline void CMD5_HH(TUint& a,const TUint b,const TUint c,const TUint d,const TUint m,const TUint s,const TUint t)
+	{
+	a+=CMD5_H(b,c,d) + m + t; 
+	a=b + CMD_R(a,s);
+	}
+static inline void CMD5_II(TUint& a,const TUint b,const TUint c,const TUint d,const TUint m,const TUint s,const TUint t)
+	{
+	a+=CMD5_I(b,c,d) + m + t; 
+	a=b + CMD_R(a,s);
+	}
+void CMD5::Block()
+	{
+	register TUint tempA=iA;
+	register TUint tempB=iB;
+	register TUint tempC=iC;
+	register TUint tempD=iD;
+
+	CMD5_FF(tempA,tempB,tempC,tempD,iData[ 0], 7, 0xd76aa478);
+	CMD5_FF(tempD,tempA,tempB,tempC,iData[ 1],12, 0xe8c7b756);
+	CMD5_FF(tempC,tempD,tempA,tempB,iData[ 2],17, 0x242070db);
+	CMD5_FF(tempB,tempC,tempD,tempA,iData[ 3],22, 0xc1bdceee);
+	CMD5_FF(tempA,tempB,tempC,tempD,iData[ 4], 7, 0xf57c0faf);
+	CMD5_FF(tempD,tempA,tempB,tempC,iData[ 5],12, 0x4787c62a);
+	CMD5_FF(tempC,tempD,tempA,tempB,iData[ 6],17, 0xa8304613);
+	CMD5_FF(tempB,tempC,tempD,tempA,iData[ 7],22, 0xfd469501);
+	CMD5_FF(tempA,tempB,tempC,tempD,iData[ 8], 7, 0x698098d8);
+	CMD5_FF(tempD,tempA,tempB,tempC,iData[ 9],12, 0x8b44f7af);
+	CMD5_FF(tempC,tempD,tempA,tempB,iData[10],17, 0xffff5bb1);
+	CMD5_FF(tempB,tempC,tempD,tempA,iData[11],22, 0x895cd7be);
+	CMD5_FF(tempA,tempB,tempC,tempD,iData[12], 7, 0x6b901122);
+	CMD5_FF(tempD,tempA,tempB,tempC,iData[13],12, 0xfd987193);
+	CMD5_FF(tempC,tempD,tempA,tempB,iData[14],17, 0xa679438e);
+	CMD5_FF(tempB,tempC,tempD,tempA,iData[15],22, 0x49b40821);
+
+	CMD5_GG(tempA,tempB,tempC,tempD,iData[ 1], 5, 0xf61e2562);
+	CMD5_GG(tempD,tempA,tempB,tempC,iData[ 6], 9, 0xc040b340);
+	CMD5_GG(tempC,tempD,tempA,tempB,iData[11],14, 0x265e5a51);
+	CMD5_GG(tempB,tempC,tempD,tempA,iData[ 0],20, 0xe9b6c7aa);
+	CMD5_GG(tempA,tempB,tempC,tempD,iData[ 5], 5, 0xd62f105d);
+	CMD5_GG(tempD,tempA,tempB,tempC,iData[10], 9, 0x02441453);
+	CMD5_GG(tempC,tempD,tempA,tempB,iData[15],14, 0xd8a1e681);
+	CMD5_GG(tempB,tempC,tempD,tempA,iData[ 4],20, 0xe7d3fbc8);
+	CMD5_GG(tempA,tempB,tempC,tempD,iData[ 9], 5, 0x21e1cde6);
+	CMD5_GG(tempD,tempA,tempB,tempC,iData[14], 9, 0xc33707d6);
+	CMD5_GG(tempC,tempD,tempA,tempB,iData[ 3],14, 0xf4d50d87);
+	CMD5_GG(tempB,tempC,tempD,tempA,iData[ 8],20, 0x455a14ed);
+	CMD5_GG(tempA,tempB,tempC,tempD,iData[13], 5, 0xa9e3e905);
+	CMD5_GG(tempD,tempA,tempB,tempC,iData[ 2], 9, 0xfcefa3f8);
+	CMD5_GG(tempC,tempD,tempA,tempB,iData[ 7],14, 0x676f02d9);
+	CMD5_GG(tempB,tempC,tempD,tempA,iData[12],20, 0x8d2a4c8a);
+
+	CMD5_HH(tempA,tempB,tempC,tempD,iData[ 5], 4, 0xfffa3942);
+	CMD5_HH(tempD,tempA,tempB,tempC,iData[ 8],11, 0x8771f681);
+	CMD5_HH(tempC,tempD,tempA,tempB,iData[11],16, 0x6d9d6122);
+	CMD5_HH(tempB,tempC,tempD,tempA,iData[14],23, 0xfde5380c);
+	CMD5_HH(tempA,tempB,tempC,tempD,iData[ 1], 4, 0xa4beea44);
+	CMD5_HH(tempD,tempA,tempB,tempC,iData[ 4],11, 0x4bdecfa9);
+	CMD5_HH(tempC,tempD,tempA,tempB,iData[ 7],16, 0xf6bb4b60);
+	CMD5_HH(tempB,tempC,tempD,tempA,iData[10],23, 0xbebfbc70);
+	CMD5_HH(tempA,tempB,tempC,tempD,iData[13], 4, 0x289b7ec6);
+	CMD5_HH(tempD,tempA,tempB,tempC,iData[ 0],11, 0xeaa127fa);
+	CMD5_HH(tempC,tempD,tempA,tempB,iData[ 3],16, 0xd4ef3085);
+	CMD5_HH(tempB,tempC,tempD,tempA,iData[ 6],23, 0x04881d05);
+	CMD5_HH(tempA,tempB,tempC,tempD,iData[ 9], 4, 0xd9d4d039);
+	CMD5_HH(tempD,tempA,tempB,tempC,iData[12],11, 0xe6db99e5);
+	CMD5_HH(tempC,tempD,tempA,tempB,iData[15],16, 0x1fa27cf8);
+	CMD5_HH(tempB,tempC,tempD,tempA,iData[ 2],23, 0xc4ac5665);
+
+	CMD5_II(tempA,tempB,tempC,tempD,iData[ 0], 6, 0xf4292244);
+	CMD5_II(tempD,tempA,tempB,tempC,iData[ 7],10, 0x432aff97);
+	CMD5_II(tempC,tempD,tempA,tempB,iData[14],15, 0xab9423a7);
+	CMD5_II(tempB,tempC,tempD,tempA,iData[ 5],21, 0xfc93a039);
+	CMD5_II(tempA,tempB,tempC,tempD,iData[12], 6, 0x655b59c3);
+	CMD5_II(tempD,tempA,tempB,tempC,iData[ 3],10, 0x8f0ccc92);
+	CMD5_II(tempC,tempD,tempA,tempB,iData[10],15, 0xffeff47d);
+	CMD5_II(tempB,tempC,tempD,tempA,iData[ 1],21, 0x85845dd1);
+	CMD5_II(tempA,tempB,tempC,tempD,iData[ 8], 6, 0x6fa87e4f);
+	CMD5_II(tempD,tempA,tempB,tempC,iData[15],10, 0xfe2ce6e0);
+	CMD5_II(tempC,tempD,tempA,tempB,iData[ 6],15, 0xa3014314);
+	CMD5_II(tempB,tempC,tempD,tempA,iData[13],21, 0x4e0811a1);
+	CMD5_II(tempA,tempB,tempC,tempD,iData[ 4], 6, 0xf7537e82);
+	CMD5_II(tempD,tempA,tempB,tempC,iData[11],10, 0xbd3af235);
+	CMD5_II(tempC,tempD,tempA,tempB,iData[ 2],15, 0x2ad7d2bb);
+	CMD5_II(tempB,tempC,tempD,tempA,iData[ 9],21, 0xeb86d391);
+
+	iA+=tempA;
+	iB+=tempB;
+	iC+=tempC;
+	iD+=tempD;
+	}
+#endif
+#endif
+
+void CMD5::DoFinal(void)
+	{
+	iNh += iNl;
+	const TUint ul128=128;
+	switch (iNl&3) 
+		{
+		case 0:
+			iData[iNl>>2] = ul128;
+			break;
+		case 1:
+			iData[iNl>>2] += ul128<<8;
+			break;
+		case 2:
+			iData[iNl>>2] += ul128<<16;
+			break;
+		case 3:
+			iData[iNl>>2] += ul128<<24;
+			break;
+		default:
+			break;
+		};
+	if (iNl>=56) 
+		{
+		if (iNl<60)
+			iData[15]=0;		
+		Block();
+		Mem::FillZ(iData,14*sizeof(TUint));
+		} 
+	else
+		{
+		const TUint offset=(iNl+4)>>2;
+		Mem::FillZ(iData+offset,(14-offset)*sizeof(TUint));
+		}
+
+	iData[14]=iNh<<3;//number in bits
+	// this will fail if the total input length is longer than 2^32 in bits
+	//(2^31 in bytes) which is roughly half a gig.
+	iData[15]=0;
+	Block();
+	//
+	// Generate hash value into iHash
+	//
+	TUint tmp=iA;
+	iHash[0]=(TUint8)(tmp & 255);
+	iHash[1]=(TUint8)((tmp >>= 8) & 255);
+	iHash[2]=(TUint8)((tmp >>= 8) & 255);
+	iHash[3]=(TUint8)((tmp >>= 8) & 255);
+
+	tmp=iB;
+	iHash[4]=(TUint8)(tmp & 255);
+	iHash[5]=(TUint8)((tmp >>= 8) & 255);
+	iHash[6]=(TUint8)((tmp >>= 8) & 255);
+	iHash[7]=(TUint8)((tmp >>= 8) & 255);
+
+	tmp=iC;
+	iHash[8]=(TUint8)(tmp & 255);
+	iHash[9]=(TUint8)((tmp >>= 8) & 255);
+	iHash[10]=(TUint8)((tmp >>= 8) & 255);
+	iHash[11]=(TUint8)((tmp >>= 8) & 255);
+
+	tmp=iD;
+	iHash[12]=(TUint8)(tmp & 255);
+	iHash[13]=(TUint8)((tmp >>= 8) & 255);
+	iHash[14]=(TUint8)((tmp >>= 8) & 255);
+	iHash[15]=(TUint8)((tmp >>= 8) & 255);
+	}
+
+void CMD5::RestoreState()
+{
+	iA = iACopy;
+	iB = iBCopy;
+	iC = iCCopy;
+	iD = iDCopy;
+	iNl = iNlCopy;
+	iNh = iNhCopy;	
+	Mem::Copy(&iData[0], &iDataCopy[0], MD5_LBLOCK*sizeof(TUint)); 
+}
+
+void CMD5::StoreState()
+{
+	iACopy = iA;
+	iBCopy = iB;
+	iCCopy = iC;
+	iDCopy = iD;
+	iNlCopy = iNl;
+	iNhCopy = iNh;	
+	Mem::Copy(&iDataCopy[0], &iData[0], MD5_LBLOCK*sizeof(TUint));
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/hash/sha1.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,761 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* (c) 2003 Symbian Ltd.  All rights reserved.
+*
+*/
+
+
+/**
+ @file
+*/
+
+#include <e32std.h>
+#include <hash.h>
+#include "hashinc.h"
+#define EXPANDLOOP
+
+//
+// 32bit endian-independent SHA-1 implementation
+//
+CSHA1::CSHA1(void)
+: CMessageDigest(),iHash(SHA1_HASH)
+	{
+	}
+CSHA1::CSHA1(const CSHA1& aMD)
+: CMessageDigest(aMD),
+  iHash(aMD.iHash),iA(aMD.iA),iB(aMD.iB),iC(aMD.iC),iD(aMD.iD),iE(aMD.iE),
+  iNl(aMD.iNl),iNh(aMD.iNh)
+	{
+	(void)Mem::Copy(iData,aMD.iData,SHA1_LBLOCK*5);
+	}
+EXPORT_C CSHA1* CSHA1::NewL(void)
+	{
+	CSHA1* self=new(ELeave) CSHA1;
+	self->Reset();
+	return self;
+	}
+EXPORT_C CMessageDigest* CSHA1::ReplicateL(void)
+	{
+	return NewL();
+	}
+
+EXPORT_C TPtrC8 CSHA1::Hash(const TDesC8& aMessage)
+	{
+	TPtrC8 ptr(KNullDesC8());
+	DoUpdate(aMessage.Ptr(),aMessage.Size());
+	StoreState();
+	DoFinal();
+	ptr.Set(iHash);
+	RestoreState();
+	return ptr;
+	}
+
+EXPORT_C CSHA1::~CSHA1(void)
+	{
+	}
+EXPORT_C CMessageDigest* CSHA1::CopyL(void)
+	{
+	return new(ELeave) CSHA1(*this);
+	}
+EXPORT_C TInt CSHA1::BlockSize(void)
+	{
+	return SHA1_LBLOCK*sizeof(TUint);
+	}
+EXPORT_C TInt CSHA1::HashSize(void)
+	{
+	return SHA1_HASH;
+	}
+
+EXPORT_C void CSHA1::Reset(void)
+	{
+	iA=0x67452301;
+	iB=0xefcdab89;
+	iC=0x98badcfe;
+	iD=0x10325476;
+	iE=0xc3d2e1f0;
+	iNh=0;
+	iNl=0;
+	}
+
+EXPORT_C void CSHA1::Update(const TDesC8& aMessage)
+	{
+	DoUpdate(aMessage.Ptr(),aMessage.Size());
+	}
+
+EXPORT_C TPtrC8 CSHA1::Final(const TDesC8& aMessage)
+	{
+	TPtrC8 ptr(KNullDesC8());
+	DoUpdate(aMessage.Ptr(),aMessage.Size());
+	DoFinal();
+	ptr.Set(iHash);
+	Reset();
+	return ptr;
+	}
+
+EXPORT_C TPtrC8 CSHA1::Final()
+	{
+	TPtrC8 ptr(KNullDesC8());
+	DoFinal();
+	ptr.Set(iHash);
+	Reset();
+	return ptr;
+	}
+
+// This assumes a big-endian architecture
+void CSHA1::DoUpdate(const TUint8* aData,TUint aLength)
+	{
+	while((aLength / 4) > 0 && (iNl % 4 == 0))
+		{
+		iData[iNl>>2] = aData[0] << 24 | aData[1] << 16 | aData[2] << 8 | aData[3];
+		iNl+=4;
+		aData+=4;
+		aLength-=4;
+		if(iNl==64) 
+			{
+			Block();
+			iNh+=64;
+			iNl=0;
+			}
+		}
+
+	while(aLength--)
+		{
+		switch (iNl&3) 
+			{
+			case 0:
+				iData[iNl>>2]=((TUint)(*aData))<<24;
+				break;
+			case 1:
+				iData[iNl>>2]|=((TUint)(*aData))<<16;
+				break;
+			case 2:
+				iData[iNl>>2]|=((TUint)(*aData))<<8;
+				break;
+			case 3:
+				iData[iNl>>2]|=((TUint)(*aData));
+				break;
+			default:
+				break;
+			};
+			aData++;
+			iNl++;
+			if(iNl==64) 
+				{
+				Block();
+				iNh+=64;
+				iNl=0;
+				}
+		}
+	}
+
+static inline TUint CSHA1_F(const TUint x,const TUint y,const TUint z)
+	{
+	return (x&y) | (~x&z);
+	}
+
+static inline TUint CSHA1_G(const TUint x,const TUint y,const TUint z)
+	{
+	return x^y^z;
+	}
+
+static inline TUint CSHA1_H(const TUint x,const TUint y,const TUint z)
+	{
+	return (x&y) | (x&z) | (y&z);
+	}
+
+/*static inline TUint CSHA1_I(const TUint x,const TUint y,const TUint z)
+	{
+	return x^y^z;
+	}*/
+
+#ifdef EXPANDLOOP
+
+#ifdef MACRO
+
+#define CSHA1_16(x,y,z,u,t,v,w)					v=CMD_R(x,5)+CSHA1_F(y,z,u)+t+w+0x5a827999;\
+												y=CMD_R(y,30);t=v;
+#define CSHA1_20(x,y,z,u,t,v,w0,w3,w8,w14,w16)  v=w3^w8^w14^w16;w0=CMD_R(v,1);\
+												CSHA1_16(x,y,z,u,t,v,w0);
+#define CSHA1_40(x,y,z,u,t,v,w0,w3,w8,w14,w16)	v=w3^w8^w14^w16;w0=CMD_R(v,1);\
+												v=CMD_R(x,5)+CSHA1_G(y,z,u)+t+w0+0x6ed9eba1;\
+												y=CMD_R(y,30);t=v;
+#define CSHA1_60(x,y,z,u,t,v,w0,w3,w8,w14,w16)	v=w3^w8^w14^w16;w0=CMD_R(v,1);\
+												v=CMD_R(x,5)+CSHA1_H(y,z,u)+t+w0+0x8f1bbcdc;\
+												y=CMD_R(y,30);t=v;
+#define CSHA1_80(x,y,z,u,t,v,w0,w3,w8,w14,w16)	v=w3^w8^w14^w16;w0=CMD_R(v,1);\
+												v=CMD_R(x,5)+CSHA1_G(y,z,u)+t+w0+0xca62c1d6;\
+												y=CMD_R(y,30);t=v;
+#else
+
+static inline void CSHA1_16(const TUint x, TUint& y, const TUint z,
+							const TUint u, TUint& t, TUint& v, const TUint w)
+	{
+	v = CMD_R(x,5) + CSHA1_F(y,z,u) + t + w + 0x5a827999;
+	y = CMD_R(y,30);
+	t = v;
+	}
+
+static inline void CSHA1_20(const TUint x,TUint& y,const TUint z,
+							const TUint u,TUint& t,TUint& v,
+							TUint& w0,const TUint w3,const TUint w8,
+							const TUint w14,const TUint w16)
+	{
+	v = w3 ^ w8 ^ w14 ^ w16;
+	w0 = CMD_R(v,1);
+	CSHA1_16(x,y,z,u,t,v,w0);
+	}
+
+static inline void CSHA1_40(const TUint x,TUint& y,const TUint z,
+							const TUint u,TUint& t,TUint& v,
+							TUint& w0,const TUint w3,const TUint w8,
+							const TUint w14,const TUint w16)
+	{
+	v = w3 ^ w8 ^ w14 ^ w16;
+	w0 = CMD_R(v,1);
+	v = CMD_R(x,5) + CSHA1_G(y,z,u) + t + w0 + 0x6ed9eba1;
+	y = CMD_R(y,30);
+	t = v;
+	}
+
+static inline void CSHA1_60(const TUint x,TUint& y,const TUint z,
+							const TUint u,TUint& t,TUint& v,
+							TUint& w0,const TUint w3,const TUint w8,
+							const TUint w14,const TUint w16)
+	{
+	v = w3 ^ w8 ^ w14 ^ w16;
+	w0 = CMD_R(v,1);
+	v = CMD_R(x,5) + CSHA1_H(y,z,u) + t + w0 + 0x8f1bbcdc;
+	y = CMD_R(y,30);
+	t = v;
+	}
+
+static inline void CSHA1_80(const TUint x,TUint& y,const TUint z,
+							const TUint u,TUint& t,TUint& v,
+							TUint& w0,const TUint w3,const TUint w8,
+							const TUint w14,const TUint w16)
+	{
+	v = w3 ^ w8 ^ w14 ^ w16;
+	w0 = CMD_R(v,1);
+	v = CMD_R(x,5) + CSHA1_G(y,z,u) + t + w0 + 0xca62c1d6;
+	y = CMD_R(y,30);
+	t = v;
+	}
+
+#endif // MACRO
+#endif // EXPANDLOOP
+
+#ifdef WEIDAI
+
+template <class T> inline T rotlFixed(T x, unsigned int y)
+{
+	ASSERT(y < sizeof(T)*8);
+	return (x<<y) | (x>>(sizeof(T)*8-y));
+}
+
+template<> inline TUint32 rotlFixed<TUint32>(TUint32 x, unsigned int y)
+{
+	ASSERT(y < 32);
+	return y ? CMD_R(x, y) : x;
+}
+
+#define blk0(i) (W[i] = iData[i])
+#define blk1(i) (W[i&15] = rotlFixed(W[(i+13)&15]^W[(i+8)&15]^W[(i+2)&15]^W[i&15],1))
+
+#define f1(x,y,z) (z^(x&(y^z)))
+#define f2(x,y,z) (x^y^z)
+#define f3(x,y,z) ((x&y)|(z&(x|y)))
+#define f4(x,y,z) (x^y^z)
+
+/* (R0+R1), R2, R3, R4 are the different operations used in SHA1 */
+#define R0(v,w,x,y,z,i) z+=f1(w,x,y)+blk0(i)+0x5A827999+rotlFixed(v,5);w=rotlFixed(w,30);
+#define R1(v,w,x,y,z,i) z+=f1(w,x,y)+blk1(i)+0x5A827999+rotlFixed(v,5);w=rotlFixed(w,30);
+#define R2(v,w,x,y,z,i) z+=f2(w,x,y)+blk1(i)+0x6ED9EBA1+rotlFixed(v,5);w=rotlFixed(w,30);
+#define R3(v,w,x,y,z,i) z+=f3(w,x,y)+blk1(i)+0x8F1BBCDC+rotlFixed(v,5);w=rotlFixed(w,30);
+#define R4(v,w,x,y,z,i) z+=f4(w,x,y)+blk1(i)+0xCA62C1D6+rotlFixed(v,5);w=rotlFixed(w,30);
+
+#endif // WEIDAI
+
+void CSHA1::Block()
+	{
+#ifdef WEIDAI
+	TUint32 W[16];
+    /* Copy context->state[] to working vars */
+    TUint32 a = iA;
+    TUint32 b = iB;
+    TUint32 c = iC;
+    TUint32 d = iD;
+    TUint32 e = iE;
+    
+	/* 4 rounds of 20 operations each. Loop unrolled. */
+    
+	R0(a,b,c,d,e, 0); 
+	R0(e,a,b,c,d, 1); 
+	R0(d,e,a,b,c, 2); 
+	R0(c,d,e,a,b, 3);
+    R0(b,c,d,e,a, 4); 
+	R0(a,b,c,d,e, 5); 
+	R0(e,a,b,c,d, 6); 
+	R0(d,e,a,b,c, 7);
+    R0(c,d,e,a,b, 8); 
+	R0(b,c,d,e,a, 9); 
+	R0(a,b,c,d,e,10); 
+	R0(e,a,b,c,d,11);
+    R0(d,e,a,b,c,12); 
+	R0(c,d,e,a,b,13); 
+	R0(b,c,d,e,a,14); 
+	R0(a,b,c,d,e,15);
+
+    R1(e,a,b,c,d,16); 
+	R1(d,e,a,b,c,17); 
+	R1(c,d,e,a,b,18); 
+	R1(b,c,d,e,a,19);
+
+    R2(a,b,c,d,e,20); 
+	R2(e,a,b,c,d,21); 
+	R2(d,e,a,b,c,22); 
+	R2(c,d,e,a,b,23);
+    R2(b,c,d,e,a,24); 
+	R2(a,b,c,d,e,25); 
+	R2(e,a,b,c,d,26); 
+	R2(d,e,a,b,c,27);
+    R2(c,d,e,a,b,28); 
+	R2(b,c,d,e,a,29); 
+	R2(a,b,c,d,e,30); 
+	R2(e,a,b,c,d,31);
+    R2(d,e,a,b,c,32); 
+	R2(c,d,e,a,b,33); 
+	R2(b,c,d,e,a,34); 
+	R2(a,b,c,d,e,35);
+    R2(e,a,b,c,d,36); 
+	R2(d,e,a,b,c,37); 
+	R2(c,d,e,a,b,38); 
+	R2(b,c,d,e,a,39);
+
+    R3(a,b,c,d,e,40); 
+	R3(e,a,b,c,d,41); 
+	R3(d,e,a,b,c,42); 
+	R3(c,d,e,a,b,43);
+    R3(b,c,d,e,a,44); 
+	R3(a,b,c,d,e,45); 
+	R3(e,a,b,c,d,46); 
+	R3(d,e,a,b,c,47);
+    R3(c,d,e,a,b,48); 
+	R3(b,c,d,e,a,49); 
+	R3(a,b,c,d,e,50); 
+	R3(e,a,b,c,d,51);
+    R3(d,e,a,b,c,52); 
+	R3(c,d,e,a,b,53); 
+	R3(b,c,d,e,a,54); 
+	R3(a,b,c,d,e,55);
+    R3(e,a,b,c,d,56); 
+	R3(d,e,a,b,c,57); 
+	R3(c,d,e,a,b,58); 
+	R3(b,c,d,e,a,59);
+
+    R4(a,b,c,d,e,60); 
+	R4(e,a,b,c,d,61); 
+	R4(d,e,a,b,c,62); 
+	R4(c,d,e,a,b,63);
+    R4(b,c,d,e,a,64); 
+	R4(a,b,c,d,e,65); 
+	R4(e,a,b,c,d,66); 
+	R4(d,e,a,b,c,67);
+    R4(c,d,e,a,b,68); 
+	R4(b,c,d,e,a,69); 
+	R4(a,b,c,d,e,70); 
+	R4(e,a,b,c,d,71);
+    R4(d,e,a,b,c,72); 
+	R4(c,d,e,a,b,73); 
+	R4(b,c,d,e,a,74); 
+	R4(a,b,c,d,e,75);
+    R4(e,a,b,c,d,76); 
+	R4(d,e,a,b,c,77); 
+	R4(c,d,e,a,b,78); 
+	R4(b,c,d,e,a,79);
+    
+	/* Add the working vars back into context.state[] */
+    iA += a;
+    iB += b;
+    iC += c;
+    iD += d;
+    iE += e;
+    /* Wipe variables */
+    a = b = c = d = e = 0;
+	Mem::FillZ(W, sizeof(W));
+#else
+	TUint tempA=iA;
+	TUint tempB=iB;
+	TUint tempC=iC;
+	TUint tempD=iD;
+	TUint tempE=iE;
+	TUint temp=0;
+
+#ifdef EXPANDLOOP
+	CSHA1_16(tempA,tempB,tempC,tempD,tempE,temp,iData[0]);
+	CSHA1_16(temp,tempA,tempB,tempC,tempD,tempE,iData[1]);
+	CSHA1_16(tempE,temp,tempA,tempB,tempC,tempD,iData[2]);
+	CSHA1_16(tempD,tempE,temp,tempA,tempB,tempC,iData[3]);
+	CSHA1_16(tempC,tempD,tempE,temp,tempA,tempB,iData[4]);
+	CSHA1_16(tempB,tempC,tempD,tempE,temp,tempA,iData[5]);
+	CSHA1_16(tempA,tempB,tempC,tempD,tempE,temp,iData[6]);
+	CSHA1_16(temp,tempA,tempB,tempC,tempD,tempE,iData[7]);
+	CSHA1_16(tempE,temp,tempA,tempB,tempC,tempD,iData[8]);
+	CSHA1_16(tempD,tempE,temp,tempA,tempB,tempC,iData[9]);
+	CSHA1_16(tempC,tempD,tempE,temp,tempA,tempB,iData[10]);
+	CSHA1_16(tempB,tempC,tempD,tempE,temp,tempA,iData[11]);
+	CSHA1_16(tempA,tempB,tempC,tempD,tempE,temp,iData[12]);
+	CSHA1_16(temp,tempA,tempB,tempC,tempD,tempE,iData[13]);
+	CSHA1_16(tempE,temp,tempA,tempB,tempC,tempD,iData[14]);
+	CSHA1_16(tempD,tempE,temp,tempA,tempB,tempC,iData[15]);
+	/*
+	i = 16;
+	TUint temp1 = tempA;
+	tempA = 
+	*/
+#else
+    TUint i=0;
+	while (i<16) 
+		{
+		temp = CMD_R(tempA,5) + CSHA1_F(tempB,tempC,tempD) + tempE + iData[i++] + 0x5a827999;
+		tempE = tempD;
+		tempD = tempC;
+		tempC = CMD_R(tempB,30);
+		tempB = tempA;
+		tempA = temp;
+		}
+#endif
+
+#ifdef EXPANDLOOP
+	CSHA1_20(tempC,tempD,tempE,temp,tempA,tempB,iData[16],iData[13],iData[8],iData[2],iData[0]);
+	CSHA1_20(tempB,tempC,tempD,tempE,temp,tempA,iData[17],iData[14],iData[9],iData[3],iData[1]);
+	CSHA1_20(tempA,tempB,tempC,tempD,tempE,temp,iData[18],iData[15],iData[10],iData[4],iData[2]);
+	CSHA1_20(temp,tempA,tempB,tempC,tempD,tempE,iData[19],iData[16],iData[11],iData[5],iData[3]);
+	//i = 20;
+#else
+	while (i<20) 
+		{
+		temp=iData[i-3] ^ iData[i-8] ^ iData[i-14] ^ iData[i-16];
+		iData[i]=CMD_R(temp,1);
+		temp = CMD_R(tempA,5) + CSHA1_F(tempB,tempC,tempD) + tempE + iData[i++] + 0x5a827999; 
+		tempE = tempD;
+		tempD = tempC; 
+		tempC = CMD_R(tempB,30); 
+		tempB = tempA; 
+		tempA = temp;
+		}
+#endif
+
+#ifdef EXPANDLOOP
+	CSHA1_40(tempE,temp,tempA,tempB,tempC,tempD,iData[20],iData[17],iData[12],iData[6],iData[4]);
+	CSHA1_40(tempD,tempE,temp,tempA,tempB,tempC,iData[21],iData[18],iData[13],iData[7],iData[5]);
+	CSHA1_40(tempC,tempD,tempE,temp,tempA,tempB,iData[22],iData[19],iData[14],iData[8],iData[6]);
+	CSHA1_40(tempB,tempC,tempD,tempE,temp,tempA,iData[23],iData[20],iData[15],iData[9],iData[7]);
+	CSHA1_40(tempA,tempB,tempC,tempD,tempE,temp,iData[24],iData[21],iData[16],iData[10],iData[8]);
+	CSHA1_40(temp,tempA,tempB,tempC,tempD,tempE,iData[25],iData[22],iData[17],iData[11],iData[9]);
+	CSHA1_40(tempE,temp,tempA,tempB,tempC,tempD,iData[26],iData[23],iData[18],iData[12],iData[10]);
+	CSHA1_40(tempD,tempE,temp,tempA,tempB,tempC,iData[27],iData[24],iData[19],iData[13],iData[11]);
+	CSHA1_40(tempC,tempD,tempE,temp,tempA,tempB,iData[28],iData[25],iData[20],iData[14],iData[12]);
+	CSHA1_40(tempB,tempC,tempD,tempE,temp,tempA,iData[29],iData[26],iData[21],iData[15],iData[13]);
+	CSHA1_40(tempA,tempB,tempC,tempD,tempE,temp,iData[30],iData[27],iData[22],iData[16],iData[14]);
+	CSHA1_40(temp,tempA,tempB,tempC,tempD,tempE,iData[31],iData[28],iData[23],iData[17],iData[15]);
+	CSHA1_40(tempE,temp,tempA,tempB,tempC,tempD,iData[32],iData[29],iData[24],iData[18],iData[16]);
+	CSHA1_40(tempD,tempE,temp,tempA,tempB,tempC,iData[33],iData[30],iData[25],iData[19],iData[17]);
+	CSHA1_40(tempC,tempD,tempE,temp,tempA,tempB,iData[34],iData[31],iData[26],iData[20],iData[18]);
+	CSHA1_40(tempB,tempC,tempD,tempE,temp,tempA,iData[35],iData[32],iData[27],iData[21],iData[19]);
+	CSHA1_40(tempA,tempB,tempC,tempD,tempE,temp,iData[36],iData[33],iData[28],iData[22],iData[20]);
+	CSHA1_40(temp,tempA,tempB,tempC,tempD,tempE,iData[37],iData[34],iData[29],iData[23],iData[21]);
+	CSHA1_40(tempE,temp,tempA,tempB,tempC,tempD,iData[38],iData[35],iData[30],iData[24],iData[22]);
+	CSHA1_40(tempD,tempE,temp,tempA,tempB,tempC,iData[39],iData[36],iData[31],iData[25],iData[23]);
+	//i = 40;
+#else
+	while (i<40) 
+		{
+		temp = iData[i-3] ^ iData[i-8] ^ iData[i-14] ^ iData[i-16];
+		iData[i] = CMD_R(temp,1);
+
+		temp = CMD_R(tempA,5) + CSHA1_G(tempB,tempC,tempD) + tempE + iData[i++] + 0x6ed9eba1; 
+		tempE = tempD; 
+		tempD = tempC; 
+		tempC = CMD_R(tempB,30); 
+		tempB = tempA; 
+		tempA = temp;
+		}
+#endif
+
+#ifdef EXPANDLOOP
+	CSHA1_60(tempC,tempD,tempE,temp,tempA,tempB,iData[40],iData[37],iData[32],iData[26],iData[24]);
+	CSHA1_60(tempB,tempC,tempD,tempE,temp,tempA,iData[41],iData[38],iData[33],iData[27],iData[25]);
+	CSHA1_60(tempA,tempB,tempC,tempD,tempE,temp,iData[42],iData[39],iData[34],iData[28],iData[26]);
+	CSHA1_60(temp,tempA,tempB,tempC,tempD,tempE,iData[43],iData[40],iData[35],iData[29],iData[27]);
+	CSHA1_60(tempE,temp,tempA,tempB,tempC,tempD,iData[44],iData[41],iData[36],iData[30],iData[28]);
+	CSHA1_60(tempD,tempE,temp,tempA,tempB,tempC,iData[45],iData[42],iData[37],iData[31],iData[29]);
+	CSHA1_60(tempC,tempD,tempE,temp,tempA,tempB,iData[46],iData[43],iData[38],iData[32],iData[30]);
+	CSHA1_60(tempB,tempC,tempD,tempE,temp,tempA,iData[47],iData[44],iData[39],iData[33],iData[31]);
+	CSHA1_60(tempA,tempB,tempC,tempD,tempE,temp,iData[48],iData[45],iData[40],iData[34],iData[32]);
+	CSHA1_60(temp,tempA,tempB,tempC,tempD,tempE,iData[49],iData[46],iData[41],iData[35],iData[33]);
+	CSHA1_60(tempE,temp,tempA,tempB,tempC,tempD,iData[50],iData[47],iData[42],iData[36],iData[34]);
+	CSHA1_60(tempD,tempE,temp,tempA,tempB,tempC,iData[51],iData[48],iData[43],iData[37],iData[35]);
+	CSHA1_60(tempC,tempD,tempE,temp,tempA,tempB,iData[52],iData[49],iData[44],iData[38],iData[36]);
+	CSHA1_60(tempB,tempC,tempD,tempE,temp,tempA,iData[53],iData[50],iData[45],iData[39],iData[37]);
+	CSHA1_60(tempA,tempB,tempC,tempD,tempE,temp,iData[54],iData[51],iData[46],iData[40],iData[38]);
+	CSHA1_60(temp,tempA,tempB,tempC,tempD,tempE,iData[55],iData[52],iData[47],iData[41],iData[39]);
+	CSHA1_60(tempE,temp,tempA,tempB,tempC,tempD,iData[56],iData[53],iData[48],iData[42],iData[40]);
+	CSHA1_60(tempD,tempE,temp,tempA,tempB,tempC,iData[57],iData[54],iData[49],iData[43],iData[41]);
+	CSHA1_60(tempC,tempD,tempE,temp,tempA,tempB,iData[58],iData[55],iData[50],iData[44],iData[42]);
+	CSHA1_60(tempB,tempC,tempD,tempE,temp,tempA,iData[59],iData[56],iData[51],iData[45],iData[43]);
+	//i = 60;
+#else
+	while (i<60) 
+		{
+		temp = iData[i-3] ^ iData[i-8] ^ iData[i-14] ^ iData[i-16];
+		iData[i] = CMD_R(temp,1);
+
+		temp = CMD_R(tempA,5) + CSHA1_H(tempB,tempC,tempD) + tempE + iData[i++] + 0x8f1bbcdc; 
+		tempE = tempD; 
+		tempD = tempC; 
+		tempC = CMD_R(tempB,30); 
+		tempB = tempA; 
+		tempA = temp;
+		}
+#endif
+
+#ifdef EXPANDLOOP
+	CSHA1_80(tempA,tempB,tempC,tempD,tempE,temp,iData[60],iData[57],iData[52],iData[46],iData[44]);
+	CSHA1_80(temp,tempA,tempB,tempC,tempD,tempE,iData[61],iData[58],iData[53],iData[47],iData[45]);
+	CSHA1_80(tempE,temp,tempA,tempB,tempC,tempD,iData[62],iData[59],iData[54],iData[48],iData[46]);
+	CSHA1_80(tempD,tempE,temp,tempA,tempB,tempC,iData[63],iData[60],iData[55],iData[49],iData[47]);
+	CSHA1_80(tempC,tempD,tempE,temp,tempA,tempB,iData[64],iData[61],iData[56],iData[50],iData[48]);
+	CSHA1_80(tempB,tempC,tempD,tempE,temp,tempA,iData[65],iData[62],iData[57],iData[51],iData[49]);
+	CSHA1_80(tempA,tempB,tempC,tempD,tempE,temp,iData[66],iData[63],iData[58],iData[52],iData[50]);
+	CSHA1_80(temp,tempA,tempB,tempC,tempD,tempE,iData[67],iData[64],iData[59],iData[53],iData[51]);
+	CSHA1_80(tempE,temp,tempA,tempB,tempC,tempD,iData[68],iData[65],iData[60],iData[54],iData[52]);
+	CSHA1_80(tempD,tempE,temp,tempA,tempB,tempC,iData[69],iData[66],iData[61],iData[55],iData[53]);
+	CSHA1_80(tempC,tempD,tempE,temp,tempA,tempB,iData[70],iData[67],iData[62],iData[56],iData[54]);
+	CSHA1_80(tempB,tempC,tempD,tempE,temp,tempA,iData[71],iData[68],iData[63],iData[57],iData[55]);
+	CSHA1_80(tempA,tempB,tempC,tempD,tempE,temp,iData[72],iData[69],iData[64],iData[58],iData[56]);
+	CSHA1_80(temp,tempA,tempB,tempC,tempD,tempE,iData[73],iData[70],iData[65],iData[59],iData[57]);
+	CSHA1_80(tempE,temp,tempA,tempB,tempC,tempD,iData[74],iData[71],iData[66],iData[60],iData[58]);
+	CSHA1_80(tempD,tempE,temp,tempA,tempB,tempC,iData[75],iData[72],iData[67],iData[61],iData[59]);
+	CSHA1_80(tempC,tempD,tempE,temp,tempA,tempB,iData[76],iData[73],iData[68],iData[62],iData[60]);
+	CSHA1_80(tempB,tempC,tempD,tempE,temp,tempA,iData[77],iData[74],iData[69],iData[63],iData[61]);
+	CSHA1_80(tempA,tempB,tempC,tempD,tempE,temp,iData[78],iData[75],iData[70],iData[64],iData[62]);
+	CSHA1_80(temp,tempA,tempB,tempC,tempD,tempE,iData[79],iData[76],iData[71],iData[65],iData[63]);
+#else
+	const TUint total=SHA1_LBLOCK*5; // 16 * 5 = 80
+	while (i<total) 
+		{
+		temp = iData[i-3] ^ iData[i-8] ^ iData[i-14] ^ iData[i-16];
+		iData[i] = CMD_R(temp,1);
+
+		temp = CMD_R(tempA,5) + CSHA1_I(tempB,tempC,tempD) + tempE + iData[i++] + 0xca62c1d6; 
+		tempE = tempD; 
+		tempD = tempC; 
+		tempC = CMD_R(tempB,30); 
+		tempB = tempA; 
+		tempA = temp;
+		}
+#endif
+
+#ifdef EXPANDLOOP
+	iA+=tempE;
+	iB+=temp;
+	iC+=tempA;
+	iD+=tempB;
+	iE+=tempC;
+#else
+	iA+=tempA;
+	iB+=tempB;
+	iC+=tempC;
+	iD+=tempD;
+	iE+=tempE;
+#endif // EXPANDLOOP
+#endif // WEIDAI
+	}
+
+void CSHA1::DoFinal()
+	{
+	iNh += iNl;
+	const TUint ul128=128;
+	switch (iNl&3) 
+		{
+		case 0:
+			iData[iNl>>2] = ul128<<24;
+			break;
+		case 1:
+			iData[iNl>>2] += ul128<<16;
+			break;
+		case 2:
+			iData[iNl>>2] += ul128<<8;
+			break;
+		case 3:
+			iData[iNl>>2] += ul128;
+			break;
+		default:
+			break;
+		};
+	if (iNl>=56) 
+		{
+		if (iNl<60)
+			iData[15]=0;		
+		Block();
+		Mem::FillZ(iData,14*sizeof(TUint));
+		} 
+	else
+		{
+		const TUint offset=(iNl+4)>>2; //+4 to account for the word added in the
+		//switch statement above
+		Mem::FillZ(iData+offset,(14-offset)*sizeof(TUint));
+		}
+
+	// this will fail if the total input length is longer than 2^32 in bits
+	//(2^31 in bytes) which is roughly half a gig.
+	iData[14]=0;
+	iData[15]=iNh<<3;//number in bits
+	Block();
+	//
+	// Generate hash value into iHash
+	//
+	TUint tmp=iA;
+	iHash[3]=(TUint8)(tmp & 255);
+	iHash[2]=(TUint8)((tmp >>= 8) & 255);
+	iHash[1]=(TUint8)((tmp >>= 8) & 255);
+	iHash[0]=(TUint8)((tmp >>= 8) & 255);
+
+	tmp=iB;
+	iHash[7]=(TUint8)(tmp & 255);
+	iHash[6]=(TUint8)((tmp >>= 8) & 255);
+	iHash[5]=(TUint8)((tmp >>= 8) & 255);
+	iHash[4]=(TUint8)((tmp >>= 8) & 255);
+
+	tmp=iC;
+	iHash[11]=(TUint8)(tmp & 255);
+	iHash[10]=(TUint8)((tmp >>= 8) & 255);
+	iHash[9]=(TUint8)((tmp >>= 8) & 255);
+	iHash[8]=(TUint8)((tmp >>= 8) & 255);
+
+	tmp=iD;
+	iHash[15]=(TUint8)(tmp & 255);
+	iHash[14]=(TUint8)((tmp >>= 8) & 255);
+	iHash[13]=(TUint8)((tmp >>= 8) & 255);
+	iHash[12]=(TUint8)((tmp >>= 8) & 255);
+	
+	tmp=iE;
+	iHash[19]=(TUint8)(tmp & 255);
+	iHash[18]=(TUint8)((tmp >>= 8) & 255);
+	iHash[17]=(TUint8)((tmp >>= 8) & 255);
+	iHash[16]=(TUint8)((tmp >>= 8) & 255);
+	}
+
+void CSHA1::RestoreState()
+{
+	iA = iACopy;
+	iB = iBCopy;
+	iC = iCCopy;
+	iD = iDCopy;
+	iE = iECopy;
+	iNl = iNlCopy;
+	iNh = iNhCopy;	
+	Mem::Copy(&iData[0], &iDataCopy[0], SHA1_LBLOCK*5*sizeof(TUint)); 
+}
+
+void CSHA1::StoreState()
+{
+	iACopy = iA;
+	iBCopy = iB;
+	iCCopy = iC;
+	iDCopy = iD;
+	iECopy = iE;
+	iNlCopy = iNl;
+	iNhCopy = iNh;	
+	Mem::Copy(&iDataCopy[0], &iData[0], SHA1_LBLOCK*5*sizeof(TUint));
+}
+
+///////////////////////////////////////////////////////////////////////////////////////
+//	CSHA code is deprecated
+///////////////////////////////////////////////////////////////////////////////////////
+
+_LIT(KSHA, "HASH::CSHA");
+
+EXPORT_C CSHA* CSHA::NewL(void)
+{
+	User::Panic(KSHA, KErrNotSupported);
+	return (NULL);	//	Shut compiler up
+}
+
+EXPORT_C CSHA::~CSHA(void)
+{
+	User::Panic(KSHA, KErrNotSupported);
+}
+
+EXPORT_C TPtrC8 CSHA::Hash(const TDesC8& /*aMessage*/)
+{
+	User::Panic(KSHA, KErrNotSupported);
+	return (KNullDesC8());	//	Shut compiler up
+}
+
+EXPORT_C TInt CSHA::HashSize(void)
+{
+	User::Panic(KSHA, KErrNotSupported);
+	return (-1);	//	Shut compiler up
+}
+
+EXPORT_C TInt CSHA::BlockSize(void)
+{
+	User::Panic(KSHA, KErrNotSupported);
+	return (-1);	//	Shut compiler up
+}
+
+EXPORT_C CMessageDigest* CSHA::CopyL(void)
+{
+	User::Panic(KSHA, KErrNotSupported);
+	return (NULL);	//	Shut compiler up
+}
+
+EXPORT_C CMessageDigest* CSHA::ReplicateL(void)
+{
+	User::Panic(KSHA, KErrNotSupported);
+	return (NULL);	//	Shut compiler up
+}
+
+EXPORT_C void CSHA::Reset(void)
+{
+	User::Panic(KSHA, KErrNotSupported);
+}
+
+EXPORT_C void CSHA::Update(const TDesC8& /*aMessage*/)
+{
+	User::Panic(KSHA, KErrNotSupported);
+}
+
+EXPORT_C TPtrC8 CSHA::Final(const TDesC8& /*aMessage*/)
+{
+	User::Panic(KSHA, KErrNotSupported);
+	return (KNullDesC8());	//	Shut compiler up
+}
+
+EXPORT_C TPtrC8 CSHA::Final()
+{
+	User::Panic(KSHA, KErrNotSupported);
+	return (KNullDesC8());	//	Shut compiler up
+}
+
+void CSHA::RestoreState()
+{
+	User::Panic(KSHA, KErrNotSupported);
+}
+void CSHA::StoreState()
+{
+	User::Panic(KSHA, KErrNotSupported);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/hash/sha2.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,293 @@
+/*
+* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* software SHA2 implementation
+* RFC 4634 (US Secure Hash Algorithms (SHA and HMAC-SHA))
+* FIPS 180-2 (With change notice)
+*
+*/
+
+
+/**
+ @file
+*/
+
+#include <hash.h>
+#include "sha224and256.h"
+#include "sha384and512.h"
+
+// Initial Hash Values of SHA2 algorithms
+/**
+ * Initial Hash Value for SHA-224
+ * 
+ * These words were obtained by taking the first thirty-two bits 
+ * of the fractional parts of the square roots of the first eight
+ * prime numbers.
+ * 
+ * FIPS 180-2 Appendix
+ * FIPS 180-3 Section 5.3.2
+ */
+const TUint SHA224InitVals[] = 
+    			{
+    			0xc1059ed8, // A
+    			0x367cd507, // B
+    			0x3070dd17, // C
+    			0xf70e5939, // D
+    			0xffc00b31, // E
+    			0x68581511, // F
+    			0x64f98fa7, // G
+    			0xbefa4fa4  // H
+    			};
+
+/**
+ * Initial Hash Value for SHA-256
+ * 
+ * These words were obtained by taking the first thirty-two bits 
+ * of the fractional parts of the square roots of the first eight
+ * prime numbers.
+ * 
+ * FIPS 180-2 Section 5.3.2
+ */
+const TUint SHA256InitVals[] = 
+    			{
+    			0x6a09e667, // A
+    			0xbb67ae85, // B
+    			0x3c6ef372, // C
+    			0xa54ff53a, // D
+    			0x510e527f, // E
+    			0x9b05688c, // F
+    			0x1f83d9ab, // G
+    			0x5be0cd19  // H
+    			};
+
+/**
+ * Initial Hash Value for SHA-384
+ * 
+ *  These words were obtained by taking the first sixty-four bits 
+ * of the fractional parts of the square roots of the first eight
+ * prime numbers.
+ * 
+ * FIPS 180-2 Section 5.3.3
+ */
+const TUint64 SHA384InitVals[] = 
+    			{
+    			UI64LIT(0xcbbb9d5dc1059ed8), // A
+    			UI64LIT(0x629a292a367cd507), // B
+    			UI64LIT(0x9159015a3070dd17), // C
+    			UI64LIT(0x152fecd8f70e5939), // D
+    			UI64LIT(0x67332667ffc00b31), // E
+    			UI64LIT(0x8eb44a8768581511), // F
+    			UI64LIT(0xdb0c2e0d64f98fa7), // G
+    			UI64LIT(0x47b5481dbefa4fa4)  // H
+    			};
+
+/**
+ * Initial Hash Value for SHA-512
+ * 
+ * These words were obtained by taking the first sixty-four bits 
+ * of the fractional parts of the square roots of the first eight
+ * prime numbers.
+ * 
+ * FIPS 180-2 Section 5.3.4
+ */
+const TUint64 SHA512InitVals[] = 
+    			{
+    			UI64LIT(0x6a09e667f3bcc908), // A
+    			UI64LIT(0xbb67ae8584caa73b), // B
+    			UI64LIT(0x3c6ef372fe94f82b), // C
+    			UI64LIT(0xa54ff53a5f1d36f1), // D
+    			UI64LIT(0x510e527fade682d1), // E
+    			UI64LIT(0x9b05688c2b3e6c1f), // F
+    			UI64LIT(0x1f83d9abfb41bd6b), // G
+    			UI64LIT(0x5be0cd19137e2179)  // H
+    			};
+
+	
+EXPORT_C CSHA2* CSHA2::NewL(TSH2Algo aAlgorithmId)
+	{
+	CSHA2* self = CSHA2::NewLC(aAlgorithmId);
+	CleanupStack::Pop(self);
+	return self;						
+	}
+														
+EXPORT_C CSHA2* CSHA2::NewLC(TSH2Algo aAlgorithmId)
+	{
+	CSHA2* self = new (ELeave) CSHA2();
+	CleanupStack::PushL(self);
+	self->ConstructL(aAlgorithmId);
+	return self;						
+	}
+														
+void CSHA2::ConstructL(const CSHA2& aSHA2)
+	{
+	iAlgorithmType = aSHA2.iAlgorithmType;
+	iInitValues = aSHA2.iInitValues;
+	iHashSize = aSHA2.iHashSize;
+    switch(iAlgorithmType)
+		{
+		case E224Bit:
+		case E256Bit:
+			{
+			const CSHA224And256* const impl = static_cast<CSHA224And256*>(aSHA2.iImplementation);
+			iImplementation = new (ELeave) CSHA224And256(*impl);
+			break;
+			}
+		case E384Bit:
+		case E512Bit:
+			{
+			const CSHA384And512* const impl = static_cast<CSHA384And512*>(aSHA2.iImplementation);
+			iImplementation = new (ELeave) CSHA384And512(*impl);
+			break;
+			}
+		default:
+			{
+			User::Leave(KErrNotSupported);
+			}
+		}
+	}
+
+void CSHA2::ConstructL(TSH2Algo aAlgorithmId)
+    {
+    switch(aAlgorithmId)
+    	{
+    	case E224Bit:
+    		{
+    		iImplementation = CSHA224And256::NewL();
+    		iInitValues = SHA224InitVals;
+    		iAlgorithmType = E224Bit;
+    		iHashSize = KSHA224HashSize;
+    		break;
+    		}
+    	case E256Bit:
+    		{
+    		iImplementation = CSHA224And256::NewL();
+    		iInitValues = SHA256InitVals;
+    		iAlgorithmType = E256Bit;
+    		iHashSize = KSHA256HashSize;
+    		break;
+    		}
+    	case E384Bit:
+    		{
+    		iImplementation = CSHA384And512::NewL();
+    		iInitValues = SHA384InitVals;
+    		iAlgorithmType = E384Bit;
+    		iHashSize = KSHA384HashSize;
+    		break;
+    		}
+    	case E512Bit:
+    		{
+    		iImplementation = CSHA384And512::NewL();
+    		iInitValues = SHA512InitVals;
+    		iAlgorithmType = E512Bit;
+    		iHashSize = KSHA512HashSize;
+    		break;
+    		}
+    	default:
+    		{
+    		User::Leave(KErrNotSupported);
+    		}
+    	}
+    
+    Reset();
+    }
+
+EXPORT_C CSHA2::~CSHA2()
+	{
+	delete iImplementation;
+	}
+
+EXPORT_C CMessageDigest* CSHA2::ReplicateL()
+	{	 
+	return CSHA2::NewL(iAlgorithmType);
+	}
+	
+EXPORT_C TPtrC8 CSHA2::Hash(const TDesC8& aMessage)
+	{
+	TPtrC8 ptr(KNullDesC8());
+	iImplementation->Update(aMessage.Ptr(),aMessage.Size());
+	iImplementation->StoreState();
+	ptr.Set(iImplementation->Final().Ptr(), iHashSize);
+	iImplementation->RestoreState();
+	return ptr;
+	}
+	
+EXPORT_C CMessageDigest* CSHA2::CopyL()
+	{
+	CSHA2* hash = new(ELeave) CSHA2();
+	CleanupStack::PushL(hash);
+	hash->ConstructL(*this);
+	CleanupStack::Pop(hash);
+	return hash;
+	}
+
+EXPORT_C TInt CSHA2::BlockSize(void)
+	{
+	TInt blockSize = KSHA256BlockSize;
+	if(E384Bit == iAlgorithmType || E512Bit == iAlgorithmType)
+		{
+		blockSize = KSHA512BlockSize;
+		}
+	return blockSize;
+	}
+
+EXPORT_C TInt CSHA2::HashSize(void)
+	{
+	return iHashSize;
+	}
+
+EXPORT_C void CSHA2::Reset()
+	{
+	iImplementation->Reset(iInitValues);
+	}
+
+EXPORT_C void CSHA2::Update(const TDesC8& aMessage)
+	{
+	iImplementation->Update(aMessage.Ptr(),aMessage.Size());	
+	}
+
+EXPORT_C TPtrC8 CSHA2::Final(void)
+	{
+	TPtrC8 ptr(KNullDesC8());
+	ptr.Set(iImplementation->Final().Ptr(), iHashSize);
+	Reset();
+	return ptr;
+	}
+	
+EXPORT_C TPtrC8 CSHA2::Final(const TDesC8& aMessage)
+	{
+	iImplementation->Update(aMessage.Ptr(),aMessage.Size());			
+	TPtrC8 ptr(KNullDesC8());
+	ptr.Set(iImplementation->Final().Ptr(), iHashSize);
+	Reset();
+	return ptr;
+	}
+
+void CSHA2::RestoreState()
+	{
+	iImplementation->RestoreState();
+	}
+
+void CSHA2::StoreState()
+	{
+	iImplementation->StoreState();
+	}
+
+// Implemented in hmacimpl.cpp or softwarehashbase.cpp
+// but required as derived from MHash. No coverage here.
+#ifdef _BullseyeCoverage
+#pragma suppress_warnings on
+#pragma BullseyeCoverage off
+#pragma suppress_warnings off
+#endif
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/hash/sha224and256.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,486 @@
+/*
+* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* Common implementation of SHA224 and SHA256
+* RFC 4634 (US Secure Hash Algorithms (SHA and HMAC-SHA))
+*
+*/
+
+
+/**
+ @file
+*/
+
+
+#include "sha224and256.h"
+
+/**
+ * SHA256 Constants
+ * 
+ * SHA-256 uses a sequence of sixty-four constant 32-bit words. 
+ * These words represent the first thirty-two bits of the fractional 
+ * parts of the cube roots of the first sixtyfour prime numbers.
+ * 
+ * FIPS 180-2 Section 4.2.2
+ */
+const TUint K[64] = 
+	{
+	0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5,	
+	0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,
+	0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,
+	0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,
+	0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,
+	0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
+	0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7,
+	0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,
+	0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,
+	0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
+	0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 
+	0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
+	0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 
+	0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
+	0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,
+	0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2
+	};
+
+/**
+ * Define the SHA SIGMA and sigma macros 
+ * 
+ * FIPS 180-2 section 4.1.2
+ */
+// Equation 4.4
+inline TUint SHA256_SIGMA0(TUint aWord)
+	{
+	return (SHA_ROTR<TUint>( 2,aWord) ^ SHA_ROTR<TUint>(13,aWord) ^ SHA_ROTR<TUint>(22,aWord));
+	}
+// Equation 4.5
+inline TUint SHA256_SIGMA1(TUint aWord)
+	{
+	return (SHA_ROTR<TUint>( 6,aWord) ^ SHA_ROTR<TUint>(11,aWord) ^ SHA_ROTR<TUint>(25,aWord));
+	}
+// Equation 4.6
+inline TUint SHA256_sigma0(TUint aWord)
+	{
+	return (SHA_ROTR<TUint>( 7,aWord) ^ SHA_ROTR<TUint>(18,aWord) ^ SHA_SHR<TUint>( 3,aWord));
+	}
+// Equation 4.7
+inline TUint SHA256_sigma1(TUint aWord)
+	{
+	return (SHA_ROTR<TUint>(17,aWord) ^ SHA_ROTR<TUint>(19,aWord) ^ SHA_SHR<TUint>(10,aWord));
+	}
+
+
+// Macros
+inline TUint MakeWord(const TUint8* aData)
+	{
+	return (aData[0] << 24 | aData[1] << 16 | aData[2] << 8 | aData[3]);
+	}
+
+	
+CSHA224And256* CSHA224And256::NewL()
+	{
+	CSHA224And256* self=new (ELeave) CSHA224And256();
+	return self;						
+	}
+														
+CSHA224And256::CSHA224And256() : iHash(KSHA256HashSize)
+	{		
+	}
+	
+CSHA224And256::CSHA224And256(const CSHA224And256& aSHAImpl)
+				: 	iHash(aSHAImpl.iHash),
+					iA(aSHAImpl.iA),
+					iB(aSHAImpl.iB),
+					iC(aSHAImpl.iC),
+					iD(aSHAImpl.iD),
+					iE(aSHAImpl.iE),
+					iF(aSHAImpl.iF),
+					iG(aSHAImpl.iG),
+					iH(aSHAImpl.iH),
+					iNl(aSHAImpl.iNl),
+					iNh(aSHAImpl.iNh)
+	{
+	Mem::Copy(iData, aSHAImpl.iData, KSHA256BlockSize*sizeof(TUint));
+	}
+	
+void CSHA224And256::Reset(const TAny* aValArray)
+	{
+	const TUint* values = static_cast<const TUint*>(aValArray);
+	iA=values[0];
+	iB=values[1];
+	iC=values[2];
+	iD=values[3];
+	iE=values[4];
+	iF=values[5];
+	iG=values[6];
+	iH=values[7];
+	iNh=0;
+	iNl=0;
+	}
+
+// This assumes a big-endian architecture
+void CSHA224And256::Update(const TUint8* aData,TUint aLength)
+	{
+	while((aLength / 4) > 0 && (iNl % 4 == 0))
+		{
+		iData[iNl>>2] = MakeWord(aData);
+		iNl+=4;
+		aData+=4;
+		aLength-=4;
+		if(iNl==KSHA256BlockSize) 
+			{
+			Block();
+			AddLength(KSHA256BlockSize);
+			}
+		}
+
+	while(aLength--)
+		{
+		if(!(iNl&0x03))
+			{
+			iData[iNl >> 2] = 0;
+			}
+		iData[iNl >> 2] |= *aData << ((3 - iNl&0x03) << 3) ;
+		++aData;
+		++iNl;
+		if(iNl==KSHA256BlockSize) 
+			{
+			Block();
+			AddLength(KSHA256BlockSize);
+			}
+		}
+	}
+
+//This function will panic if the total input length is longer than 2^64 in bits
+_LIT(KPanicString, "Message length exceeds supported length");
+inline void CSHA224And256::AddLength(const TUint aLength)
+	{
+	TUint64 temp = iNh;
+	iNh += aLength << 3;
+	__ASSERT_ALWAYS((temp <= iNh), User::Panic(KPanicString, KErrOverflow));
+	}
+
+
+static inline void CSHA256_16(	const TUint aA, 
+								const TUint aB, 
+								const TUint aC,
+								TUint& aD, 
+								const TUint aE, 
+								const TUint aF,
+								const TUint aG, 
+								TUint& aH,
+								TUint aTemp1,
+								TUint aTemp2,
+								const TUint aK,
+								const TUint aWord)
+	{
+	aTemp1 = aH + SHA256_SIGMA1(aE) + SHA_Ch(aE,aF,aG) + aK + aWord;
+	aTemp2 = SHA256_SIGMA0(aA) + SHA_Maj(aA,aB,aC);
+	aD = aD + aTemp1;
+	aH = aTemp1 + aTemp2;
+	}
+
+static inline void CSHA256_48(	const TUint aA, 
+								const TUint aB, 
+								const TUint aC,
+								TUint& aD, 
+								const TUint aE, 
+								const TUint aF,
+								const TUint aG, 
+								TUint& aH,
+								TUint aTemp1,
+								TUint aTemp2,
+								const TUint aK,
+								TUint& aWord0,
+								const TUint aWord2,
+								const TUint aWord7,
+								const TUint aWord15,
+								const TUint aWord16)
+	{
+	aWord0 = SHA256_sigma1(aWord2) + aWord7 + SHA256_sigma0(aWord15) + aWord16;
+	CSHA256_16(aA, aB, aC, aD, aE, aF, aG, aH, aTemp1, aTemp2, aK, aWord0);
+	}
+
+/**
+ * This function actually calculates the hash.
+ * Function is defined in FIPS 180-2 section 6.2.2
+ * 
+ * This function is the expanded version of the following loop.
+ *	for(TUint i = 0; i < 64; ++i)
+ *		{
+ *		if(i >= 16)
+ *			{
+ * 			iData[i] = SHA256_sigma1(iData[i-2]) + iData[i-7] + SHA256_sigma0(iData[i-15]) + iData[i-16];
+ *			}
+ *
+ *		temp1 = tempH + SHA256_SIGMA1(tempE) + SHA_Ch(tempE,tempF,tempG) + K[i] + iData[i];
+ *		temp2 = SHA256_SIGMA0(tempA) + SHA_Maj(tempA,tempB,tempC);
+ *	    tempH = tempG;
+ *	    tempG = tempF;
+ *	    tempF = tempE;
+ *	    tempE = tempD + temp1;
+ *	    tempD = tempC;
+ *	    tempC = tempB;
+ *	    tempB = tempA;
+ *	    tempA = temp1 + temp2;		
+ *		}
+ */
+void CSHA224And256::Block()
+	{
+	TUint tempA=iA;
+	TUint tempB=iB;
+	TUint tempC=iC;
+	TUint tempD=iD;
+	TUint tempE=iE;
+	TUint tempF=iF;
+	TUint tempG=iG;
+	TUint tempH=iH;
+	TUint temp1=0;
+	TUint temp2=0;
+	
+	CSHA256_16(tempA,tempB,tempC,tempD,tempE,tempF,tempG,tempH,temp1,temp2,K[0],iData[0]);
+	CSHA256_16(tempH,tempA,tempB,tempC,tempD,tempE,tempF,tempG,temp1,temp2,K[1],iData[1]);
+	CSHA256_16(tempG,tempH,tempA,tempB,tempC,tempD,tempE,tempF,temp1,temp2,K[2],iData[2]);
+	CSHA256_16(tempF,tempG,tempH,tempA,tempB,tempC,tempD,tempE,temp1,temp2,K[3],iData[3]);
+	CSHA256_16(tempE,tempF,tempG,tempH,tempA,tempB,tempC,tempD,temp1,temp2,K[4],iData[4]);
+	CSHA256_16(tempD,tempE,tempF,tempG,tempH,tempA,tempB,tempC,temp1,temp2,K[5],iData[5]);
+	CSHA256_16(tempC,tempD,tempE,tempF,tempG,tempH,tempA,tempB,temp1,temp2,K[6],iData[6]);
+	CSHA256_16(tempB,tempC,tempD,tempE,tempF,tempG,tempH,tempA,temp1,temp2,K[7],iData[7]);
+
+	CSHA256_16(tempA,tempB,tempC,tempD,tempE,tempF,tempG,tempH,temp1,temp2,K[8],iData[8]);
+	CSHA256_16(tempH,tempA,tempB,tempC,tempD,tempE,tempF,tempG,temp1,temp2,K[9],iData[9]);
+	CSHA256_16(tempG,tempH,tempA,tempB,tempC,tempD,tempE,tempF,temp1,temp2,K[10],iData[10]);
+	CSHA256_16(tempF,tempG,tempH,tempA,tempB,tempC,tempD,tempE,temp1,temp2,K[11],iData[11]);
+	CSHA256_16(tempE,tempF,tempG,tempH,tempA,tempB,tempC,tempD,temp1,temp2,K[12],iData[12]);
+	CSHA256_16(tempD,tempE,tempF,tempG,tempH,tempA,tempB,tempC,temp1,temp2,K[13],iData[13]);
+	CSHA256_16(tempC,tempD,tempE,tempF,tempG,tempH,tempA,tempB,temp1,temp2,K[14],iData[14]);
+	CSHA256_16(tempB,tempC,tempD,tempE,tempF,tempG,tempH,tempA,temp1,temp2,K[15],iData[15]);
+
+	CSHA256_48(	tempA, tempB, tempC, tempD, tempE, tempF, tempG, tempH, temp1, temp2,
+				K[16], iData[16], iData[14], iData[9], iData[1], iData[0]);
+	CSHA256_48(	tempH, tempA, tempB, tempC, tempD, tempE, tempF, tempG, temp1, temp2,
+				K[17], iData[17], iData[15], iData[10], iData[2], iData[1]);
+	CSHA256_48(	tempG, tempH, tempA, tempB, tempC, tempD, tempE, tempF, temp1, temp2,
+				K[18], iData[18], iData[16], iData[11], iData[3], iData[2]);
+	CSHA256_48(	tempF, tempG, tempH, tempA, tempB, tempC, tempD, tempE, temp1, temp2,
+				K[19], iData[19], iData[17], iData[12], iData[4], iData[3]);
+	CSHA256_48(	tempE, tempF, tempG, tempH, tempA, tempB, tempC, tempD, temp1, temp2,
+				K[20], iData[20], iData[18], iData[13], iData[5], iData[4]);
+	CSHA256_48(	tempD, tempE, tempF, tempG, tempH, tempA, tempB, tempC, temp1, temp2,
+				K[21], iData[21], iData[19], iData[14], iData[6], iData[5]);
+	CSHA256_48(	tempC, tempD, tempE, tempF, tempG, tempH, tempA, tempB, temp1, temp2,
+				K[22], iData[22], iData[20], iData[15], iData[7], iData[6]);
+	CSHA256_48(	tempB, tempC, tempD, tempE, tempF, tempG, tempH, tempA, temp1, temp2,
+				K[23], iData[23], iData[21], iData[16], iData[8], iData[7]);
+
+	CSHA256_48(	tempA, tempB, tempC, tempD, tempE, tempF, tempG, tempH, temp1, temp2,
+				K[24], iData[24], iData[22], iData[17], iData[9], iData[8]);
+	CSHA256_48(	tempH, tempA, tempB, tempC, tempD, tempE, tempF, tempG, temp1, temp2,
+				K[25], iData[25], iData[23], iData[18], iData[10], iData[9]);
+	CSHA256_48(	tempG, tempH, tempA, tempB, tempC, tempD, tempE, tempF, temp1, temp2,
+				K[26], iData[26], iData[24], iData[19], iData[11], iData[10]);
+	CSHA256_48(	tempF, tempG, tempH, tempA, tempB, tempC, tempD, tempE, temp1, temp2,
+				K[27], iData[27], iData[25], iData[20], iData[12], iData[11]);
+	CSHA256_48(	tempE, tempF, tempG, tempH, tempA, tempB, tempC, tempD, temp1, temp2,
+				K[28], iData[28], iData[26], iData[21], iData[13], iData[12]);
+	CSHA256_48(	tempD, tempE, tempF, tempG, tempH, tempA, tempB, tempC, temp1, temp2,
+				K[29], iData[29], iData[27], iData[22], iData[14], iData[13]);
+	CSHA256_48(	tempC, tempD, tempE, tempF, tempG, tempH, tempA, tempB, temp1, temp2,
+				K[30], iData[30], iData[28], iData[23], iData[15], iData[14]);
+	CSHA256_48(	tempB, tempC, tempD, tempE, tempF, tempG, tempH, tempA, temp1, temp2,
+				K[31], iData[31], iData[29], iData[24], iData[16], iData[15]);
+
+	CSHA256_48(	tempA, tempB, tempC, tempD, tempE, tempF, tempG, tempH, temp1, temp2,
+				K[32], iData[32], iData[30], iData[25], iData[17], iData[16]);
+	CSHA256_48(	tempH, tempA, tempB, tempC, tempD, tempE, tempF, tempG, temp1, temp2,
+				K[33], iData[33], iData[31], iData[26], iData[18], iData[17]);
+	CSHA256_48(	tempG, tempH, tempA, tempB, tempC, tempD, tempE, tempF, temp1, temp2,
+				K[34], iData[34], iData[32], iData[27], iData[19], iData[18]);
+	CSHA256_48(	tempF, tempG, tempH, tempA, tempB, tempC, tempD, tempE, temp1, temp2,
+				K[35], iData[35], iData[33], iData[28], iData[20], iData[19]);
+	CSHA256_48(	tempE, tempF, tempG, tempH, tempA, tempB, tempC, tempD, temp1, temp2,
+				K[36], iData[36], iData[34], iData[29], iData[21], iData[20]);
+	CSHA256_48(	tempD, tempE, tempF, tempG, tempH, tempA, tempB, tempC, temp1, temp2,
+				K[37], iData[37], iData[35], iData[30], iData[22], iData[21]);
+	CSHA256_48(	tempC, tempD, tempE, tempF, tempG, tempH, tempA, tempB, temp1, temp2,
+				K[38], iData[38], iData[36], iData[31], iData[23], iData[22]);
+	CSHA256_48(	tempB, tempC, tempD, tempE, tempF, tempG, tempH, tempA, temp1, temp2,
+				K[39], iData[39], iData[37], iData[32], iData[24], iData[23]);
+
+	CSHA256_48(	tempA, tempB, tempC, tempD, tempE, tempF, tempG, tempH, temp1, temp2,
+				K[40], iData[40], iData[38], iData[33], iData[25], iData[24]);
+	CSHA256_48(	tempH, tempA, tempB, tempC, tempD, tempE, tempF, tempG, temp1, temp2,
+				K[41], iData[41], iData[39], iData[34], iData[26], iData[25]);
+	CSHA256_48(	tempG, tempH, tempA, tempB, tempC, tempD, tempE, tempF, temp1, temp2,
+				K[42], iData[42], iData[40], iData[35], iData[27], iData[26]);
+	CSHA256_48(	tempF, tempG, tempH, tempA, tempB, tempC, tempD, tempE, temp1, temp2,
+				K[43], iData[43], iData[41], iData[36], iData[28], iData[27]);
+	CSHA256_48(	tempE, tempF, tempG, tempH, tempA, tempB, tempC, tempD, temp1, temp2,
+				K[44], iData[44], iData[42], iData[37], iData[29], iData[28]);
+	CSHA256_48(	tempD, tempE, tempF, tempG, tempH, tempA, tempB, tempC, temp1, temp2,
+				K[45], iData[45], iData[43], iData[38], iData[30], iData[29]);
+	CSHA256_48(	tempC, tempD, tempE, tempF, tempG, tempH, tempA, tempB, temp1, temp2,
+				K[46], iData[46], iData[44], iData[39], iData[31], iData[30]);
+	CSHA256_48(	tempB, tempC, tempD, tempE, tempF, tempG, tempH, tempA, temp1, temp2,
+				K[47], iData[47], iData[45], iData[40], iData[32], iData[31]);
+
+	CSHA256_48(	tempA, tempB, tempC, tempD, tempE, tempF, tempG, tempH, temp1, temp2,
+				K[48], iData[48], iData[46], iData[41], iData[33], iData[32]);
+	CSHA256_48(	tempH, tempA, tempB, tempC, tempD, tempE, tempF, tempG, temp1, temp2,
+				K[49], iData[49], iData[47], iData[42], iData[34], iData[33]);
+	CSHA256_48(	tempG, tempH, tempA, tempB, tempC, tempD, tempE, tempF, temp1, temp2,
+				K[50], iData[50], iData[48], iData[43], iData[35], iData[34]);
+	CSHA256_48(	tempF, tempG, tempH, tempA, tempB, tempC, tempD, tempE, temp1, temp2,
+				K[51], iData[51], iData[49], iData[44], iData[36], iData[35]);
+	CSHA256_48(	tempE, tempF, tempG, tempH, tempA, tempB, tempC, tempD, temp1, temp2,
+				K[52], iData[52], iData[50], iData[45], iData[37], iData[36]);
+	CSHA256_48(	tempD, tempE, tempF, tempG, tempH, tempA, tempB, tempC, temp1, temp2,
+				K[53], iData[53], iData[51], iData[46], iData[38], iData[37]);
+	CSHA256_48(	tempC, tempD, tempE, tempF, tempG, tempH, tempA, tempB, temp1, temp2,
+				K[54], iData[54], iData[52], iData[47], iData[39], iData[38]);
+	CSHA256_48(	tempB, tempC, tempD, tempE, tempF, tempG, tempH, tempA, temp1, temp2,
+				K[55], iData[55], iData[53], iData[48], iData[40], iData[39]);
+
+	CSHA256_48(	tempA, tempB, tempC, tempD, tempE, tempF, tempG, tempH, temp1, temp2,
+				K[56], iData[56], iData[54], iData[49], iData[41], iData[40]);
+	CSHA256_48(	tempH, tempA, tempB, tempC, tempD, tempE, tempF, tempG, temp1, temp2,
+				K[57], iData[57], iData[55], iData[50], iData[42], iData[41]);
+	CSHA256_48(	tempG, tempH, tempA, tempB, tempC, tempD, tempE, tempF, temp1, temp2,
+				K[58], iData[58], iData[56], iData[51], iData[43], iData[42]);
+	CSHA256_48(	tempF, tempG, tempH, tempA, tempB, tempC, tempD, tempE, temp1, temp2,
+				K[59], iData[59], iData[57], iData[52], iData[44], iData[43]);
+	CSHA256_48(	tempE, tempF, tempG, tempH, tempA, tempB, tempC, tempD, temp1, temp2,
+				K[60], iData[60], iData[58], iData[53], iData[45], iData[44]);
+	CSHA256_48(	tempD, tempE, tempF, tempG, tempH, tempA, tempB, tempC, temp1, temp2,
+				K[61], iData[61], iData[59], iData[54], iData[46], iData[45]);
+	CSHA256_48(	tempC, tempD, tempE, tempF, tempG, tempH, tempA, tempB, temp1, temp2,
+				K[62], iData[62], iData[60], iData[55], iData[47], iData[46]);
+	CSHA256_48(	tempB, tempC, tempD, tempE, tempF, tempG, tempH, tempA, temp1, temp2,
+				K[63], iData[63], iData[61], iData[56], iData[48], iData[47]);
+
+	iA+=tempA;
+	iB+=tempB;
+	iC+=tempC;
+	iD+=tempD;
+	iE+=tempE;
+	iF+=tempF;
+	iG+=tempG;
+	iH+=tempH;
+
+	iNl=0;
+	}
+
+/**
+ * According to the standard, the message must be padded to an
+ * even 512 bits. The first padding bit must be a '1'. The last
+ * 64 bits represent the length of the original message. All bits 
+ * in between should be 0. This helper function will pad the 
+ * message according to those rules by filling the iData array 
+ * accordingly. 
+ */ 
+void CSHA224And256::PadMessage()
+	{
+	const TUint padByte = 0x80;
+	
+	if(!(iNl&0x03))
+		{
+		iData[iNl >> 2] = 0;
+		}
+	iData[iNl >> 2] |= padByte << ((3 - iNl&0x03) << 3) ;
+
+	if (iNl >= (KSHA256BlockSize - 2*sizeof(TUint))) 
+		{
+		if (iNl < (KSHA256BlockSize - sizeof(TUint)))
+			iData[(KSHA256BlockSize >> 2) - 1]=0;		
+		Block();
+		Mem::FillZ(iData, KSHA256BlockSize);
+		} 
+	else
+		{
+		const TUint offset=(iNl+4)>>2; //+4 to account for the word added in the
+		//switch statement above
+		Mem::FillZ(iData+offset,(KSHA256BlockSize - offset*sizeof(TUint)));
+		}
+
+	//Length in bits
+	TUint64 msgLength = iNh;
+
+	iData[(KSHA256BlockSize >> 2) - 2] = (msgLength) >> 32;
+	iData[(KSHA256BlockSize >> 2) - 1] = (msgLength & 0xFFFFFFFF);	
+	}
+
+inline void CSHA224And256::CopyWordToHash(TUint aVal, TUint aIndex)
+	{
+	TUint value = MakeWord(reinterpret_cast<TUint8*>(&aVal));
+	Mem::Copy(const_cast<TUint8*>(iHash.Ptr())+ (4*aIndex), &value, sizeof(aVal));
+	}
+
+const TDes8& CSHA224And256::Final()
+	{
+	AddLength(iNl);
+	PadMessage();
+	Block();
+	//
+	// Generate hash value into iHash
+	//
+	CopyWordToHash(iA, 0);
+	CopyWordToHash(iB, 1);
+	CopyWordToHash(iC, 2);
+	CopyWordToHash(iD, 3);
+	CopyWordToHash(iE, 4);
+	CopyWordToHash(iF, 5);
+	CopyWordToHash(iG, 6);
+	CopyWordToHash(iH, 7);
+	
+	return iHash;
+	}
+
+void CSHA224And256::RestoreState()
+	{
+	iA = iACopy;
+	iB = iBCopy;
+	iC = iCCopy;
+	iD = iDCopy;
+	iE = iECopy;
+	iF = iFCopy;
+	iG = iGCopy;
+	iH = iHCopy;
+	iNl = iNlCopy;
+	iNh = iNhCopy;	
+	Mem::Copy(iData, iDataCopy, KSHA256BlockSize*sizeof(TUint)); 
+	}
+
+void CSHA224And256::StoreState()
+	{
+	iACopy = iA;
+	iBCopy = iB;
+	iCCopy = iC;
+	iDCopy = iD;
+	iECopy = iE;
+	iFCopy = iF;
+	iGCopy = iG;
+	iHCopy = iH;
+	iNlCopy = iNl;
+	iNhCopy = iNh;	
+	Mem::Copy(iDataCopy, iData, KSHA256BlockSize*sizeof(TUint));
+	}
+
+// Implemented in hmacimpl.cpp or softwarehashbase.cpp
+// but required as derived from MHash. No coverage here.
+#ifdef _BullseyeCoverage
+#pragma suppress_warnings on
+#pragma BullseyeCoverage off
+#pragma suppress_warnings off
+#endif
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/hash/sha224and256.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,88 @@
+/*
+* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+
+/**
+ @file
+ @internalComponent
+ @released
+*/
+
+
+#ifndef __CRYPTO_SHA224AND256_H_
+#define __CRYPTO_SHA224AND256_H_
+
+
+#include "shacommon.h"
+
+const TInt KSHA256BlockSize	= 64;
+const TInt KSHA224HashSize	= 28;
+const TInt KSHA256HashSize	= 32;
+		
+NONSHARABLE_CLASS(CSHA224And256) : public CBase, public MSHA2Impl
+	{	
+public:
+	//NewL	
+	static CSHA224And256* NewL();
+	CSHA224And256(const CSHA224And256& aSHAImpl);
+	
+	// Functions from MSHA2Impl
+	virtual void RestoreState();
+	virtual void StoreState();
+	virtual void Reset(const TAny*);
+	virtual void Update(const TUint8* aData,TUint aLength);
+	virtual const TDes8& Final(void);
+
+private:
+	//Constructors
+	CSHA224And256();
+	inline void AddLength(const TUint aLength);
+	inline void CopyWordToHash(TUint aVal, TUint aIndex);
+	void Block();
+	void PadMessage();
+
+private:
+	TBuf8<KSHA256HashSize> iHash;
+	TUint iA;
+	TUint iB;
+	TUint iC;
+	TUint iD;
+	TUint iE;
+	TUint iF;
+	TUint iG;
+	TUint iH;
+	TUint iData[KSHA256BlockSize];
+
+	TUint iACopy;
+	TUint iBCopy;
+	TUint iCCopy;
+	TUint iDCopy;
+	TUint iECopy;
+	TUint iFCopy;
+	TUint iGCopy;
+	TUint iHCopy;
+	TUint iNlCopy;
+	TUint iNhCopy;	
+	TUint iDataCopy[KSHA256BlockSize];
+	
+	TUint iNl;
+	TUint64 iNh;
+	};
+
+#endif // __CRYPTO_SHA224AND256_H_
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/hash/sha384and512.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,527 @@
+/*
+* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* Common implementation of SHA384 and SHA512
+* RFC 4634 (US Secure Hash Algorithms (SHA and HMAC-SHA))
+*
+*/
+
+
+/**
+ @file
+*/
+
+#include "sha384and512.h"
+
+/**
+ * SHA512 Constants
+ * 
+ * SHA-512 uses a sequence of eighty constant 64-bit words. 
+ * These words represent the first sixty-four bits of the fractional 
+ * parts of the cube roots of the first eighty prime numbers.
+ * 
+ * FIPS 180-2 Section 4.2.3
+ */
+const TUint64 K[80] = 
+	{
+	UI64LIT(0x428a2f98d728ae22), UI64LIT(0x7137449123ef65cd), UI64LIT(0xb5c0fbcfec4d3b2f), UI64LIT(0xe9b5dba58189dbbc),
+	UI64LIT(0x3956c25bf348b538), UI64LIT(0x59f111f1b605d019), UI64LIT(0x923f82a4af194f9b), UI64LIT(0xab1c5ed5da6d8118),
+	UI64LIT(0xd807aa98a3030242), UI64LIT(0x12835b0145706fbe), UI64LIT(0x243185be4ee4b28c), UI64LIT(0x550c7dc3d5ffb4e2),
+	UI64LIT(0x72be5d74f27b896f), UI64LIT(0x80deb1fe3b1696b1), UI64LIT(0x9bdc06a725c71235), UI64LIT(0xc19bf174cf692694),
+	UI64LIT(0xe49b69c19ef14ad2), UI64LIT(0xefbe4786384f25e3), UI64LIT(0x0fc19dc68b8cd5b5), UI64LIT(0x240ca1cc77ac9c65),
+	UI64LIT(0x2de92c6f592b0275), UI64LIT(0x4a7484aa6ea6e483), UI64LIT(0x5cb0a9dcbd41fbd4), UI64LIT(0x76f988da831153b5),
+	UI64LIT(0x983e5152ee66dfab), UI64LIT(0xa831c66d2db43210), UI64LIT(0xb00327c898fb213f), UI64LIT(0xbf597fc7beef0ee4),
+	UI64LIT(0xc6e00bf33da88fc2), UI64LIT(0xd5a79147930aa725), UI64LIT(0x06ca6351e003826f), UI64LIT(0x142929670a0e6e70),
+	UI64LIT(0x27b70a8546d22ffc), UI64LIT(0x2e1b21385c26c926), UI64LIT(0x4d2c6dfc5ac42aed), UI64LIT(0x53380d139d95b3df),
+	UI64LIT(0x650a73548baf63de), UI64LIT(0x766a0abb3c77b2a8), UI64LIT(0x81c2c92e47edaee6), UI64LIT(0x92722c851482353b),
+	UI64LIT(0xa2bfe8a14cf10364), UI64LIT(0xa81a664bbc423001), UI64LIT(0xc24b8b70d0f89791), UI64LIT(0xc76c51a30654be30),
+	UI64LIT(0xd192e819d6ef5218), UI64LIT(0xd69906245565a910), UI64LIT(0xf40e35855771202a), UI64LIT(0x106aa07032bbd1b8),
+	UI64LIT(0x19a4c116b8d2d0c8), UI64LIT(0x1e376c085141ab53), UI64LIT(0x2748774cdf8eeb99), UI64LIT(0x34b0bcb5e19b48a8),
+	UI64LIT(0x391c0cb3c5c95a63), UI64LIT(0x4ed8aa4ae3418acb), UI64LIT(0x5b9cca4f7763e373), UI64LIT(0x682e6ff3d6b2b8a3),
+	UI64LIT(0x748f82ee5defb2fc), UI64LIT(0x78a5636f43172f60), UI64LIT(0x84c87814a1f0ab72), UI64LIT(0x8cc702081a6439ec),
+	UI64LIT(0x90befffa23631e28), UI64LIT(0xa4506cebde82bde9), UI64LIT(0xbef9a3f7b2c67915), UI64LIT(0xc67178f2e372532b),
+	UI64LIT(0xca273eceea26619c), UI64LIT(0xd186b8c721c0c207), UI64LIT(0xeada7dd6cde0eb1e), UI64LIT(0xf57d4f7fee6ed178),
+	UI64LIT(0x06f067aa72176fba), UI64LIT(0x0a637dc5a2c898a6), UI64LIT(0x113f9804bef90dae), UI64LIT(0x1b710b35131c471b),
+	UI64LIT(0x28db77f523047d84), UI64LIT(0x32caab7b40c72493), UI64LIT(0x3c9ebe0a15c9bebc), UI64LIT(0x431d67c49c100d4c),
+	UI64LIT(0x4cc5d4becb3e42b6), UI64LIT(0x597f299cfc657e2a), UI64LIT(0x5fcb6fab3ad6faec), UI64LIT(0x6c44198c4a475817)
+	};
+
+/**
+ * Define the SHA SIGMA and sigma macros 
+ * 
+ * FIPS 180-2 section 4.1.3
+ */
+// Equation 4.10
+inline TUint64 SHA512_SIGMA0(TUint64 aWord)
+	{
+	return (SHA_ROTR<TUint64>(28,aWord) ^ SHA_ROTR<TUint64>(34,aWord) ^ SHA_ROTR<TUint64>(39,aWord));
+	}
+// Equation 4.11
+inline TUint64 SHA512_SIGMA1(TUint64 aWord)
+	{
+	return (SHA_ROTR<TUint64>(14,aWord) ^ SHA_ROTR<TUint64>(18,aWord) ^ SHA_ROTR<TUint64>(41,aWord));
+	}
+// Equation 4.12
+inline TUint64 SHA512_sigma0(TUint64 aWord)
+	{
+	return (SHA_ROTR<TUint64>(1, aWord) ^ SHA_ROTR<TUint64>(8, aWord) ^ SHA_SHR<TUint64>(7, aWord));
+	}
+// Equation 4.13
+inline TUint64 SHA512_sigma1(TUint64 aWord)
+	{
+	return (SHA_ROTR<TUint64>(19,aWord) ^ SHA_ROTR<TUint64>(61,aWord) ^ SHA_SHR<TUint64>(6,aWord));
+	}
+
+// Macros
+inline TUint64 Make64BitWord(const TUint8* aData)
+	{
+	TUint64 result = (TUint64)aData[0] << 56 | (TUint64)aData[1] << 48 | (TUint64)aData[2] << 40 | 
+					 (TUint64)aData[3] << 32 | (TUint64)aData[4] << 24 | (TUint64)aData[5] << 16 |
+					 (TUint64)aData[6] << 8 | (TUint64)aData[7];
+	return result;
+	}
+
+
+CSHA384And512* CSHA384And512::NewL()
+	{
+	CSHA384And512* self=new (ELeave) CSHA384And512();
+	return self;						
+	}
+														
+CSHA384And512::CSHA384And512() : iHash(KSHA512HashSize)
+	{		
+	}
+	
+CSHA384And512::CSHA384And512(const CSHA384And512& aSHAImpl)
+				: 	iHash(aSHAImpl.iHash),
+					iA(aSHAImpl.iA),
+					iB(aSHAImpl.iB),
+					iC(aSHAImpl.iC),
+					iD(aSHAImpl.iD),
+					iE(aSHAImpl.iE),
+					iF(aSHAImpl.iF),
+					iG(aSHAImpl.iG),
+					iH(aSHAImpl.iH),
+					iNl(aSHAImpl.iNl),
+					iNh(aSHAImpl.iNh),
+					iBlockIndex(aSHAImpl.iBlockIndex)
+	{
+	Mem::Copy(iData, aSHAImpl.iData, KSHA512BlockSize*sizeof(TUint64));
+	}
+	
+void CSHA384And512::Reset(const TAny* aValueArr)
+	{
+	const TUint64* values = static_cast<const TUint64*>(aValueArr);
+
+	iA = values[0];
+	iB = values[1];
+	iC = values[2];
+	iD = values[3];
+	iE = values[4];
+	iF = values[5];
+	iG = values[6];
+	iH = values[7];
+	iNh = 0;
+	iNl = 0;
+	iBlockIndex = 0;
+	}
+
+//This function will panic if the total input length is longer than 2^128 in bits
+_LIT(KPanicString, "Message length exceeds supported length");
+inline void CSHA384And512::AddLength(const TUint64 aLength)
+	{
+	TUint64 temp = iNl;
+	iNl += aLength << 3;
+	__ASSERT_ALWAYS(((iNh != KMaxTUint64) || (temp <= iNl)), User::Panic(KPanicString, KErrOverflow));
+	iNh += (temp > iNl);
+	}
+
+// This assumes a big-endian architecture
+void CSHA384And512::Update(const TUint8* aData,TUint aLength)
+	{
+	while((aLength / 8) > 0 && (iBlockIndex % 8 == 0))
+		{
+		iData[iBlockIndex>>3] = Make64BitWord(aData);
+		iBlockIndex+=8;
+		aData+=8;
+		aLength-=8;
+		if(iBlockIndex==KSHA512BlockSize) 
+			{
+			Block();
+			AddLength(KSHA512BlockSize);
+			}
+		}
+
+	while(aLength--)
+		{
+		if(!(iBlockIndex&0x07))
+			{
+			iData[iBlockIndex >> 3] = 0;
+			}
+		iData[iBlockIndex >> 3] |= static_cast<TUint64>(*aData) << ((7 - iBlockIndex&0x07) << 3) ;
+		++aData;
+		++iBlockIndex;
+		if(iBlockIndex==KSHA512BlockSize) 
+			{
+			Block();
+			AddLength(KSHA512BlockSize);
+			}
+		}
+	}
+
+static inline void CSHA512_16(	const TUint64 aA, 
+								const TUint64 aB, 
+								const TUint64 aC,
+								TUint64& aD, 
+								const TUint64 aE, 
+								const TUint64 aF,
+								const TUint64 aG, 
+								TUint64& aH,
+								TUint64 aTemp1,
+								TUint64 aTemp2,
+								const TUint64 aK,
+								const TUint64 aWord)
+	{
+	aTemp1 = aH + SHA512_SIGMA1(aE) + SHA_Ch(aE,aF,aG) + aK + aWord;
+	aTemp2 = SHA512_SIGMA0(aA) + SHA_Maj(aA,aB,aC);
+	aD = aD + aTemp1;
+	aH = aTemp1 + aTemp2;
+	}
+
+static inline void CSHA512_64(	const TUint64 aA, 
+								const TUint64 aB, 
+								const TUint64 aC,
+								TUint64& aD, 
+								const TUint64 aE, 
+								const TUint64 aF,
+								const TUint64 aG, 
+								TUint64& aH,
+								TUint64 aTemp1,
+								TUint64 aTemp2,
+								const TUint64 aK,
+								TUint64& aWord0,
+								const TUint64 aWord2,
+								const TUint64 aWord7,
+								const TUint64 aWord15,
+								const TUint64 aWord16)
+	{
+	aWord0 = SHA512_sigma1(aWord2) + aWord7 + SHA512_sigma0(aWord15) + aWord16;
+	CSHA512_16(aA, aB, aC, aD, aE, aF, aG, aH, aTemp1, aTemp2, aK, aWord0);
+	}
+
+/**
+ * This function actually calculates the hash.
+ * Function is defined in FIPS 180-2 section 6.3.2
+ * 
+ * This function is the expanded version of the following loop.
+ *	for(TUint i = 0; i < 80; ++i)
+ *		{
+ *		if(i >= 16)
+ *			{
+ *			iData[i] = SHA512_sigma1(iData[i-2]) + iData[i-7] + SHA512_sigma0(iData[i-15]) + iData[i-16];
+ *			}
+ *
+ *		temp1 = tempH + SHA512_SIGMA1(tempE) + SHA_Ch(tempE,tempF,tempG) + K[i] + iData[i];
+ *	    temp2 = SHA512_SIGMA0(tempA) + SHA_Maj(tempA,tempB,tempC);
+ *	    tempH = tempG;
+ *	    tempG = tempF;
+ *	    tempF = tempE;
+ *	    tempE = tempD + temp1;
+ *	    tempD = tempC;
+ *	    tempC = tempB;
+ *	    tempB = tempA;
+ *	    tempA = temp1 + temp2;		
+ *		}
+ */
+void CSHA384And512::Block()
+	{
+	TUint64 tempA=iA;
+	TUint64 tempB=iB;
+	TUint64 tempC=iC;
+	TUint64 tempD=iD;
+	TUint64 tempE=iE;
+	TUint64 tempF=iF;
+	TUint64 tempG=iG;
+	TUint64 tempH=iH;
+	TUint64 temp1=0;
+	TUint64 temp2=0;
+	
+	CSHA512_16(tempA,tempB,tempC,tempD,tempE,tempF,tempG,tempH,temp1,temp2,K[0],iData[0]);
+	CSHA512_16(tempH,tempA,tempB,tempC,tempD,tempE,tempF,tempG,temp1,temp2,K[1],iData[1]);
+	CSHA512_16(tempG,tempH,tempA,tempB,tempC,tempD,tempE,tempF,temp1,temp2,K[2],iData[2]);
+	CSHA512_16(tempF,tempG,tempH,tempA,tempB,tempC,tempD,tempE,temp1,temp2,K[3],iData[3]);
+	CSHA512_16(tempE,tempF,tempG,tempH,tempA,tempB,tempC,tempD,temp1,temp2,K[4],iData[4]);
+	CSHA512_16(tempD,tempE,tempF,tempG,tempH,tempA,tempB,tempC,temp1,temp2,K[5],iData[5]);
+	CSHA512_16(tempC,tempD,tempE,tempF,tempG,tempH,tempA,tempB,temp1,temp2,K[6],iData[6]);
+	CSHA512_16(tempB,tempC,tempD,tempE,tempF,tempG,tempH,tempA,temp1,temp2,K[7],iData[7]);
+
+	CSHA512_16(tempA,tempB,tempC,tempD,tempE,tempF,tempG,tempH,temp1,temp2,K[8],iData[8]);
+	CSHA512_16(tempH,tempA,tempB,tempC,tempD,tempE,tempF,tempG,temp1,temp2,K[9],iData[9]);
+	CSHA512_16(tempG,tempH,tempA,tempB,tempC,tempD,tempE,tempF,temp1,temp2,K[10],iData[10]);
+	CSHA512_16(tempF,tempG,tempH,tempA,tempB,tempC,tempD,tempE,temp1,temp2,K[11],iData[11]);
+	CSHA512_16(tempE,tempF,tempG,tempH,tempA,tempB,tempC,tempD,temp1,temp2,K[12],iData[12]);
+	CSHA512_16(tempD,tempE,tempF,tempG,tempH,tempA,tempB,tempC,temp1,temp2,K[13],iData[13]);
+	CSHA512_16(tempC,tempD,tempE,tempF,tempG,tempH,tempA,tempB,temp1,temp2,K[14],iData[14]);
+	CSHA512_16(tempB,tempC,tempD,tempE,tempF,tempG,tempH,tempA,temp1,temp2,K[15],iData[15]);
+
+	CSHA512_64(	tempA, tempB, tempC, tempD, tempE, tempF, tempG, tempH, temp1, temp2,
+				K[16], iData[16], iData[14], iData[9], iData[1], iData[0]);
+	CSHA512_64(	tempH, tempA, tempB, tempC, tempD, tempE, tempF, tempG, temp1, temp2,
+				K[17], iData[17], iData[15], iData[10], iData[2], iData[1]);
+	CSHA512_64(	tempG, tempH, tempA, tempB, tempC, tempD, tempE, tempF, temp1, temp2,
+				K[18], iData[18], iData[16], iData[11], iData[3], iData[2]);
+	CSHA512_64(	tempF, tempG, tempH, tempA, tempB, tempC, tempD, tempE, temp1, temp2,
+				K[19], iData[19], iData[17], iData[12], iData[4], iData[3]);
+	CSHA512_64(	tempE, tempF, tempG, tempH, tempA, tempB, tempC, tempD, temp1, temp2,
+				K[20], iData[20], iData[18], iData[13], iData[5], iData[4]);
+	CSHA512_64(	tempD, tempE, tempF, tempG, tempH, tempA, tempB, tempC, temp1, temp2,
+				K[21], iData[21], iData[19], iData[14], iData[6], iData[5]);
+	CSHA512_64(	tempC, tempD, tempE, tempF, tempG, tempH, tempA, tempB, temp1, temp2,
+				K[22], iData[22], iData[20], iData[15], iData[7], iData[6]);
+	CSHA512_64(	tempB, tempC, tempD, tempE, tempF, tempG, tempH, tempA, temp1, temp2,
+				K[23], iData[23], iData[21], iData[16], iData[8], iData[7]);
+
+	CSHA512_64(	tempA, tempB, tempC, tempD, tempE, tempF, tempG, tempH, temp1, temp2,
+				K[24], iData[24], iData[22], iData[17], iData[9], iData[8]);
+	CSHA512_64(	tempH, tempA, tempB, tempC, tempD, tempE, tempF, tempG, temp1, temp2,
+				K[25], iData[25], iData[23], iData[18], iData[10], iData[9]);
+	CSHA512_64(	tempG, tempH, tempA, tempB, tempC, tempD, tempE, tempF, temp1, temp2,
+				K[26], iData[26], iData[24], iData[19], iData[11], iData[10]);
+	CSHA512_64(	tempF, tempG, tempH, tempA, tempB, tempC, tempD, tempE, temp1, temp2,
+				K[27], iData[27], iData[25], iData[20], iData[12], iData[11]);
+	CSHA512_64(	tempE, tempF, tempG, tempH, tempA, tempB, tempC, tempD, temp1, temp2,
+				K[28], iData[28], iData[26], iData[21], iData[13], iData[12]);
+	CSHA512_64(	tempD, tempE, tempF, tempG, tempH, tempA, tempB, tempC, temp1, temp2,
+				K[29], iData[29], iData[27], iData[22], iData[14], iData[13]);
+	CSHA512_64(	tempC, tempD, tempE, tempF, tempG, tempH, tempA, tempB, temp1, temp2,
+				K[30], iData[30], iData[28], iData[23], iData[15], iData[14]);
+	CSHA512_64(	tempB, tempC, tempD, tempE, tempF, tempG, tempH, tempA, temp1, temp2,
+				K[31], iData[31], iData[29], iData[24], iData[16], iData[15]);
+
+	CSHA512_64(	tempA, tempB, tempC, tempD, tempE, tempF, tempG, tempH, temp1, temp2,
+				K[32], iData[32], iData[30], iData[25], iData[17], iData[16]);
+	CSHA512_64(	tempH, tempA, tempB, tempC, tempD, tempE, tempF, tempG, temp1, temp2,
+				K[33], iData[33], iData[31], iData[26], iData[18], iData[17]);
+	CSHA512_64(	tempG, tempH, tempA, tempB, tempC, tempD, tempE, tempF, temp1, temp2,
+				K[34], iData[34], iData[32], iData[27], iData[19], iData[18]);
+	CSHA512_64(	tempF, tempG, tempH, tempA, tempB, tempC, tempD, tempE, temp1, temp2,
+				K[35], iData[35], iData[33], iData[28], iData[20], iData[19]);
+	CSHA512_64(	tempE, tempF, tempG, tempH, tempA, tempB, tempC, tempD, temp1, temp2,
+				K[36], iData[36], iData[34], iData[29], iData[21], iData[20]);
+	CSHA512_64(	tempD, tempE, tempF, tempG, tempH, tempA, tempB, tempC, temp1, temp2,
+				K[37], iData[37], iData[35], iData[30], iData[22], iData[21]);
+	CSHA512_64(	tempC, tempD, tempE, tempF, tempG, tempH, tempA, tempB, temp1, temp2,
+				K[38], iData[38], iData[36], iData[31], iData[23], iData[22]);
+	CSHA512_64(	tempB, tempC, tempD, tempE, tempF, tempG, tempH, tempA, temp1, temp2,
+				K[39], iData[39], iData[37], iData[32], iData[24], iData[23]);
+
+	CSHA512_64(	tempA, tempB, tempC, tempD, tempE, tempF, tempG, tempH, temp1, temp2,
+				K[40], iData[40], iData[38], iData[33], iData[25], iData[24]);
+	CSHA512_64(	tempH, tempA, tempB, tempC, tempD, tempE, tempF, tempG, temp1, temp2,
+				K[41], iData[41], iData[39], iData[34], iData[26], iData[25]);
+	CSHA512_64(	tempG, tempH, tempA, tempB, tempC, tempD, tempE, tempF, temp1, temp2,
+				K[42], iData[42], iData[40], iData[35], iData[27], iData[26]);
+	CSHA512_64(	tempF, tempG, tempH, tempA, tempB, tempC, tempD, tempE, temp1, temp2,
+				K[43], iData[43], iData[41], iData[36], iData[28], iData[27]);
+	CSHA512_64(	tempE, tempF, tempG, tempH, tempA, tempB, tempC, tempD, temp1, temp2,
+				K[44], iData[44], iData[42], iData[37], iData[29], iData[28]);
+	CSHA512_64(	tempD, tempE, tempF, tempG, tempH, tempA, tempB, tempC, temp1, temp2,
+				K[45], iData[45], iData[43], iData[38], iData[30], iData[29]);
+	CSHA512_64(	tempC, tempD, tempE, tempF, tempG, tempH, tempA, tempB, temp1, temp2,
+				K[46], iData[46], iData[44], iData[39], iData[31], iData[30]);
+	CSHA512_64(	tempB, tempC, tempD, tempE, tempF, tempG, tempH, tempA, temp1, temp2,
+				K[47], iData[47], iData[45], iData[40], iData[32], iData[31]);
+
+	CSHA512_64(	tempA, tempB, tempC, tempD, tempE, tempF, tempG, tempH, temp1, temp2,
+				K[48], iData[48], iData[46], iData[41], iData[33], iData[32]);
+	CSHA512_64(	tempH, tempA, tempB, tempC, tempD, tempE, tempF, tempG, temp1, temp2,
+				K[49], iData[49], iData[47], iData[42], iData[34], iData[33]);
+	CSHA512_64(	tempG, tempH, tempA, tempB, tempC, tempD, tempE, tempF, temp1, temp2,
+				K[50], iData[50], iData[48], iData[43], iData[35], iData[34]);
+	CSHA512_64(	tempF, tempG, tempH, tempA, tempB, tempC, tempD, tempE, temp1, temp2,
+				K[51], iData[51], iData[49], iData[44], iData[36], iData[35]);
+	CSHA512_64(	tempE, tempF, tempG, tempH, tempA, tempB, tempC, tempD, temp1, temp2,
+				K[52], iData[52], iData[50], iData[45], iData[37], iData[36]);
+	CSHA512_64(	tempD, tempE, tempF, tempG, tempH, tempA, tempB, tempC, temp1, temp2,
+				K[53], iData[53], iData[51], iData[46], iData[38], iData[37]);
+	CSHA512_64(	tempC, tempD, tempE, tempF, tempG, tempH, tempA, tempB, temp1, temp2,
+				K[54], iData[54], iData[52], iData[47], iData[39], iData[38]);
+	CSHA512_64(	tempB, tempC, tempD, tempE, tempF, tempG, tempH, tempA, temp1, temp2,
+				K[55], iData[55], iData[53], iData[48], iData[40], iData[39]);
+
+	CSHA512_64(	tempA, tempB, tempC, tempD, tempE, tempF, tempG, tempH, temp1, temp2,
+				K[56], iData[56], iData[54], iData[49], iData[41], iData[40]);
+	CSHA512_64(	tempH, tempA, tempB, tempC, tempD, tempE, tempF, tempG, temp1, temp2,
+				K[57], iData[57], iData[55], iData[50], iData[42], iData[41]);
+	CSHA512_64(	tempG, tempH, tempA, tempB, tempC, tempD, tempE, tempF, temp1, temp2,
+				K[58], iData[58], iData[56], iData[51], iData[43], iData[42]);
+	CSHA512_64(	tempF, tempG, tempH, tempA, tempB, tempC, tempD, tempE, temp1, temp2,
+				K[59], iData[59], iData[57], iData[52], iData[44], iData[43]);
+	CSHA512_64(	tempE, tempF, tempG, tempH, tempA, tempB, tempC, tempD, temp1, temp2,
+				K[60], iData[60], iData[58], iData[53], iData[45], iData[44]);
+	CSHA512_64(	tempD, tempE, tempF, tempG, tempH, tempA, tempB, tempC, temp1, temp2,
+				K[61], iData[61], iData[59], iData[54], iData[46], iData[45]);
+	CSHA512_64(	tempC, tempD, tempE, tempF, tempG, tempH, tempA, tempB, temp1, temp2,
+				K[62], iData[62], iData[60], iData[55], iData[47], iData[46]);
+	CSHA512_64(	tempB, tempC, tempD, tempE, tempF, tempG, tempH, tempA, temp1, temp2,
+				K[63], iData[63], iData[61], iData[56], iData[48], iData[47]);
+
+	CSHA512_64(	tempA, tempB, tempC, tempD, tempE, tempF, tempG, tempH, temp1, temp2,
+				K[64], iData[64], iData[62], iData[57], iData[49], iData[48]);
+	CSHA512_64(	tempH, tempA, tempB, tempC, tempD, tempE, tempF, tempG, temp1, temp2,
+				K[65], iData[65], iData[63], iData[58], iData[50], iData[49]);
+	CSHA512_64(	tempG, tempH, tempA, tempB, tempC, tempD, tempE, tempF, temp1, temp2,
+				K[66], iData[66], iData[64], iData[59], iData[51], iData[50]);
+	CSHA512_64(	tempF, tempG, tempH, tempA, tempB, tempC, tempD, tempE, temp1, temp2,
+				K[67], iData[67], iData[65], iData[60], iData[52], iData[51]);
+	CSHA512_64(	tempE, tempF, tempG, tempH, tempA, tempB, tempC, tempD, temp1, temp2,
+				K[68], iData[68], iData[66], iData[61], iData[53], iData[52]);
+	CSHA512_64(	tempD, tempE, tempF, tempG, tempH, tempA, tempB, tempC, temp1, temp2,
+				K[69], iData[69], iData[67], iData[62], iData[54], iData[53]);
+	CSHA512_64(	tempC, tempD, tempE, tempF, tempG, tempH, tempA, tempB, temp1, temp2,
+				K[70], iData[70], iData[68], iData[63], iData[55], iData[54]);
+	CSHA512_64(	tempB, tempC, tempD, tempE, tempF, tempG, tempH, tempA, temp1, temp2,
+				K[71], iData[71], iData[69], iData[64], iData[56], iData[55]);
+
+	CSHA512_64(	tempA, tempB, tempC, tempD, tempE, tempF, tempG, tempH, temp1, temp2,
+				K[72], iData[72], iData[70], iData[65], iData[57], iData[56]);
+	CSHA512_64(	tempH, tempA, tempB, tempC, tempD, tempE, tempF, tempG, temp1, temp2,
+				K[73], iData[73], iData[71], iData[66], iData[58], iData[57]);
+	CSHA512_64(	tempG, tempH, tempA, tempB, tempC, tempD, tempE, tempF, temp1, temp2,
+				K[74], iData[74], iData[72], iData[67], iData[59], iData[58]);
+	CSHA512_64(	tempF, tempG, tempH, tempA, tempB, tempC, tempD, tempE, temp1, temp2,
+				K[75], iData[75], iData[73], iData[68], iData[60], iData[59]);
+	CSHA512_64(	tempE, tempF, tempG, tempH, tempA, tempB, tempC, tempD, temp1, temp2,
+				K[76], iData[76], iData[74], iData[69], iData[61], iData[60]);
+	CSHA512_64(	tempD, tempE, tempF, tempG, tempH, tempA, tempB, tempC, temp1, temp2,
+				K[77], iData[77], iData[75], iData[70], iData[62], iData[61]);
+	CSHA512_64(	tempC, tempD, tempE, tempF, tempG, tempH, tempA, tempB, temp1, temp2,
+				K[78], iData[78], iData[76], iData[71], iData[63], iData[62]);
+	CSHA512_64(	tempB, tempC, tempD, tempE, tempF, tempG, tempH, tempA, temp1, temp2,
+				K[79], iData[79], iData[77], iData[72], iData[64], iData[63]);
+
+	iA+=tempA;
+	iB+=tempB;
+	iC+=tempC;
+	iD+=tempD;
+	iE+=tempE;
+	iF+=tempF;
+	iG+=tempG;
+	iH+=tempH;
+
+	iBlockIndex=0;
+	}
+
+/**
+ * According to the standard, the message must be padded to an
+ * even 512 bits. The first padding bit must be a '1'. The last
+ * 64 bits represent the length of the original message. All bits 
+ * in between should be 0. This helper function will pad the 
+ * message according to those rules by filling the iData array 
+ * accordingly. 
+ */ 
+void CSHA384And512::PadMessage()
+	{
+	const TUint64 padByte = 0x80;
+	
+	if(!(iBlockIndex&0x07))
+		{
+		iData[iBlockIndex >> 3] = 0;
+		}
+	iData[iBlockIndex >> 3] |= padByte << ((7 - iBlockIndex&0x07) << 3) ;
+	
+	if (iBlockIndex >= (KSHA512BlockSize - 2*sizeof(TUint64))) 
+		{
+		if (iBlockIndex < (KSHA512BlockSize - sizeof(TUint64)))
+			iData[(KSHA512BlockSize>>3)-1]=0;		
+		Block();
+		Mem::FillZ(iData,KSHA512BlockSize);
+		} 
+	else
+		{
+		const TUint offset=(iBlockIndex+8)>>3; //+8 to account for the word added in the
+		//switch statement above
+		Mem::FillZ(iData+offset, (KSHA512BlockSize - offset*sizeof(TUint64)));
+		}
+
+	iData[(KSHA512BlockSize >> 3) - 2] = iNh;
+	iData[(KSHA512BlockSize >> 3) - 1] = iNl;	
+	}
+
+inline void CSHA384And512::CopyWordToHash(TUint64 aVal, TUint aIndex)
+	{
+	TUint64 value = Make64BitWord(reinterpret_cast<TUint8*>(&aVal));
+	Mem::Copy(const_cast<TUint8*>(iHash.Ptr())+ (8*aIndex), &value, sizeof(aVal));
+	}
+
+const TDesC8& CSHA384And512::Final()
+	{
+	AddLength(iBlockIndex);
+	PadMessage();
+	Block();
+	//
+	// Generate hash value into iHash
+	//
+	CopyWordToHash(iA, 0);
+	CopyWordToHash(iB, 1);
+	CopyWordToHash(iC, 2);
+	CopyWordToHash(iD, 3);
+	CopyWordToHash(iE, 4);
+	CopyWordToHash(iF, 5);
+	CopyWordToHash(iG, 6);
+	CopyWordToHash(iH, 7);
+	
+	return iHash;
+	}
+
+void CSHA384And512::RestoreState()
+	{
+	iA = iACopy;
+	iB = iBCopy;
+	iC = iCCopy;
+	iD = iDCopy;
+	iE = iECopy;
+	iF = iFCopy;
+	iG = iGCopy;
+	iH = iHCopy;
+	iNl = iNlCopy;
+	iNh = iNhCopy;	
+	iBlockIndex = iBlockIndexCopy;
+	Mem::Copy((TAny*)iData, (TAny*)iDataCopy, KSHA512BlockSize*sizeof(TUint64)); 
+	}
+
+void CSHA384And512::StoreState()
+	{
+	iACopy = iA;
+	iBCopy = iB;
+	iCCopy = iC;
+	iDCopy = iD;
+	iECopy = iE;
+	iFCopy = iF;
+	iGCopy = iG;
+	iHCopy = iH;
+	iNlCopy = iNl;
+	iNhCopy = iNh;	
+	iBlockIndexCopy = iBlockIndex;
+	Mem::Copy((TAny*)iDataCopy, (TAny*)iData, KSHA512BlockSize*sizeof(TUint64));
+	}
+
+// Implemented in hmacimpl.cpp or softwarehashbase.cpp
+// but required as derived from MHash. No coverage here.
+#ifdef _BullseyeCoverage
+#pragma suppress_warnings on
+#pragma BullseyeCoverage off
+#pragma suppress_warnings off
+#endif
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/hash/sha384and512.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,96 @@
+/*
+* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+
+/**
+ @file
+ @internalComponent
+ @released
+*/
+
+
+#ifndef __CRYPTO_SHA384AND512_H_
+#define __CRYPTO_SHA384AND512_H_
+
+
+#include "shacommon.h"
+
+const TInt KSHA512BlockSize	= 128;
+const TInt KSHA384HashSize	= 48;
+const TInt KSHA512HashSize	= 64;
+		
+NONSHARABLE_CLASS(CSHA384And512) : public CBase, public MSHA2Impl
+	{	
+public:
+	//NewL	
+	static CSHA384And512* NewL();
+	CSHA384And512(const CSHA384And512& aSHAImpl);
+	
+	//From MSHAImpl
+	virtual void Reset(const TAny* aValueArr);
+	virtual const TDesC8& Final(void);
+	virtual void Update(const TUint8* aData,TUint aLength);
+	virtual void StoreState();
+	virtual void RestoreState();
+
+private:
+	//Constructors
+	CSHA384And512();
+
+private:
+	// Private member functions
+	/**
+	 * @param aLength - Length of message added in bytes.
+	 */ 
+	inline void AddLength(const TUint64 aLength);
+	inline void CopyWordToHash(TUint64 aVal, TUint aIndex);
+	void Block();
+	void PadMessage();
+
+private:
+	TBuf8<KSHA512HashSize> iHash;
+	TUint64 iA;
+	TUint64 iB;
+	TUint64 iC;
+	TUint64 iD;
+	TUint64 iE;
+	TUint64 iF;
+	TUint64 iG;
+	TUint64 iH;
+	TUint64 iData[KSHA512BlockSize];
+
+	TUint64 iACopy;
+	TUint64 iBCopy;
+	TUint64 iCCopy;
+	TUint64 iDCopy;
+	TUint64 iECopy;
+	TUint64 iFCopy;
+	TUint64 iGCopy;
+	TUint64 iHCopy;
+	TUint64 iNlCopy;
+	TUint64 iNhCopy;
+	TUint	iBlockIndexCopy;
+	TUint64 iDataCopy[KSHA512BlockSize];
+	
+	TUint64 iNl; // Lower word of Message Length
+	TUint64 iNh; // Higher word of Message Length
+	TUint iBlockIndex; // Message Length in the current block
+	};
+
+#endif // __CRYPTO_SHA384AND512_H_
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/hash/shacommon.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,119 @@
+#ifndef __CRYPTO_SHACOMMON_H_
+#define __CRYPTO_SHACOMMON_H_
+
+#include <e32base.h>/*
+* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* Same as used in SHA1
+* SHA_CH		> CSHA1_F
+* SHA_Maj		> CSHA1_H
+* SHA_Parity	> CSHA1_G
+* The following definitions are equivalent and potentially faster.
+* #define SHA_Ch(x, y, z)      (((x) & ((y) ^ (z))) ^ (z))
+* #define SHA_Maj(x, y, z)     (((x) & ((y) | (z))) | ((y) & (z)))
+* These functions are defined in FIPS 180-2 Section 4.1
+* Equation 4.1, 4.2, 4.3, 4.8, 4.9
+*
+*/
+
+
+
+
+/**
+ @file
+ @internalComponent
+ @released
+*/
+template<typename T>
+inline T SHA_Ch(T aX, T aY, T aZ)
+	{
+	return ((aX & aY) ^ ((~aX) & aZ));
+	}
+
+template<typename T>
+inline T SHA_Maj(T aX, T aY, T aZ)
+	{
+	return ((aX & aY) ^ (aX & aZ) ^ (aY & aZ));
+	}
+
+template<typename T>
+inline T SHA_Parity(T aX, T aY, T aZ)
+	{
+	return (aX ^ aY ^ aZ);
+	}
+
+/**
+ * Define the SHA shift, and rotate right macro 
+ * Defined in FIPS 180-2 Section 3.2
+ */
+/** 
+ * SHA Right Shift operation: The right shift operation SHR^n(x), 
+ * where x is a w-bit word and n is an integer with 0 <= n < w, 
+ * is defined by  SHR^n(x) = x >> n.
+ */
+template<typename T>
+inline T SHA_SHR(T aBits, T aWord)
+	{
+	return (aWord >> aBits);
+	}
+
+/**
+ * SHA Rotate Right Operation: The rotate right (circular right shift) operation
+ * ROTR^n(x), where x is a w-bit word and n is an integer with 0 <= n < w, 
+ * is defined by ROTR n(x)=(x >> n) || (x << w - n).
+ */
+template<typename T>
+inline T SHA_ROTR(T aBits, T aWord)
+	{
+	TInt totalBits = sizeof(T) << 3;
+	return ((aWord >> aBits) | (aWord << (totalBits-aBits)));
+	}
+
+NONSHARABLE_CLASS(MSHA2Impl)
+	{
+public:
+	/**
+	 * This function will reset the state of hash.
+	 */
+	virtual void Reset(const TAny*) = 0;
+	/**
+	 * This function will finalize the hash and return
+	 * the calculated hash.
+	 * @return Final hash
+	 */ 
+	virtual const TDesC8& Final() = 0;
+	/**
+	 * This function will add the message to the internal
+	 * buffer and if the block size is reached then calcualte
+	 * the hash till that point.
+	 * @param aMessage Message to be updated.
+	 * @param aLength Length of the message to be updated.
+	 */ 
+	virtual void Update(const TUint8* aMessage, TUint aLength) = 0;
+	/**
+	 * This function will save the internal state of the hash.
+	 */ 
+	virtual void StoreState() = 0;
+	/**
+	 * This function will retrieve the saved the internal state 
+	 * of the hash.
+	 */ 
+	virtual void RestoreState() = 0;
+	/**
+	 * virtual distructor.
+	 */
+	virtual ~MSHA2Impl(){}
+	};
+
+#endif //__CRYPTO_SHACOMMON_H_
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/padding/padding.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,362 @@
+/*
+* Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include <e32base.h>
+#include <random.h>
+#include <padding.h>
+#include <securityerr.h>
+#include <cryptopanic.h>
+
+/* CPadding */
+CPadding::CPadding(void) : iBlockBytes(-1)
+	{
+	}
+
+EXPORT_C CPadding::CPadding(TInt aBlockBytes) : iBlockBytes(aBlockBytes)
+	{
+	__ASSERT_ALWAYS(aBlockBytes > 0, User::Invariant());
+	}
+
+EXPORT_C void CPadding::SetBlockSize(TInt aBlockBytes)
+	{
+	__ASSERT_ALWAYS(aBlockBytes > 0, User::Invariant());
+	iBlockBytes = aBlockBytes;
+	}
+
+EXPORT_C TInt CPadding::BlockSize(void) const
+	{
+	return iBlockBytes;
+	}
+
+EXPORT_C TInt CPadding::MaxPaddedLength(TInt /*aInputBytes*/) const
+	{
+	return BlockSize();
+	}
+
+EXPORT_C TInt CPadding::MaxUnPaddedLength(TInt aInputBytes) const
+	{
+	return aInputBytes - MinPaddingLength();
+	}
+
+EXPORT_C void CPadding::PadL(const TDesC8& aInput, TDes8& aOutput)
+	{
+	// Check that the input is small enough to fit inside one padded block
+	__ASSERT_DEBUG(aInput.Length() <= BlockSize() - MinPaddingLength(), 	
+		User::Panic(KCryptoPanic, ECryptoPanicPadInputTooLarge));
+	
+	// Check that the output descriptor supplied is large enough to store the result
+	__ASSERT_DEBUG(aOutput.MaxLength() >= MaxPaddedLength(aInput.Length()), 	
+		User::Panic(KCryptoPanic, ECryptoPanicOutputDescriptorOverflow));
+
+	// Call the virtual function, implemented by derived classes
+	DoPadL(aInput, aOutput);
+	}
+
+/* CPaddingNone */
+EXPORT_C CPaddingNone* CPaddingNone::NewL(TInt aBlockBytes)
+	{
+	__ASSERT_ALWAYS(aBlockBytes > 0, User::Leave(KErrArgument));
+	return new(ELeave)CPaddingNone(aBlockBytes);
+	}
+
+EXPORT_C CPaddingNone* CPaddingNone::NewLC(TInt aBlockBytes)
+	{
+	CPaddingNone* self = CPaddingNone::NewL(aBlockBytes);
+	CleanupStack::PushL(self);
+	return self;
+	}
+
+EXPORT_C CPaddingNone::CPaddingNone(TInt aBlockBytes):CPadding(aBlockBytes)
+	{
+	}
+
+void CPaddingNone::DoPadL(const TDesC8& aInput,TDes8& aOutput)
+	{
+	aOutput.Append(aInput);
+	}
+
+void CPaddingNone::UnPadL(const TDesC8& aInput,TDes8& aOutput)
+	{
+	__ASSERT_DEBUG(aOutput.MaxLength() >= MaxPaddedLength(aInput.Length()), User::Panic(KCryptoPanic, ECryptoPanicOutputDescriptorOverflow));
+	aOutput.Append(aInput);
+	}
+
+TInt CPaddingNone::MinPaddingLength(void) const
+	{
+	return 0;
+	}
+
+TInt CPaddingNone::MaxPaddedLength(TInt aInputSize) const
+	{
+	return aInputSize;
+	}
+
+/* CPaddingSSLv3 */
+EXPORT_C CPaddingSSLv3* CPaddingSSLv3::NewL(TInt aBlockBytes)
+	{
+	__ASSERT_ALWAYS(aBlockBytes > 0, User::Leave(KErrArgument));
+	return new(ELeave)CPaddingSSLv3(aBlockBytes);	
+	}
+
+EXPORT_C CPaddingSSLv3* CPaddingSSLv3::NewLC(TInt aBlockBytes)
+	{
+	CPaddingSSLv3* self = CPaddingSSLv3::NewL(aBlockBytes);
+	CleanupStack::PushL(self);
+	return self;
+	}
+
+EXPORT_C CPaddingSSLv3::CPaddingSSLv3(TInt aBlockBytes):CPadding(aBlockBytes)
+	{
+	}
+
+void CPaddingSSLv3::DoPadL(const TDesC8& aInput,TDes8& aOutput)
+	{
+	TInt paddingBytes=BlockSize()-(aInput.Length()%BlockSize());
+	aOutput.Append(aInput);
+	aOutput.SetLength(aOutput.Length()+paddingBytes);
+	for (TInt i=1;i<=paddingBytes;i++)
+		{
+		aOutput[aOutput.Length()-i]=(TUint8)(paddingBytes-1);
+		}
+	}
+
+void CPaddingSSLv3::UnPadL(const TDesC8& aInput,TDes8& aOutput)
+	{
+	TInt paddingLen = aInput[aInput.Length()-1] + 1;
+
+	if (paddingLen > aInput.Length())
+		{
+		User::Leave(KErrInvalidPadding);
+		}
+
+	TInt outlen = aInput.Length() - paddingLen;
+
+	__ASSERT_DEBUG(aOutput.MaxLength() >= outlen, User::Panic(KCryptoPanic, ECryptoPanicOutputDescriptorOverflow));
+
+	aOutput.Append(aInput.Left(outlen));
+	}
+
+TInt CPaddingSSLv3::MinPaddingLength(void) const
+	{
+	//if aInputBytes is 1 less than the blocksize then we get 1 byte of padding
+	return 1;
+	}
+
+TInt CPaddingSSLv3::MaxPaddedLength(TInt aInputBytes) const
+	{
+	TUint padBytes = BlockSize() - (aInputBytes % BlockSize());
+	return padBytes + aInputBytes;
+	}
+
+/* CPaddingPKCS1Signature */
+EXPORT_C CPaddingPKCS1Signature* CPaddingPKCS1Signature::NewL(TInt aBlockBytes)
+	{
+	return new(ELeave)CPaddingPKCS1Signature(aBlockBytes);
+	}
+
+EXPORT_C CPaddingPKCS1Signature* CPaddingPKCS1Signature::NewLC(TInt aBlockBytes)
+	{
+	CPaddingPKCS1Signature* self = CPaddingPKCS1Signature::NewL(aBlockBytes);
+	CleanupStack::PushL(self);
+	return self;
+	}
+
+EXPORT_C CPaddingPKCS1Signature::CPaddingPKCS1Signature(TInt aBlockBytes)
+	: CPadding(aBlockBytes)
+	{
+	}
+
+void CPaddingPKCS1Signature::DoPadL(const TDesC8& aInput,TDes8& aOutput)
+	{
+	aOutput.SetLength(BlockSize());
+	TInt i;
+	TInt j;
+	aOutput[0]=0;
+	TInt startOfData=BlockSize()-aInput.Length();
+	// PKCS1 also specifies a block type 0 for private key operations but
+	// does not recommend its use. This block type (0) is compatible with 
+	// unpadded data though so you can create PKCS1 type 0 blocks using 
+	// CPaddingNone.
+	aOutput[1]=1;				// Block type 1 (private key operation)
+	for (i=2;i<(startOfData-1);i++)
+		{
+		aOutput[i]=0xff;
+		}
+	j=0;
+	aOutput[startOfData-1]=0;				// separator
+	for (i=startOfData;i<BlockSize();i++,j++)
+		{
+		aOutput[i]=aInput[j];
+		}
+	}
+	
+void CPaddingPKCS1Signature::UnPadL(const TDesC8& aInput,TDes8& aOutput)
+	{
+	// erm, oops, this is not quite as simplistic as it first looks...
+	// our integer class will strip any leading zeros so we might actually
+	// get some real data that starts out looking like padding but isn't 
+	// really
+	
+	TInt inputLen = aInput.Length();
+	if (inputLen <=0 )				
+		User::Leave(KErrInvalidPadding);	//	Invalid padding data
+
+	// Leading zero may have been stripped off by integer class
+	TInt dataStart=0;
+	if (aInput[dataStart] == 0)
+		{
+		++dataStart;
+		}
+
+	if (dataStart < inputLen && aInput[dataStart])		//	might be mode one or mode zero,
+		{
+		++dataStart;
+		while (dataStart < inputLen && aInput[dataStart] == 0xff)
+			{
+			++dataStart;
+			}
+		
+		if (dataStart == inputLen || aInput[dataStart])	//	this would mean theres no zero between 0x01ff and data...so its not mode one
+			dataStart=0;			//	mode zero, start from begining of data
+		else
+			++dataStart;
+		}
+	else							//	We've definitely got a mode zero 
+		{							//	or broken data, assume mode zero
+		dataStart=0;		
+		}
+
+	TInt len=inputLen-dataStart;
+
+	__ASSERT_DEBUG(aOutput.MaxLength() >= len, User::Panic(KCryptoPanic, ECryptoPanicOutputDescriptorOverflow));
+
+	aOutput.SetLength(len);
+	TInt i=0;
+	while (dataStart<inputLen)
+		{
+		aOutput[i++]=aInput[dataStart++];
+		}
+	}
+
+TInt CPaddingPKCS1Signature::MinPaddingLength(void) const
+	{
+	return 11; //0x00, 0x01, <MIN of 8 0xFF octets> , 0x00
+	}
+
+/* CPaddingPKCS1Encryption */
+EXPORT_C CPaddingPKCS1Encryption* CPaddingPKCS1Encryption::NewL(
+	TInt aBlockBytes)
+	{
+	return new(ELeave)CPaddingPKCS1Encryption(aBlockBytes);
+	}
+
+EXPORT_C CPaddingPKCS1Encryption* CPaddingPKCS1Encryption::NewLC(
+	TInt aBlockBytes)
+	{
+	CPaddingPKCS1Encryption* self = CPaddingPKCS1Encryption::NewL(aBlockBytes);
+	CleanupStack::PushL(self);
+	return self;
+	}
+
+EXPORT_C CPaddingPKCS1Encryption::CPaddingPKCS1Encryption(TInt aBlockBytes)
+	: CPadding(aBlockBytes)
+	{
+	}
+
+void CPaddingPKCS1Encryption::DoPadL(const TDesC8& aInput,TDes8& aOutput)
+	{
+	aOutput.SetLength(BlockSize());
+	
+	aOutput[0]=0;
+	TInt startOfData=BlockSize()-aInput.Length();
+	aOutput[1]=2;				// Block type 2 (public key operation)
+	TBuf8<256> rnd(256);
+	GenerateRandomBytesL(rnd);
+
+	TInt i = 2;
+	TInt j = 0;
+	for (; i<(startOfData-1);)
+		{
+		if (rnd[j])
+			{
+			aOutput[i++]=rnd[j];
+			}
+		if (++j==256)
+			{
+			GenerateRandomBytesL(rnd);
+			j=0;
+			}
+		}
+
+	j=0;
+	aOutput[startOfData-1]=0;				// separator
+	for (i=startOfData;i<BlockSize();i++,j++)
+		{
+		aOutput[i]=aInput[j];
+		}
+	}
+	
+void CPaddingPKCS1Encryption::UnPadL(const TDesC8& aInput,TDes8& aOutput)
+	{
+	TInt inputLen = aInput.Length();
+	if (inputLen <= 0)				
+		User::Leave(KErrInvalidPadding);	//	Invalid padding data
+
+	// Leading zero may have been stripped off by integer class
+	TInt dataStart=0;
+	if (aInput[dataStart] == 0)
+		{
+		++dataStart;
+		}
+	
+	// expecting mode 2 padding, otherwise broken
+	if (dataStart == inputLen || aInput[dataStart] != 2)	
+		{
+		User::Leave(KErrInvalidPadding);
+		}
+	++dataStart;
+
+	// skip random non zero bytes
+	while (dataStart < inputLen && aInput[dataStart])
+		{
+		++dataStart;
+		}
+
+	// expecting zero separator
+	if (dataStart == inputLen || aInput[dataStart] != 0)
+		{
+		User::Leave(KErrInvalidPadding);		
+		}
+	++dataStart;
+
+	TInt len = inputLen - dataStart;
+	__ASSERT_DEBUG(aOutput.MaxLength() >= len, User::Panic(KCryptoPanic, ECryptoPanicOutputDescriptorOverflow));
+
+	aOutput.SetLength(len);
+	TInt i=0;
+	while (dataStart<inputLen)
+		{
+		aOutput[i++]=aInput[dataStart++];
+		}
+	}
+
+TInt CPaddingPKCS1Encryption::MinPaddingLength(void) const
+	{
+	return 11; //0x00, 0x02, <min of 8 random octets>, 0x00
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/padding/pkcs7.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,89 @@
+/*
+* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include <e32base.h>
+#include <padding.h>
+#include <securityerr.h>
+#include <cryptopanic.h>
+
+/* CPaddingPKCS7 */
+EXPORT_C CPaddingPKCS7* CPaddingPKCS7::NewL(TInt aBlockBytes)
+	{
+	__ASSERT_ALWAYS(aBlockBytes > 0, User::Leave(KErrArgument));
+	return new(ELeave)CPaddingPKCS7(aBlockBytes);
+	}
+
+EXPORT_C CPaddingPKCS7* CPaddingPKCS7::NewLC(TInt aBlockBytes)
+	{
+	CPaddingPKCS7* self = CPaddingPKCS7::NewL(aBlockBytes);
+	CleanupStack::PushL(self);
+	return self;
+	}
+
+EXPORT_C CPaddingPKCS7::CPaddingPKCS7(TInt aBlockBytes):CPadding(aBlockBytes)
+	{
+	}
+
+void CPaddingPKCS7::DoPadL(const TDesC8& aInput,TDes8& aOutput)
+	{
+	TInt paddingBytes = BlockSize()-(aInput.Length()%BlockSize());		
+	aOutput.Append(aInput);
+	aOutput.SetLength(aOutput.Length()+paddingBytes);
+	for (TInt i=1;i<=paddingBytes;i++)
+		{
+		aOutput[aOutput.Length()-i]=(TUint8)(paddingBytes);
+		}
+	}
+
+void CPaddingPKCS7::UnPadL(const TDesC8& aInput,TDes8& aOutput)
+	{
+	TUint inputLen = aInput.Length();
+ 	TUint paddingLen = (TUint)(aInput[inputLen - 1]);
+
+	if (paddingLen > inputLen)
+ 		{
+ 		User::Leave(KErrInvalidPadding);
+ 		}
+   
+	TInt outlen = aInput.Length() - paddingLen;
+
+	__ASSERT_DEBUG(aOutput.MaxLength() >= outlen, User::Panic(KCryptoPanic, ECryptoPanicOutputDescriptorOverflow));
+
+	aOutput.Append(aInput.Left(outlen));
+	for (TInt i=outlen;i<inputLen;i++)
+		{
+		//All padding bytes must equal the length of padding expected
+		if (aInput[i]!=paddingLen)
+			{
+			User::Leave(KErrInvalidPadding);
+			}
+		}
+	}
+
+TInt CPaddingPKCS7::MinPaddingLength(void) const
+	{
+	//if aInputBytes is 1 less than the blocksize then we get 1 byte of padding
+	return 1;
+	}
+
+TInt CPaddingPKCS7::MaxPaddedLength(TInt aInputBytes) const
+	{
+	TUint padBytes = BlockSize() - (aInputBytes % BlockSize());
+	return padBytes + aInputBytes;
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/pbe/pbe.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,266 @@
+/*
+* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include <e32std.h>
+#include <random.h>
+#include <cryptostrength.h>
+#include <securityerr.h>
+#include <pbedata.h>
+#include "pkcs5kdf.h"
+#include "pbe.h"
+#include "pbencryptor.h"
+#include "pbesymmetricfactory.h"
+
+EXPORT_C CPBEncryptElement* CPBEncryptElement::NewL(const TPBPassword& aPassword)
+	{
+	CPBEncryptElement* self = NewLC(aPassword);
+	CleanupStack::Pop();
+	return self;
+	}
+
+EXPORT_C CPBEncryptElement* CPBEncryptElement::NewLC(const TPBPassword& aPassword)
+	{
+	CPBEncryptElement* self = new(ELeave) CPBEncryptElement;
+	CleanupStack::PushL(self);
+	self->ConstructL(aPassword.Password());
+	return self;
+	}
+
+EXPORT_C CPBEncryptElement* CPBEncryptElement::NewL(const TPBPassword& aPassword, 
+	const TPBECipher aCipher)
+	{
+	CPBEncryptElement* self = NewLC(aPassword, aCipher);
+	CleanupStack::Pop();
+	return self;
+	}
+
+EXPORT_C CPBEncryptElement* CPBEncryptElement::NewLC(const TPBPassword& aPassword, 
+	const TPBECipher aCipher)
+	{
+	CPBEncryptElement* self = new(ELeave) CPBEncryptElement;
+	CleanupStack::PushL(self);
+	self->ConstructL(aPassword.Password(), aCipher);
+	return self;
+	}
+
+EXPORT_C CPBEncryptElement* CPBEncryptElement::NewL(const TPBPassword& aPassword, 
+	const CPBEncryptParms& aParms)
+	{
+	CPBEncryptElement* self = NewLC(aPassword, aParms);
+	CleanupStack::Pop();
+	return self;
+	}
+
+EXPORT_C CPBEncryptElement* CPBEncryptElement::NewLC(const TPBPassword& aPassword, 
+	const CPBEncryptParms& aParms)
+	{
+	CPBEncryptElement* self = new(ELeave) CPBEncryptElement;
+	CleanupStack::PushL(self);
+	self->ConstructL(aPassword.Password(), aParms);
+	return self;
+	}
+
+EXPORT_C CPBEncryptElement* CPBEncryptElement::NewL(
+	const CPBEncryptionData& aData, const TPBPassword& aPassword)
+	{
+	CPBEncryptElement* self = CPBEncryptElement::NewLC(aData, aPassword);
+	CleanupStack::Pop();
+	return self;
+	}
+
+EXPORT_C CPBEncryptElement* CPBEncryptElement::NewLC(
+	const CPBEncryptionData& aData, const TPBPassword& aPassword)
+	{
+	CPBEncryptElement* self = new(ELeave) CPBEncryptElement;
+	CleanupStack::PushL(self);
+	self->ConstructL(aData, aPassword);
+	return self;
+	}
+
+CPBEncryptElement::CPBEncryptElement(void) 
+	{
+	}
+
+CPBEncryptElement::~CPBEncryptElement(void)
+	{
+	delete iData;
+	delete iEncryptKey;
+	}
+
+void CPBEncryptElement::ConstructL(const TDesC8& aPassword)
+	{
+	// Construct based on cryptography strength
+	if (TCrypto::Strength() == TCrypto::EStrong)
+		{
+		ConstructL(aPassword, KPBEDefaultStrongCipher);
+		}
+	else
+		{
+		ConstructL(aPassword, KPBEDefaultWeakCipher);
+		}
+	}
+
+void CPBEncryptElement::ConstructL(const TDesC8& aPassword, TPBECipher aCipher)
+	{
+	TBuf8<KPBEMaxCipherIVBytes> iv(KPBEMaxCipherIVBytes);
+	iv.SetLength(PBE::GetBlockBytes(aCipher));
+	TRandom::RandomL(iv);
+
+	TBuf8<KPBEDefaultSaltBytes> encryptSalt(KPBEDefaultSaltBytes);
+	TRandom::RandomL(encryptSalt);
+
+	TBuf8<KPBEDefaultSaltBytes> authSalt(KPBEDefaultSaltBytes);
+	TRandom::RandomL(authSalt);
+
+	iData = CPBEncryptionData::NewL(aPassword, aCipher, authSalt, encryptSalt,
+		iv, KDefaultIterations);
+
+	MakeEncryptKeyL(PBE::GetKeyBytes(aCipher), aPassword);
+	}
+
+void CPBEncryptElement::ConstructL(const CPBEncryptionData& aData, 
+	const TPBPassword& aPassword)
+	{
+	iData = CPBEncryptionData::NewL(aData);
+	if(!AuthenticateL(aPassword))
+		{
+		User::Leave(KErrBadPassphrase);
+		}
+	}
+
+void CPBEncryptElement::ConstructL(const TDesC8& aPassword,
+	const CPBEncryptParms& aParms)
+	{
+	TUint keySize = PBE::GetKeyBytes(aParms.Cipher());
+
+	TBuf8<KPBEDefaultSaltBytes> authSalt(KPBEDefaultSaltBytes);
+	TRandom::RandomL(authSalt);
+
+	//Recreate parms with given data and create a totally new auth
+	iData = CPBEncryptionData::NewL(aPassword, authSalt, aParms);
+	MakeEncryptKeyL(keySize, aPassword);
+	}
+
+const CPBEncryptionData& CPBEncryptElement::EncryptionData(void) const
+	{
+	return *iData;
+	}
+
+CPBEncryptor* CPBEncryptElement::NewEncryptL() const 
+	{
+	CPBEncryptor* encryptor = NewEncryptLC();
+	CleanupStack::Pop();
+	return encryptor;
+	}
+
+CPBEncryptor* CPBEncryptElement::NewEncryptLC() const
+	{
+	CPBEncryptor* encryptor = CPBEncryptorElement::NewLC( 
+		iData->EncryptParms().Cipher(), *iEncryptKey, 
+		iData->EncryptParms().IV());
+	return encryptor;
+	}
+
+TBool CPBEncryptElement::AuthenticateL(const TPBPassword& aPassword)
+	{
+	TBool retval = EFalse;
+
+	//create a new auth to test against the existing one
+	//therefore we use the same key size, and salt as the current one
+	CPBAuthData* auth = CPBAuthData::NewLC(aPassword.Password(),
+		iData->AuthData().Salt(), iData->AuthData().Key().Size(),
+		iData->AuthData().Iterations());
+	if(*auth==iData->AuthData())
+		{
+		//We've got a valid password, regenerate the key so they can decrypt
+		//stuff.  We don't the change the length of iEncryptKey as we assume the
+		//previous key size is appropriate for the new one
+		MakeEncryptKeyL(PBE::GetKeyBytes(iData->EncryptParms().Cipher()),
+			aPassword.Password());
+		retval = ETrue;
+		}
+	CleanupStack::PopAndDestroy(auth);
+	return retval;
+	}
+
+CPBDecryptor* CPBEncryptElement::NewDecryptL() const
+	{
+	CPBDecryptor* decryptor = NewDecryptLC();
+	CleanupStack::Pop();
+	return decryptor;
+	}
+
+CPBDecryptor* CPBEncryptElement::NewDecryptLC() const
+	{
+	CPBDecryptor* decryptor = CPBDecryptorElement::NewLC(
+		iData->EncryptParms().Cipher(), *iEncryptKey,
+		iData->EncryptParms().IV());
+	return decryptor;
+	}
+
+// Warning: This function is only valid BEFORE you call NewEncryptL
+// After creating the cipher, ask it about itself, not me!
+// This is _very_ dodgy as I assume all sorts of things about the encryptor.
+// 1) That it uses SSLv3 or similar style padding
+// 2) That it stores the IV for that stream at the front.
+// This is here for specific application that requires this and aren't able to
+// actually construct the cipher and ask it.  In almost all other cases you
+// should construct the cipher and ask it.
+TInt CPBEncryptElement::MaxCiphertextLength(TInt aPlaintextLength) const
+	{
+	TUint blocksize = PBE::GetBlockBytes(iData->EncryptParms().Cipher());
+	TUint padding = blocksize - aPlaintextLength % blocksize;
+	//len = inputLength + padding
+	return aPlaintextLength + padding;
+	}
+
+// Warning: This function is only valid BEFORE you call NewDecryptL
+// After creating the cipher, ask it about itself, not me!
+TInt CPBEncryptElement::MaxPlaintextLength(TInt aCiphertextLength) const
+	{
+	/*It's impossible to determine anything about how much padding will be
+	 * removed.  So we'll return a max length that is longer than will
+	 * ever happen by at most a blocksize - 1.
+	 */
+	//totallength = inputlength - 1 byte of padding min
+	return aCiphertextLength - 1;
+	}
+
+void CPBEncryptElement::MakeEncryptKeyL(TUint aKeySize, const TDesC8& aPassword)
+	{
+	iEncryptKey = HBufC8::NewMaxL(aKeySize);
+	TPtr8 encryptKeyBuf = iEncryptKey->Des();
+	iData->EncryptParms().DeriveKeyL(aPassword, encryptKeyBuf);
+	}
+
+EXPORT_C TPBPassword::TPBPassword(const TDesC8& aPassword)
+	{
+	iPassword.Set(aPassword);
+	}
+
+EXPORT_C TPBPassword::TPBPassword(const TDesC16& aPassword)
+	{
+	iPassword.Set(reinterpret_cast<const TUint8*>(aPassword.Ptr()), aPassword.Size());
+	}
+
+EXPORT_C const TDesC8& TPBPassword::Password(void) const
+	{
+	return iPassword;
+	}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/pbe/pbedata.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,479 @@
+/*
+* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+#include "pkcs5kdf.h"
+#include "pkcs12kdf.h"
+#include "pbedata.h"
+#include "pbesymmetricfactory.h"
+#include "cryptostrength.h"
+
+EXPORT_C CPBEncryptionData* CPBEncryptionData::NewL(const TDesC8& aPassword,
+	TPBECipher aCipher, const TDesC8& aAuthSalt, 
+	const TDesC8& aEncryptSalt, const TDesC8& aIV, TUint aIterations)
+	{
+	CPBEncryptionData* self = NewLC(aPassword, aCipher, aAuthSalt, aEncryptSalt,
+		aIV, aIterations);
+	CleanupStack::Pop(self);
+	return self;
+	}
+
+EXPORT_C CPBEncryptionData* CPBEncryptionData::NewLC(const TDesC8& aPassword,
+	TPBECipher aCipher, const TDesC8& aAuthSalt, 
+	const TDesC8& aEncryptSalt, const TDesC8& aIV, TUint aIterations)
+	{
+	CPBEncryptionData* self = new(ELeave)CPBEncryptionData();
+	CleanupStack::PushL(self);
+	self->ConstructL(aPassword, aCipher, aAuthSalt, aEncryptSalt, aIV,
+		aIterations);
+	return self;
+	}
+
+EXPORT_C CPBEncryptionData* CPBEncryptionData::NewL(
+	const CPBEncryptionData& aData)
+	{
+	CPBEncryptionData* self = NewLC(aData);
+	CleanupStack::Pop(self);
+	return self;
+	}
+
+EXPORT_C CPBEncryptionData* CPBEncryptionData::NewLC(
+	const CPBEncryptionData& aData)
+	{
+	CPBEncryptionData* self = new(ELeave)CPBEncryptionData(); 
+	CleanupStack::PushL(self);
+	self->ConstructL(aData);
+	return self;
+	}
+
+EXPORT_C CPBEncryptionData* CPBEncryptionData::NewL(
+	const TDesC8& aPassword, const TDesC8& aAuthSalt,
+	const CPBEncryptParms& aParms)
+/**
+	This factory function takes the user-supplied password
+	and the randomly-generated authentication salt, along
+	with the encryption paramaters.  It is provided so the
+	encryption parameters can be extended without having to
+	provide multiple factory functions.
+
+	@param	aPassword		User-supplied password.  This
+							password is not transformed so
+							if it needs to be in a particular
+							format, e.g. for PKCS#12, the
+							transformation must be applied before
+							this function is called.
+	@param	aAuthSalt		The salt is used to derive the
+							authentication key; not the encryption
+							key.
+	@param	aParms			Encryption parameters describe how the
+							data is encrypted.
+	@return					New instance of CPBEncryptionData.
+ */
+	{
+	CPBEncryptionData* self = new(ELeave) CPBEncryptionData;
+	CleanupStack::PushL(self);
+	self->ConstructL(aPassword, aAuthSalt, aParms);
+	CleanupStack::Pop(self);
+	return self;
+	}
+
+void CPBEncryptionData::ConstructL(
+	const TDesC8& aPassword, const TDesC8& aAuthSalt,
+	const CPBEncryptParms& aParms)
+/**
+	Second-phase constructor for factory function with
+	same signature.
+ */
+	{
+	iParms = CPBEncryptParms::NewL(aParms);
+	iAuth = CPBAuthData::NewL(
+		aPassword,
+		aAuthSalt,
+		PBE::GetKeyBytes(aParms.Cipher()),
+		aParms.Iterations());
+	}
+
+// HPRE-5TDFK2: Remove Store/estor.dll dependency on Cryptography/pbe.dll
+// This method is DUPLICATED in common/generic/syslibs/store/ucrypt/ue_strm.cpp
+EXPORT_C CPBEncryptionData::CPBEncryptionData(void)
+	{
+	}
+
+// HPRE-5TDFK2: Remove Store/estor.dll dependency on Cryptography/pbe.dll
+// This method is DUPLICATED in common/generic/syslibs/store/ucrypt/ue_strm.cpp
+CPBEncryptionData::~CPBEncryptionData(void)
+	{
+	delete iParms;
+	delete iAuth;
+	}
+
+void CPBEncryptionData::ConstructL(const TDesC8& aPassword,
+	TPBECipher aCipher, const TDesC8& aAuthSalt, 
+	const TDesC8& aEncryptSalt, const TDesC8& aIV, TUint aIterations)
+	{
+	iParms = CPBEncryptParms::NewL(aCipher, aEncryptSalt, aIV, aIterations);
+	iAuth = CPBAuthData::NewL(aPassword, aAuthSalt,
+		PBE::GetKeyBytes(aCipher), aIterations);
+	}
+
+void CPBEncryptionData::ConstructL(const CPBEncryptionData& aData)
+	{
+	iParms = CPBEncryptParms::NewL(aData.EncryptParms());
+	iAuth = CPBAuthData::NewL(aData.AuthData());
+	}
+
+EXPORT_C const CPBEncryptParms& CPBEncryptionData::EncryptParms(void) const
+	{
+	return *iParms;
+	} 
+EXPORT_C const CPBAuthData& CPBEncryptionData::AuthData(void) const
+	{
+	return *iAuth;
+	}
+
+/* CPBEncryptParms */
+EXPORT_C CPBEncryptParms* CPBEncryptParms::NewL()
+/**
+	This factory function allocates an encryption
+	parameters object with default settings.  The
+	individual settings can be retrieved and modified
+	with the accessor and mutator functions after
+	this object has been created.
+
+	This factory function is provided so that individual
+	parameters can be modified without providing many
+	factory functions.
+
+	@return					New instance of CPBEncryptParms.
+ */
+	{
+	CPBEncryptParms* self = NewLC();
+	CleanupStack::Pop(self);
+	return self;
+	}
+
+EXPORT_C CPBEncryptParms* CPBEncryptParms::NewLC()
+/**
+	Similar to the NewL overload which takes no
+	arguments, this function additionally puts the
+	allocated instance of CPBEncryptParms on the
+	cleanup stack.
+
+	@return					New instance of CPBEncryptParms.
+ */
+	{
+	CPBEncryptParms* self = new(ELeave) CPBEncryptParms;
+	CleanupStack::PushL(self);
+	self->ConstructL();
+	return self;
+	}
+
+void CPBEncryptParms::ConstructL()
+/**
+	Initialize this object with default cipher, kdf (PKCS#5,)
+	salt length, iteration count, and IV.
+ */
+	{
+	iData = new(ELeave) TParamsData;
+	iData->iKdf = EKdfPkcs5;
+	
+	iSalt = HBufC8::NewMaxL(KPBEDefaultSaltBytes);
+	TPtr8 saltDes = iSalt->Des();
+	TRandom::RandomL(saltDes);
+	
+	iIterations = KDefaultIterations;
+	
+	iIV = HBufC8::NewMaxL(KPBEMaxCipherIVBytes);
+	
+	SetCipher(
+			(TCrypto::Strength() == TCrypto::EStrong)
+		?	KPBEDefaultStrongCipher : KPBEDefaultWeakCipher );
+	}
+
+EXPORT_C CPBEncryptParms* CPBEncryptParms::NewL(TPBECipher aCipher,
+	const TDesC8& aSalt, const TDesC8& aIV, TUint aIterations)
+	{
+	CPBEncryptParms* self = NewLC(aCipher, aSalt, aIV, aIterations);
+	CleanupStack::Pop(self);
+	return self;
+	}
+
+EXPORT_C CPBEncryptParms* CPBEncryptParms::NewLC(TPBECipher aCipher,
+	const TDesC8& aSalt, const TDesC8& aIV, TUint aIterations) 
+	{
+	CPBEncryptParms* self = new(ELeave)CPBEncryptParms();
+	CleanupStack::PushL(self);
+	self->ConstructL(aCipher, aSalt, aIV, aIterations);
+	return self;
+	}
+
+EXPORT_C CPBEncryptParms* CPBEncryptParms::NewL(const CPBEncryptParms& aParms)
+	{
+	CPBEncryptParms* self = NewLC(aParms);
+	CleanupStack::Pop(self);
+	return self;
+	}
+
+EXPORT_C CPBEncryptParms* CPBEncryptParms::NewLC(const CPBEncryptParms& aParms)
+	{
+	CPBEncryptParms* self = new(ELeave)CPBEncryptParms();
+	CleanupStack::PushL(self);
+	self->ConstructL(aParms);
+	return self;
+	}
+
+// HPRE-5TDFK2: Remove Store/estor.dll dependency on Cryptography/pbe.dll
+// This method is DUPLICATED in common/generic/syslibs/store/ucrypt/ue_strm.cpp
+EXPORT_C CPBEncryptParms::CPBEncryptParms()
+	{
+	}
+
+// HPRE-5TDFK2: Remove Store/estor.dll dependency on Cryptography/pbe.dll
+// This method is DUPLICATED in common/generic/syslibs/store/ucrypt/ue_strm.cpp
+CPBEncryptParms::~CPBEncryptParms()
+	{
+	delete iData;
+	delete iSalt;
+	delete iIV;	
+	}
+
+void CPBEncryptParms::ConstructL(TPBECipher aCipher, const TDesC8& aSalt,
+	const TDesC8& aIV, TUint aIterations)
+	{
+	iData = new(ELeave) TParamsData;
+	iData->iCipher = aCipher;
+	iData->iKdf = EKdfPkcs5;
+	iSalt = aSalt.AllocL();
+	iIV = aIV.AllocL();
+	iIterations = aIterations;
+	}
+
+void CPBEncryptParms::ConstructL(const CPBEncryptParms& aParms)
+	{
+	iData = new(ELeave) TParamsData;
+	iData->iCipher = aParms.Cipher();
+	iData->iKdf = aParms.iData->iKdf;
+	iSalt = aParms.Salt().AllocL();
+	iIterations = aParms.Iterations();
+	iIV = aParms.IV().AllocL();
+	}
+
+EXPORT_C TPBECipher CPBEncryptParms::Cipher() const
+	{
+	return iData->iCipher;
+	}
+
+EXPORT_C void CPBEncryptParms::SetCipher(TPBECipher aCipher)
+/**
+	Replace the current cipher.  This function resizes the
+	IV and replaces its existing contents.
+	
+	@param	aCipher			New cipher.
+ */
+	{
+	TPtr8 ivDes = iIV->Des();
+	ivDes.SetLength(PBE::GetBlockBytes(aCipher));
+	TRandom::RandomL(ivDes);
+	
+	iData->iCipher = aCipher;
+	}
+
+EXPORT_C CPBEncryptParms::TKdf CPBEncryptParms::Kdf() const
+/**
+	Accessor function returns the key derivation function
+	(KDF) specified by this object.
+
+	@return					KDF specified by this object.
+ */
+	{
+	return iData->iKdf;
+	}
+
+EXPORT_C void CPBEncryptParms::SetKdf(CPBEncryptParms::TKdf aKdf)
+/**
+	Replace the current key derivation function.
+
+	@param	aKdf			Key derivation function.
+ */
+	{
+	iData->iKdf = aKdf;
+	}
+
+EXPORT_C TPtrC8 CPBEncryptParms::Salt() const
+	{
+	return TPtrC8(*iSalt);
+	}
+
+EXPORT_C void CPBEncryptParms::ResizeSaltL(TInt aNewLen)
+/**
+	Resize the current salt and replace its contents.
+
+	@param	aNewLen			New salt length.
+ */
+	{
+	iSalt = iSalt->ReAllocL(aNewLen);
+	TPtr8 saltDes = iSalt->Des();
+	TRandom::RandomL(saltDes);
+	}
+
+EXPORT_C TInt CPBEncryptParms::Iterations() const
+	{
+	return iIterations;
+	}
+
+EXPORT_C void CPBEncryptParms::SetIterations(TInt aIterCount)
+/**
+	Replace the current iteration count with the supplied value.
+	
+	@param	aIterCount		Number of iterations to apply in
+							the KDF.
+ */
+	{
+	ASSERT(aIterCount >= 0);
+	iIterations = aIterCount;
+	}
+
+EXPORT_C TPtrC8 CPBEncryptParms::IV() const
+	{
+	return TPtrC8(*iIV);
+	}
+
+EXPORT_C void CPBEncryptParms::SetIV(const TDesC8& aNewIv)
+/**
+	Replace the initialization vector.
+	
+	@param	aNewIv			New initialization vector length.
+							This must have no more than
+							KPBEMaxCipherIVBytes bytes.
+ */
+	{
+	iIV->Des().Copy(aNewIv);
+	}
+
+void CPBEncryptParms::DeriveKeyL(const TDesC8& aPassword, TDes8& aKeyBuf) const
+/**
+	Derive a key from this object's kdf, salt, amd iteration count.
+	
+	@param	aPassword		User-supplied password used to generate key.
+	@param	aKeyBuf			Buffer to populate with new key.
+							On entry it must be set to the required
+							key length.
+ */
+	{
+	switch (iData->iKdf)
+		{
+	case CPBEncryptParms::EKdfPkcs5:
+		TPKCS5KDF::DeriveKeyL(aKeyBuf, aPassword, *iSalt, iIterations);
+		break;
+	
+	case CPBEncryptParms::EKdfPkcs12:
+		PKCS12KDF::DeriveKeyL(aKeyBuf, PKCS12KDF::EIDByteEncryptKey, aPassword, *iSalt, iIterations);
+		break;
+	
+	default:
+		ASSERT(EFalse);
+		break;
+		}
+	}
+
+/* CPBAuthData */
+
+EXPORT_C CPBAuthData* CPBAuthData::NewL(const TDesC8& aPassword,
+	const TDesC8& aSalt, TUint aKeySize, TUint aIterations)
+	{
+	CPBAuthData* self = NewLC(aPassword, aSalt, aKeySize, aIterations);
+	CleanupStack::Pop(self);
+	return self;
+	}
+
+EXPORT_C CPBAuthData* CPBAuthData::NewLC(const TDesC8& aPassword,
+	const TDesC8& aSalt, TUint aKeySize, TUint aIterations) 
+	{
+	CPBAuthData* self = new(ELeave)CPBAuthData();
+	CleanupStack::PushL(self);
+	self->ConstructL(aPassword, aSalt, aKeySize, aIterations);
+	return self;
+	}
+
+EXPORT_C CPBAuthData* CPBAuthData::NewL(const CPBAuthData& aData)
+	{
+	CPBAuthData* self = NewLC(aData);
+	CleanupStack::Pop(self);
+	return self;
+	}
+
+EXPORT_C CPBAuthData* CPBAuthData::NewLC(const CPBAuthData& aData)
+	{
+	CPBAuthData* self = new(ELeave)CPBAuthData();
+	CleanupStack::PushL(self);
+	self->ConstructL(aData);
+	return self;
+	}
+
+// HPRE-5TDFK2: Remove Store/estor.dll dependency on Cryptography/pbe.dll
+// This method is DUPLICATED in common/generic/syslibs/store/ucrypt/ue_strm.cpp
+EXPORT_C CPBAuthData::CPBAuthData()
+	{
+	}
+
+// HPRE-5TDFK2: Remove Store/estor.dll dependency on Cryptography/pbe.dll
+// This method is DUPLICATED in common/generic/syslibs/store/ucrypt/ue_strm.cpp
+CPBAuthData::~CPBAuthData()
+	{
+	delete iAuthKey;
+	delete iSalt;
+	}
+
+void CPBAuthData::ConstructL(const TDesC8& aPassword, const TDesC8& aSalt, 
+	TUint aKeySize, TUint aIterations)
+	{
+	iSalt = aSalt.AllocL();
+	iIterations = aIterations;
+	iAuthKey = HBufC8::NewMaxL(aKeySize);
+	TPtr8 authKeyPtr = iAuthKey->Des();
+	TPKCS5KDF::DeriveKeyL(authKeyPtr, aPassword, *iSalt, iIterations);
+	}
+
+void CPBAuthData::ConstructL(const CPBAuthData& aData)
+	{
+	iAuthKey = aData.Key().AllocL();
+	iSalt = aData.Salt().AllocL();
+	iIterations = aData.Iterations();
+	}
+
+EXPORT_C TPtrC8 CPBAuthData::Key() const
+	{
+	return TPtrC8(*iAuthKey);
+	}
+
+EXPORT_C TPtrC8 CPBAuthData::Salt() const
+	{
+	return TPtrC8(*iSalt);
+	}
+
+EXPORT_C TInt CPBAuthData::Iterations() const
+	{
+	return iIterations;
+	}
+
+EXPORT_C TBool CPBAuthData::operator==(const CPBAuthData& aAuth) const
+	{
+	//if the key's are equal, the its true, as the other members are used in key derivation
+	return (*iAuthKey == aAuth.Key());
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/pbe/pbefactory.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,115 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+/**
+ @file
+*/
+
+#include <pbebase.h>
+#include <pbe.h>
+
+EXPORT_C CPBEncryptElementBase* TPBEncryptionFactory::NewPBEncryptElementL(
+	const TDesC& aPassword)
+	{
+	CPBEncryptElementBase* encrypt = NewPBEncryptElementLC(aPassword);
+	CleanupStack::Pop();
+	return encrypt;
+	}
+
+EXPORT_C CPBEncryptElementBase* TPBEncryptionFactory::NewPBEncryptElementLC(
+	const TDesC& aPassword)
+	{
+	CPBEncryptElement* encrypt = CPBEncryptElement::NewLC(aPassword);
+	return encrypt;
+	}
+
+EXPORT_C CPBEncryptElementBase* TPBEncryptionFactory::NewPBEncryptElementL(
+	const TDesC& aPassword, const TPBEncryptParms& aEncryptParms)
+	{
+	CPBEncryptElementBase* encrypt = NewPBEncryptElementLC(aPassword,aEncryptParms);
+	CleanupStack::Pop();
+	return encrypt;
+	}
+
+EXPORT_C CPBEncryptElementBase* TPBEncryptionFactory::NewPBEncryptElementLC(
+	const TDesC& aPassword, const TPBEncryptParms& aEncryptParms)
+	{
+	CPBEncryptElement* encrypt = CPBEncryptElement::NewLC(aPassword,
+		aEncryptParms);
+	return encrypt;
+	}
+
+EXPORT_C CPBEncryptElementBase* TPBEncryptionFactory::NewPBEncryptElementL(
+	const TPBEncryptionData& aData)
+	{
+	CPBEncryptElementBase* encrypt = NewPBEncryptElementLC(aData);
+	CleanupStack::Pop();
+	return encrypt;
+	}
+
+EXPORT_C CPBEncryptElementBase* TPBEncryptionFactory::NewPBEncryptElementLC(
+	const TPBEncryptionData& aData)
+	{
+	CPBEncryptElement* encrypt = CPBEncryptElement::NewLC(aData);
+	return encrypt;
+	}
+
+EXPORT_C CPBEncryptSetBase* TPBEncryptionFactory::NewPBEncryptSetL(
+	const TDesC& aPassword)
+	{
+	CPBEncryptSetBase* encrypt = NewPBEncryptSetLC(aPassword);
+	CleanupStack::Pop();
+	return encrypt;
+	}
+
+EXPORT_C CPBEncryptSetBase* TPBEncryptionFactory::NewPBEncryptSetLC(
+	const TDesC& aPassword)
+	{
+	CPBEncryptSet* encrypt = CPBEncryptSet::NewLC(aPassword);
+	return encrypt;
+	}
+
+EXPORT_C CPBEncryptSetBase* TPBEncryptionFactory::NewPBEncryptSetL(
+	const TDesC& aPassword, const TPBEncryptParms& aEncryptParms)
+	{
+	CPBEncryptSetBase* encrypt = NewPBEncryptSetLC(aPassword, aEncryptParms);
+	CleanupStack::Pop();
+	return encrypt;
+	}
+
+EXPORT_C CPBEncryptSetBase* TPBEncryptionFactory::NewPBEncryptSetLC(
+	const TDesC& aPassword, const TPBEncryptParms& aEncryptParms)
+	{
+	CPBEncryptSet* encrypt = CPBEncryptSet::NewLC(aPassword, aEncryptParms);
+	return encrypt;
+	}
+
+EXPORT_C CPBEncryptSetBase* TPBEncryptionFactory::NewPBEncryptSetL(
+	const TPBEncryptionData& aData, const TDesC8& aEncryptedMasterKey)
+	{
+	CPBEncryptSetBase* encrypt = NewPBEncryptSetLC(aData, aEncryptedMasterKey);
+	CleanupStack::Pop();
+	return encrypt;
+	}
+
+EXPORT_C CPBEncryptSetBase* TPBEncryptionFactory::NewPBEncryptSetLC(
+	const TPBEncryptionData& aData, const TDesC8& aEncryptedMasterKey)
+	{
+	CPBEncryptSet* encrypt = CPBEncryptSet::NewLC(aData, aEncryptedMasterKey);
+	return encrypt;
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/pbe/pbencryptor.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,126 @@
+/*
+* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include <e32std.h>
+#include <random.h>
+#include "pbencryptor.h"
+#include "pbesymmetricfactory.h"
+
+EXPORT_C CPBEncryptorElement* CPBEncryptorElement::NewL(
+	const TPBECipher aCipher, const TDesC8& aKey, const TDesC8& aIV)
+	{
+	CPBEncryptorElement* self = NewLC(aCipher, aKey, aIV);
+	CleanupStack::Pop();
+	return self;
+	}
+
+EXPORT_C CPBEncryptorElement* CPBEncryptorElement::NewLC(
+	const TPBECipher aCipher, const TDesC8& aKey, const TDesC8& aIV)
+	{
+	CPBEncryptorElement* self = new(ELeave) CPBEncryptorElement;
+	CleanupStack::PushL(self);
+	self->ConstructL(aCipher, aKey, aIV);
+	return self;
+	}
+
+void CPBEncryptorElement::Process(const TDesC8& aInput, TDes8& aOutput)
+	{
+	iCipher->Process(aInput, aOutput);
+	}
+
+void CPBEncryptorElement::ProcessFinalL(const TDesC8& aInput, TDes8& aOutput)
+	{
+	iCipher->ProcessFinalL(aInput, aOutput);
+	}
+
+void CPBEncryptorElement::ConstructL(const TPBECipher aCipher,
+	const TDesC8& aKey, const TDesC8& aIV)
+	{
+	iCipher = PBE::MakeEncryptorL(aCipher, aKey, aIV);
+	}
+
+CPBEncryptorElement::CPBEncryptorElement()
+	{
+	}
+
+CPBEncryptorElement::~CPBEncryptorElement()
+	{
+	delete iCipher;
+	}
+
+TInt CPBEncryptorElement::MaxOutputLength(TUint aMaxInputLength) const
+	{
+	return iCipher->MaxOutputLength(aMaxInputLength);
+	}
+
+TInt CPBEncryptorElement::MaxFinalOutputLength(TUint aMaxInputLength) const
+	{
+	return iCipher->MaxFinalOutputLength(aMaxInputLength);
+	}
+
+EXPORT_C CPBDecryptorElement* CPBDecryptorElement::NewL(
+	const TPBECipher aCipher, const TDesC8& aKey, const TDesC8& aIV)
+	{
+	CPBDecryptorElement* self = NewLC(aCipher, aKey, aIV);
+	CleanupStack::Pop();
+	return self;
+	}
+
+EXPORT_C CPBDecryptorElement* CPBDecryptorElement::NewLC(
+	const TPBECipher aCipher, const TDesC8& aKey, const TDesC8& aIV)
+	{
+	CPBDecryptorElement* self = new(ELeave) CPBDecryptorElement;
+	CleanupStack::PushL(self);
+	self->ConstructL(aCipher, aKey, aIV);
+	return self;
+	}
+
+void CPBDecryptorElement::Process(const TDesC8& aInput, TDes8& aOutput)
+	{
+	iCipher->Process(aInput, aOutput);
+	}
+
+void CPBDecryptorElement::ProcessFinalL(const TDesC8& aInput, TDes8& aOutput)
+	{
+	iCipher->ProcessFinalL(aInput, aOutput);
+	}
+
+void CPBDecryptorElement::ConstructL(const TPBECipher aCipher, 
+	const TDesC8& aKey, const TDesC8& aIV)
+	{
+	iCipher = PBE::MakeDecryptorL(aCipher, aKey, aIV);
+	}
+
+CPBDecryptorElement::CPBDecryptorElement()
+	{
+	}
+
+CPBDecryptorElement::~CPBDecryptorElement()
+	{
+	delete iCipher;
+	}
+
+TInt CPBDecryptorElement::MaxOutputLength(TUint aMaxInputLength) const
+	{
+	return iCipher->MaxOutputLength(aMaxInputLength);
+	}
+
+TInt CPBDecryptorElement::MaxFinalOutputLength(TUint aMaxInputLength) const
+	{
+	return iCipher->MaxFinalOutputLength(aMaxInputLength);
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/pbe/pbencryptorset.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,217 @@
+/*
+* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include <e32std.h>
+#include <random.h>
+
+#include "pbencryptor.h"
+#include "pbesymmetricfactory.h"
+
+#ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
+/** The maximum block size supported (in bytes) */
+const TUint KMaxBlockSizeSupported = 32;
+#endif
+
+EXPORT_C CPBEncryptorSet* CPBEncryptorSet::NewL(
+	const TPBECipher aCipher, const TDesC8& aKey) 
+	{
+	CPBEncryptorSet* self = NewLC(aCipher, aKey);
+	CleanupStack::Pop();
+	return self;
+	}
+
+EXPORT_C CPBEncryptorSet* CPBEncryptorSet::NewLC(
+	const TPBECipher aCipher, const TDesC8& aKey)
+	{
+	CPBEncryptorSet* self = new(ELeave) CPBEncryptorSet;
+	CleanupStack::PushL(self);
+
+	self->ConstructL(aCipher, aKey);
+	
+	return self;
+	}
+
+void CPBEncryptorSet::ConstructL(const TPBECipher aCipher,const TDesC8& aKey)
+	{
+	TInt blocksize = PBE::GetBlockBytes(aCipher);
+	iIV = HBufC8::NewMaxL(blocksize); 
+	TPtr8 iv = iIV->Des();
+	TRandom::RandomL(iv);
+
+	iCipher = PBE::MakeEncryptorL(aCipher, aKey, iv);
+	}
+
+void CPBEncryptorSet::Process(const TDesC8& aInput, TDes8& aOutput)
+	{
+	if(!iIVSent)
+		{
+		aOutput.Append(*iIV);
+		iIVSent = ETrue;
+		}
+	iCipher->Process(aInput, aOutput);
+	}
+
+void CPBEncryptorSet::ProcessFinalL(const TDesC8& aInput, 
+	TDes8& aOutput)
+	{
+	if(!iIVSent)
+		{
+		aOutput.Append(*iIV);
+		iIVSent = ETrue;
+		}
+	
+	iCipher->ProcessFinalL(aInput, aOutput);
+	}
+
+
+CPBEncryptorSet::CPBEncryptorSet() : iIVSent(EFalse)
+	{
+	}
+
+CPBEncryptorSet::~CPBEncryptorSet()
+	{
+	delete iIV;
+	delete iCipher;	//	Don't delete iCBCDecryptor, this belongs to iCipher
+	}
+
+TInt CPBEncryptorSet::MaxOutputLength(TUint aMaxInputLength) const
+    {
+	if(iIVSent)
+		{
+		return (iCipher->MaxOutputLength(aMaxInputLength));
+		}
+	else 
+		{//	If we've not sent the iv yet then its the length 
+		//	from the cipher plus a blocksize for the iv
+		return (iCipher->MaxOutputLength(aMaxInputLength + iCipher->BlockSize()));
+		}
+    }
+
+TInt CPBEncryptorSet::MaxFinalOutputLength(TUint aMaxInputLength) const
+    {
+	if(iIVSent)
+		{
+		return (iCipher->MaxFinalOutputLength(aMaxInputLength));
+		}
+	else 
+		{//	If we've not sent the iv yet then its the length 
+		//	from the cipher plus a blocksize for the iv
+		return (iCipher->MaxFinalOutputLength(aMaxInputLength + iCipher->BlockSize()));
+		}
+    }
+
+EXPORT_C CPBDecryptorSet* CPBDecryptorSet::NewL(const TPBECipher aCipher, 
+	const TDesC8& aKey)
+	{
+	CPBDecryptorSet* self = NewLC(aCipher, aKey);
+	CleanupStack::Pop();
+	return self;
+	}
+
+EXPORT_C CPBDecryptorSet* CPBDecryptorSet::NewLC(const TPBECipher aCipher,
+	const TDesC8& aKey)
+	{
+	CPBDecryptorSet* self = new(ELeave) CPBDecryptorSet;
+	CleanupStack::PushL(self);
+	TBuf8<KMaxBlockSizeSupported> fakeIV;
+	fakeIV.SetLength(PBE::GetBlockBytes(aCipher));
+	self->ConstructL(aCipher, aKey, fakeIV);
+	return self;
+	}
+
+void CPBDecryptorSet::ConstructL(const TPBECipher aCipher, 
+	const TDesC8& aKey, const TDesC8& aIV)
+	{
+	iCipher = PBE::MakeDecryptorL(aCipher, aKey, aIV);
+	iIVBuf = HBufC8::NewL(PBE::GetBlockBytes(aCipher));
+	}
+
+void CPBDecryptorSet::Process(const TDesC8& aInput, TDes8& aOutput)
+	{
+	TPtrC8 input = ProcessIV(aInput);
+	iCipher->Process(input, aOutput);
+	}
+
+void CPBDecryptorSet::ProcessFinalL(const TDesC8& aInput, TDes8& aOutput)
+	{
+	TPtrC8 input = ProcessIV(aInput);
+	iCipher->ProcessFinalL(input, aOutput);
+	}
+
+TPtrC8 CPBDecryptorSet::ProcessIV(const TDesC8& aInput)
+	{
+	if(!iIVSent)
+		{
+		TPtr8 iIVBufPtr(iIVBuf->Des());
+		if(aInput.Length() + iIVBufPtr.Length() < iCipher->BlockSize())
+			{
+			iIVBufPtr.Append(aInput);
+			return TPtrC8();
+			}
+		else 
+			{
+			TInt rem = iCipher->BlockSize() - iIVBufPtr.Length();
+			iIVBufPtr.Append(aInput.Mid(0, rem));
+			CBufferedDecryptor* blockDecryptor = static_cast<CBufferedDecryptor*>(iCipher);
+			static_cast<CModeCBCDecryptor*>(blockDecryptor->BlockTransformer())->SetIV(iIVBufPtr);
+			iIVSent = ETrue;
+			return aInput.Mid(rem);
+			}
+		}
+	else 
+		{
+		return aInput;
+		}
+	}
+
+CPBDecryptorSet::CPBDecryptorSet() : iIVSent(EFalse)
+	{
+	}
+
+CPBDecryptorSet::~CPBDecryptorSet()
+	{
+	delete iCipher;
+	//iCipher owns iCBCDecryptor we _don't_ need to delete it
+	delete iIVBuf;
+	}
+
+TInt CPBDecryptorSet::MaxOutputLength(TUint aMaxInputLength) const
+    {
+	if(iIVSent)
+		{
+		return (iCipher->MaxOutputLength(aMaxInputLength));
+		}
+	else	//	if we haven't sent the iv yet, then the length the max length of the
+		{	//	cipher minus a BlockSize where the IV was sitting (as the iv would be part
+			//	of the length they've sent us)
+		return (iCipher->MaxOutputLength(aMaxInputLength - iCipher->BlockSize()));
+		}
+    }
+
+TInt CPBDecryptorSet::MaxFinalOutputLength(TUint aMaxInputLength) const
+    {
+	if(iIVSent)
+		{
+		return (iCipher->MaxFinalOutputLength(aMaxInputLength));
+		}
+	else	//	if we haven't sent the iv yet, then the length the max length of the
+		{	//	cipher minus a BlockSize where the IV was sitting (as the iv would be part
+			//	of the length they've sent us)
+		return (iCipher->MaxFinalOutputLength(aMaxInputLength - iCipher->BlockSize()));
+		}
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/pbe/pbeset.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,261 @@
+/*
+* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include <e32std.h>
+#include <random.h>
+#include <pbedata.h>
+#include "pkcs5kdf.h"
+#include "pbencryptor.h"
+#include "pbe.h"
+#include <securityerr.h>
+#include "pbesymmetricfactory.h"
+
+EXPORT_C CPBEncryptSet* CPBEncryptSet::NewL(const TPBPassword& aPassword)
+	{
+	CPBEncryptSet* self = NewLC(aPassword);
+	CleanupStack::Pop();
+	return self;
+	}
+
+EXPORT_C CPBEncryptSet* CPBEncryptSet::NewLC(const TPBPassword& aPassword)
+	{
+	CPBEncryptSet* self = new(ELeave) CPBEncryptSet;
+	CleanupStack::PushL(self);
+	self->ConstructL(aPassword.Password());
+	return self;
+	}
+
+EXPORT_C CPBEncryptSet* CPBEncryptSet::NewL(const TPBPassword& aPassword, 
+	const TPBECipher aCipher)
+	{
+	CPBEncryptSet* self = NewLC(aPassword, aCipher);
+	CleanupStack::Pop();
+	return self;
+	}
+
+EXPORT_C CPBEncryptSet* CPBEncryptSet::NewLC(const TPBPassword& aPassword, 
+	const TPBECipher aCipher)
+	{
+	CPBEncryptSet* self = new(ELeave) CPBEncryptSet;
+	CleanupStack::PushL(self);
+	self->ConstructL(aPassword.Password(), aCipher);
+	return self;
+	}
+
+EXPORT_C CPBEncryptSet* CPBEncryptSet::NewL(const TPBPassword& aPassword,
+	const CPBEncryptParms& aParms)
+	{
+	CPBEncryptSet* self = NewLC(aPassword, aParms);
+	CleanupStack::Pop();
+	return self;
+	}
+
+EXPORT_C CPBEncryptSet* CPBEncryptSet::NewLC(const TPBPassword& aPassword, 
+	const CPBEncryptParms& aParms)
+	{
+	CPBEncryptSet* self = new(ELeave) CPBEncryptSet;
+	CleanupStack::PushL(self);
+	self->ConstructL(aPassword.Password(), aParms);
+	return self;
+	}
+
+EXPORT_C CPBEncryptSet* CPBEncryptSet::NewL(const CPBEncryptionData& aData, 
+	const TDesC8& aEncryptedKey, const TPBPassword& aPassword)
+	{
+	CPBEncryptSet* self = NewLC(aData, aEncryptedKey, aPassword);
+	CleanupStack::Pop();
+	return self;
+	}
+
+EXPORT_C CPBEncryptSet* CPBEncryptSet::NewLC(const CPBEncryptionData& aData,
+	const TDesC8& aEncryptedKey, const TPBPassword& aPassword)
+	{
+	CPBEncryptSet* self = new(ELeave) CPBEncryptSet;
+	CleanupStack::PushL(self);
+	self->ConstructL(aData, aEncryptedKey, aPassword);
+	return self;
+	}
+
+void CPBEncryptSet::ConstructL(const TDesC8& aPassword)
+	{
+	CPBEncryptElement::ConstructL(aPassword);
+	ConstructMasterKeyL();
+	}
+
+void CPBEncryptSet::ConstructL(const TDesC8& aPassword,
+	const TPBECipher aCipher)
+	{
+	CPBEncryptElement::ConstructL(aPassword, aCipher);
+	ConstructMasterKeyL();
+	}
+
+void CPBEncryptSet::ConstructL(const TDesC8& aPassword, 
+	const CPBEncryptParms& aParms)
+	{
+	CPBEncryptElement::ConstructL(aPassword, aParms);
+	ConstructMasterKeyL();
+	}
+
+void CPBEncryptSet::ConstructMasterKeyL(void)
+	{
+	TBuf8<KAESKeyBytes256> masterKey(KAESKeyBytes256);
+	TRandom::RandomL(masterKey);
+	iEncryptedMasterKey = HBufC8::NewL(KAESKeyBytes256);
+	EncryptMasterKeyL(masterKey);
+	}
+
+void CPBEncryptSet::ConstructL(const CPBEncryptionData& aData,
+	const TDesC8& aEncryptedMasterKey, const TPBPassword& aPassword)
+	{
+	CPBEncryptElement::ConstructL(aData, aPassword);
+	iEncryptedMasterKey = aEncryptedMasterKey.AllocL();
+	}
+
+EXPORT_C void CPBEncryptSet::ChangePasswordL(const TPBPassword& aNewPassword)
+	{
+	//1) Decrypt master key with old encrypt key 
+	TBuf8<KPBEMaxCipherKeyBytes> masterKey;
+	DecryptMasterKeyL(masterKey);
+
+	//2) create new encrypt parms
+
+	TBuf8<KPBEMaxSaltBytes> authSalt(KPBEMaxSaltBytes);
+	TRandom::RandomL(authSalt);
+
+	//3) create a totally new CPBEncryptionData representing the new password
+	CPBEncryptionData* newData = CPBEncryptionData::NewL(
+		aNewPassword.Password(), authSalt, iData->EncryptParms());
+
+	delete iData;
+	iData = newData;
+
+	// regenerate the password using a maximum length salt.
+	CPBEncryptParms& epNonConst =
+		const_cast<CPBEncryptParms&>(iData->EncryptParms());
+	epNonConst.ResizeSaltL(KPBEMaxSaltBytes);
+
+	TPtr8 iEncryptKeyBuf(iEncryptKey->Des());
+	iEncryptKeyBuf.SetLength(PBE::GetKeyBytes(iData->EncryptParms().Cipher()));
+	
+	iData->EncryptParms().DeriveKeyL(aNewPassword.Password(), iEncryptKeyBuf);
+
+	//4) Encrypt master key with new encrypt key
+	EncryptMasterKeyL(masterKey);
+	}
+
+EXPORT_C const TDesC8& CPBEncryptSet::EncryptedMasterKey(void) const
+	{
+	return *iEncryptedMasterKey;
+	}
+
+CPBEncryptor* CPBEncryptSet::NewEncryptLC(void) const
+	{
+	CPBEncryptor* encryptor = NewEncryptL();
+	CleanupStack::PushL(encryptor);
+	return encryptor;
+	}
+
+CPBEncryptor* CPBEncryptSet::NewEncryptL(void) const
+	{
+	TBuf8<KPBEMaxCipherKeyBytes> masterKey;
+	DecryptMasterKeyL(masterKey);
+
+	CPBEncryptor* encryptor = 0;
+	//make sure the masterkey we pass is exactly the right length for the cipher
+	encryptor = CPBEncryptorSet::NewL(iData->EncryptParms().Cipher(),
+		masterKey.Left(PBE::GetKeyBytes(iData->EncryptParms().Cipher())));		
+	return encryptor;
+	}
+
+CPBDecryptor* CPBEncryptSet::NewDecryptLC(void) const
+	{
+	CPBDecryptor* decryptor = NewDecryptL();
+	CleanupStack::PushL(decryptor);
+	return decryptor;
+	}
+
+CPBDecryptor* CPBEncryptSet::NewDecryptL(void) const
+	{
+	TBuf8<KPBEMaxCipherKeyBytes> masterKey;
+	DecryptMasterKeyL(masterKey);
+
+	CPBDecryptor* decryptor = 0;
+	//make sure the masterkey we pass is exactly the right length for the cipher
+	decryptor = CPBDecryptorSet::NewL(iData->EncryptParms().Cipher(),
+		masterKey.Left(PBE::GetKeyBytes(iData->EncryptParms().Cipher())));		
+	return decryptor;
+	}
+
+void CPBEncryptSet::DecryptMasterKeyL(TDes8& aMasterKey) const
+	{
+	CPBDecryptorElement* decryptor = CPBDecryptorElement::NewLC(
+		iData->EncryptParms().Cipher(), *iEncryptKey, iData->EncryptParms().IV());
+	aMasterKey.SetLength(0);
+	decryptor->Process(*iEncryptedMasterKey, aMasterKey);
+	CleanupStack::PopAndDestroy(decryptor);
+	}
+
+void CPBEncryptSet::EncryptMasterKeyL(const TDesC8& aMasterKey)
+	{
+	CPBEncryptorElement* encryptor = CPBEncryptorElement::NewLC(
+		iData->EncryptParms().Cipher(), *iEncryptKey, iData->EncryptParms().IV());
+	TPtr8 encryptedMasterKeyBuf(iEncryptedMasterKey->Des());
+	encryptedMasterKeyBuf.SetLength(0);
+	encryptor->Process(aMasterKey, encryptedMasterKeyBuf);
+	CleanupStack::PopAndDestroy(encryptor);
+	}
+
+CPBEncryptSet::CPBEncryptSet()
+	{
+	}
+
+CPBEncryptSet::~CPBEncryptSet()
+	{
+	delete iEncryptedMasterKey;
+	}
+
+// Warning: This function is only valid BEFORE you call NewEncryptL
+// After creating the cipher, ask it about itself, not me!
+// This is _very_ dodgy as I assume all sorts of things about the encryptor.
+// 1) That it uses SSLv3 or similar style padding
+// 2) That it stores the IV for that stream at the front.
+// This is here for specific application that requires this and aren't able to
+// actually construct the cipher and ask it.  In almost all other cases you
+// should construct the cipher and ask it.
+TInt CPBEncryptSet::MaxCiphertextLength(TInt aPlaintextLength) const
+    {
+	TUint blocksize = PBE::GetBlockBytes(iData->EncryptParms().Cipher());
+	TUint padding = blocksize - aPlaintextLength % blocksize;
+	//totallength = blocksize of iv hidden at beginning + inputLength + padding
+	return blocksize + aPlaintextLength + padding;
+    }
+
+// Warning: This function is only valid BEFORE you call NewDecryptL
+// After creating the cipher, ask it about itself, not me!
+TInt CPBEncryptSet::MaxPlaintextLength(TInt aCiphertextLength) const
+    {
+	/*It's impossible to determine anything about how much padding will be
+	 * removed.  So we'll return a max length that is longer than will ever
+	 * happen by at most a blocksize - 1.
+	 */
+	//In all cases SSLv3 padding has at least one byte of padding.
+	TUint blocksize = PBE::GetBlockBytes(iData->EncryptParms().Cipher());
+	//totallength = inputlength - iv hidden at beginning - 1 byte of padding
+    return aCiphertextLength - blocksize - 1;
+    }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/pbe/pbesymmetricfactory.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,245 @@
+/*
+* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include <symmetric.h>
+#include "pbesymmetricfactory.h"
+
+#ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
+
+/** OpenSSL PKCS8 Effective Key Length Compatibility.*/
+const TUint KPkcs8CompatibilityBits = 128;
+
+/** PKCS12 PBE Effective Key Length Compatibility.*/
+const TUint KPkcs12CompatibilityBits = 40;
+
+#endif
+
+TUint PBE::GetBlockBytes(TPBECipher aCipher)
+	{
+	switch(aCipher)
+		{
+		case ECipherAES_CBC_128:
+		case ECipherAES_CBC_192:
+		case ECipherAES_CBC_256:
+			return KAESBlockBytes;
+		case ECipherDES_CBC:
+		case ECipher3DES_CBC:
+
+		case ECipher2Key3DES_CBC: 
+
+			return KDESBlockBytes;
+		case ECipherRC2_CBC_128_16:
+		case ECipherRC2_CBC_40_16:
+		case ECipherRC2_CBC_128:
+		case ECipherRC2_CBC_40:
+
+		case ECipherRC2_CBC_40_5:
+
+			return KRC2BlockBytes;
+
+		case ECipherARC4_128:
+		case ECipherARC4_40:
+			return 1; // 1 byte block for stream cipher
+
+		default:
+			User::Panic(_L("Invalid PBE cipher"), 1);
+		}
+	return (KErrNone); //	For the compiler
+	}
+
+TUint PBE::GetKeyBytes(TPBECipher aCipher)
+	{
+	switch(aCipher)
+		{
+		case ECipherAES_CBC_128:
+			return KAESKeyBytes128;
+		case ECipherAES_CBC_192:
+			return KAESKeyBytes192;
+		case ECipherAES_CBC_256:
+			return KAESKeyBytes256;
+		case ECipherDES_CBC:
+			return KDESKeyBytes;
+		case ECipher3DES_CBC:
+			return K3DESKeyBytes;
+
+		case ECipher2Key3DES_CBC:
+			return K2Key3DESKeyBytes;
+
+ 		case ECipherRC2_CBC_128:
+ 		case ECipherRC2_CBC_128_16:
+			return KRC2KeyBytes128;
+		case ECipherRC2_CBC_40:
+		case ECipherRC2_CBC_40_16:
+
+		case ECipherRC2_CBC_40_5:
+
+			return KRC2KeyBytes40;
+
+		case ECipherARC4_128:
+			return KRC4KeyBytes128;
+		case ECipherARC4_40:	
+			return KRC4KeyBytes40;
+
+		default:
+			User::Panic(_L("Invalid PBE cipher"), 1);
+		}
+	return (KErrNone);	//	For the compiler
+	}
+
+CSymmetricCipher* PBE::MakeEncryptorL(TPBECipher aCipher, const TDesC8& aKey, 
+	const TDesC8& aIV)
+	{
+	CSymmetricCipher* cipher = 0;	
+	CBlockTransformation* block = 0;
+	switch(aCipher)
+		{
+
+		// stream cipher
+		case ECipherARC4_40:
+		case ECipherARC4_128:
+			cipher = CARC4::NewL(aKey, 0);
+			break;	
+
+		// block cipher	
+		case ECipherAES_CBC_128:
+		case ECipherAES_CBC_192:
+		case ECipherAES_CBC_256:
+			block = CAESEncryptor::NewLC(aKey);
+			break;
+
+		case ECipherDES_CBC:
+			block = CDESEncryptor::NewLC(aKey);
+			break;
+			
+		case ECipher3DES_CBC:		
+			block = C3DESEncryptor::NewLC(aKey);
+			break;
+	
+		case ECipher2Key3DES_CBC:
+			{
+			// Construct 3key from 2 key ( copy first key to 3rd key ) each key 8 bytes
+			TBuf8<K3DESKeyBytes>  encryptKey(aKey);			
+			encryptKey.Append(aKey.Ptr(),KDESKeyBytes);
+			block = C3DESEncryptor::NewLC(encryptKey);			
+			break;
+			}
+
+		case ECipherRC2_CBC_40:
+		case ECipherRC2_CBC_128:		
+			block = CRC2Encryptor::NewLC(aKey);
+			break;
+
+		case ECipherRC2_CBC_40_16:
+		case ECipherRC2_CBC_128_16:
+			block = CRC2Encryptor::NewLC(aKey, KPkcs8CompatibilityBits);
+			break;
+
+		case ECipherRC2_CBC_40_5:
+			block = CRC2Encryptor::NewLC(aKey, KPkcs12CompatibilityBits);
+			break;	
+
+		default:
+			User::Panic(_L("Invalid PBE encryptor"), 1);
+		}
+
+	// if aCipher is not stream cipher, create block cipher object
+	if(aCipher != ECipherARC4_40 && aCipher != ECipherARC4_128)
+		{			
+		block = CModeCBCEncryptor::NewL(block, aIV);
+		CleanupStack::Pop(); //1st block owned by 2nd
+		CleanupStack::PushL(block);//2nd block
+		CPadding* padding = CPaddingSSLv3::NewLC(GetBlockBytes(aCipher));
+		cipher = CBufferedEncryptor::NewL(block, padding);
+		CleanupStack::Pop(padding); //owned by cipher
+		CleanupStack::Pop(block); //owned by cipher
+		}
+
+	return cipher;
+	}
+
+
+CSymmetricCipher* PBE::MakeDecryptorL(TPBECipher aCipher, const TDesC8& aKey, 
+	const TDesC8& aIV)
+	{
+	CSymmetricCipher* cipher = 0;
+	CBlockTransformation* block = 0;
+	switch(aCipher)
+		{
+		// stream cipher
+		case ECipherARC4_40:
+		case ECipherARC4_128:
+			cipher = CARC4::NewL(aKey, 0);
+			break;	
+
+		// block cipher	
+		case ECipherAES_CBC_128:
+		case ECipherAES_CBC_192:
+		case ECipherAES_CBC_256:
+			block = CAESDecryptor::NewLC(aKey);
+			break;
+
+		case ECipherDES_CBC:
+			block = CDESDecryptor::NewLC(aKey);
+			break;
+			
+		case ECipher3DES_CBC:		
+			block = C3DESDecryptor::NewLC(aKey);
+			break;
+
+		case ECipher2Key3DES_CBC:
+			{
+			// Construct 3key from 2 key ( copy first key to 3rd key ) each key 8 bytes
+			TBuf8<K3DESKeyBytes>  encryptKey(aKey);			
+			encryptKey.Append(aKey.Ptr(),KDESKeyBytes);
+			block = C3DESDecryptor::NewLC(encryptKey);			
+			break;
+			}
+
+		case ECipherRC2_CBC_40:
+		case ECipherRC2_CBC_128:
+		  	block = CRC2Decryptor::NewLC(aKey);
+			break;
+			
+		case ECipherRC2_CBC_40_16:
+		case ECipherRC2_CBC_128_16:
+		  	block = CRC2Decryptor::NewLC(aKey, KPkcs8CompatibilityBits);
+			break;
+
+		case ECipherRC2_CBC_40_5:
+			block = CRC2Decryptor::NewLC(aKey, KPkcs12CompatibilityBits);
+			break;	
+
+		default:
+			User::Panic(_L("Invalid PBE decryptor"), 1);
+		}
+
+	// if aCipher is not stream cipher, create block cipher object
+	if(aCipher != ECipherARC4_40 && aCipher != ECipherARC4_128)
+		{	
+		block = CModeCBCDecryptor::NewL(block, aIV);
+		CleanupStack::Pop(); //1st block owned by 2nd
+		CleanupStack::PushL(block);//2nd block
+
+		CPadding* padding = CPaddingSSLv3::NewLC(GetBlockBytes(aCipher));
+		cipher = CBufferedDecryptor::NewL(block, padding);
+		CleanupStack::Pop(padding); //owned by cipher
+		CleanupStack::Pop(block); //owned by cipher
+		}
+
+	return cipher;
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/pbe/pbesymmetricfactory.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,72 @@
+/*
+* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* PBE symmetric factory
+*
+*/
+
+
+/**
+ @file 
+ @internalComponent 
+*/
+ 
+#ifndef __PBESYMMETRICFACTORY_H__
+#define __PBESYMMETRICFACTORY_H__
+
+#include <symmetric.h>
+#include <pbe.h>
+
+const TUint KAESBlockBytes = 16;
+const TUint KAESKeyBytes128 = 16;
+const TUint KAESKeyBytes192 = 24;
+const TUint KAESKeyBytes256 = 32;
+
+const TUint KDESBlockBytes = 8;
+const TUint KDESKeyBytes = 8;
+const TUint K3DESKeyBytes = 24;
+
+const TUint K2Key3DESKeyBytes = 16;
+const TUint  KRC4KeyBytes128 = 16;
+const TUint  KRC4KeyBytes40 = 5;
+
+const TUint KRC2BlockBytes = 8;
+const TUint KRC2KeyBytes40 = 5;
+const TUint KRC2KeyBytes128 = 16;
+
+const TPBECipher KPBEDefaultStrongCipher = ECipherAES_CBC_128;
+const TPBECipher KPBEDefaultWeakCipher = ECipherDES_CBC;
+const TUint KPBEDefaultSaltBytes = 16; //pkcs5 recommends min 64 bits (8 bytes);
+
+const TUint KPBEMaxCipherIVBytes = KAESBlockBytes;
+const TUint KPBEMaxCipherKeyBytes = KAESKeyBytes256;
+const TUint KPBEMaxSaltBytes = 16; //pkcs5 recommends min 64 bits (8 bytes);
+
+class PBE
+	{
+public:
+	static TUint GetKeyBytes(TPBECipher aCipher);
+	static TUint GetBlockBytes(TPBECipher aCipher);
+
+	static CSymmetricCipher* MakeEncryptorL(TPBECipher aCipher, 
+		const TDesC8& aKey, const TDesC8& aIV);
+	static CSymmetricCipher* MakeDecryptorL(TPBECipher aCipher, 
+		const TDesC8& aKey, const TDesC8& aIV);
+private:
+	PBE(void);
+	PBE(const PBE&);
+	PBE& operator=(const PBE&);	
+	};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/pkcs12kdf/GenTestDKs.java	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,150 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* This program generates keys with Bouncy Castle for compatibility testing.
+*
+*/
+
+
+import java.security.SecureRandom; 
+import org.bouncycastle.crypto.PBEParametersGenerator;
+import org.bouncycastle.crypto.digests.SHA1Digest;
+import org.bouncycastle.crypto.generators.PKCS12ParametersGenerator;
+import org.bouncycastle.crypto.params.KeyParameter;
+
+public class GenTestDKs
+{
+	public static void main(String[] args)
+	{
+		PKCS12ParametersGenerator pgen = new PKCS12ParametersGenerator(new SHA1Digest());
+
+		// SB.4: key lengths for defined OIDs
+		// (168 for triple DES will first exercise chaining.)
+		final int[] keyLens = {40, 128, 168, 368};
+		
+		// SB.4 iteration count is recommended to be 1024 or more
+		final int[] iterCounts = {1, 2, 4, 8, 128, 1024, 1536, 2048};
+		
+		// SB.4 salt should be same length as hash function output
+		// (=160 bits for SHA1.)
+		byte[][] salts = new byte[3][];
+		salts[0] = new byte[] {'S', 'A', 'L', 'T'};
+		System.out.println("4 byte salt");
+		printByteArray(salts[0]);
+		
+		// calls to nextBytes() are only executed once
+/*		SecureRandom sr;
+		try { sr = SecureRandom.getInstance("SHA1PRNG", "SUN"); }
+		catch (Exception e)
+		{
+			System.err.println("UNABLE TO GET RANDOM SOURCE");
+			return;
+		}
+*/		
+//		salts[1] = new byte[160 / 8];
+//		sr.nextBytes(salts[1]);
+		salts[1] = new byte[]
+		{
+			(byte) 0x1d, (byte) 0x56, (byte) 0x50, (byte) 0x78,
+			(byte) 0xc3, (byte) 0x50, (byte) 0x6f, (byte) 0x89,
+			(byte) 0xbd, (byte) 0xa7, (byte) 0x3b, (byte) 0xb6,
+			(byte) 0xe3, (byte) 0xe5, (byte) 0xb8, (byte) 0xa3,
+			(byte) 0x68, (byte) 0x3d, (byte) 0xd3, (byte) 0x62
+		};
+		System.out.println("20 byte salt (same size as SHA1 output)");
+		printByteArray(salts[1]);
+		
+//		salts[2] = new byte[200 / 8];
+//		sr.nextBytes(salts[2]);
+		salts[2] = new byte[]
+        {
+			(byte) 0xe2, (byte) 0x2c, (byte) 0x7b, (byte) 0x03,
+			(byte) 0x16, (byte) 0x3a, (byte) 0xe5, (byte) 0x47,
+			(byte) 0xf8, (byte) 0x23, (byte) 0x9d, (byte) 0xa4,
+			(byte) 0x0d, (byte) 0x6f, (byte) 0x46, (byte) 0xd7,
+			(byte) 0x9e, (byte) 0xa3, (byte) 0xc6, (byte) 0xff,
+			(byte) 0xb3, (byte) 0xf0, (byte) 0x4e, (byte) 0xbe,
+			(byte) 0x61
+        };
+		System.out.println("25 byte salt");
+		printByteArray(salts[2]);
+		
+		final String passwds[] = {"0000", "0001", "PSWD", "password", "abcdefghijklmnopqrstuvwxyz"}; 
+		
+		for (int keyLenIdx = 0; keyLenIdx < keyLens.length; ++keyLenIdx)
+		{
+			for (int iterIdx = 0; iterIdx < iterCounts.length; ++iterIdx)
+			{
+				for (int saltIdx = 0; saltIdx < salts.length; ++saltIdx)
+				{
+					for (int pwdIdx = 0; pwdIdx < passwds.length; ++pwdIdx)
+					{
+						testKey(pgen, keyLens[keyLenIdx], iterCounts[iterIdx], passwds[pwdIdx], salts[saltIdx]);
+					}	// for (int pwdIdx = 0; pwdIdx < passwds.length; ++pwdIdx)
+				}	// for (int saltIdx = 0; saltIdx < salts.length; ++saltIdx)
+			}	// for (int iterIdx = 0; iterIdx < iterCounts.length; ++iterIdx)
+		}	// for (int keyLenIdx = 0; keyLenIdx < keyLens.length; ++keyLenIdx)
+	}
+	
+	private static void testKey(
+		PKCS12ParametersGenerator pgen,
+		int keyLen, int iterCount, String password, byte[] salt)
+	{
+		System.out.println(
+				"key len = " + keyLen + ", iter count = " + iterCount
+			+	", password = \"" + password + "\", salt len = " + salt.length);
+
+		char[] pwChars = password.toCharArray();
+		byte[] pwBytes = PBEParametersGenerator.PKCS12PasswordToBytes(pwChars);
+		
+		pgen.init(pwBytes, salt, iterCount);
+		KeyParameter kp = (KeyParameter) pgen.generateDerivedParameters(keyLen);
+		printByteArray(kp.getKey());
+	}
+	
+	private static void printByteArray(byte[] a)
+	{
+		final int BLOCK_SIZE = 16;
+		int keyLen = a.length;
+		int rowCount = keyLen / BLOCK_SIZE;
+		if ((keyLen % BLOCK_SIZE) != 0)
+			++rowCount;
+		
+		for (int row = 0; row < rowCount; ++row)
+			{
+			int start = row * BLOCK_SIZE;
+			int end = Math.min(start + BLOCK_SIZE, keyLen);
+			
+			StringBuffer line = new StringBuffer("[" + hexStr(start, 4) + "]");
+			
+			for (int i = start; i < end; ++i)
+				line.append(" " + hexStr(a[i], 2));
+			System.out.println(line);
+			}
+		System.out.println();
+	}
+	
+	private static String hexStr(int val, int width)
+	{
+		StringBuffer result = new StringBuffer();
+		while (--width >= 0)
+		{
+			int bitPos = 4 * width;
+			int nybble = (val & (0xf << bitPos)) >> bitPos;
+			result.append(Integer.toHexString(nybble));
+		}
+		
+		return result.toString();
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/pkcs12kdf/Pkcs12Pbe.java	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,130 @@
+/*
+* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* This program uses the Bouncy Castle APIs PKCS#12 KDF to generate encryption keys + ivs 
+* and mac keys for use with compatibility testing.
+*
+*/
+
+
+package com.symbian.security;
+
+import java.math.BigInteger;
+import java.security.SecureRandom;
+import org.bouncycastle.crypto.PBEParametersGenerator;
+import org.bouncycastle.crypto.digests.SHA1Digest;
+import org.bouncycastle.crypto.generators.PKCS12ParametersGenerator;
+import org.bouncycastle.crypto.CipherParameters;
+import org.bouncycastle.crypto.params.KeyParameter;
+import org.bouncycastle.crypto.params.ParametersWithIV;
+
+public class Pkcs12Pbe {
+	private PKCS12ParametersGenerator pgen;
+
+	public Pkcs12Pbe() {
+		pgen = new PKCS12ParametersGenerator(new SHA1Digest());
+	}
+
+	public static void main(String args[]) {
+		try {
+			if (args.length < 5) {
+				usage();
+				System.exit(-1);
+				
+			}
+			int keyLength = Integer.parseInt(args[0]);
+			int blockSize = Integer.parseInt(args[1]);
+			int iterations = Integer.parseInt(args[2]);
+			String salt = args[3];
+			String password = args[4];		
+			byte[] saltBytes = hexToByteArray(salt);
+	
+			Pkcs12Pbe pbe = new Pkcs12Pbe();
+			pbe.getKey(keyLength, blockSize, iterations, password, saltBytes);			
+		}
+		catch (Exception e) {
+			System.exit(-1);
+		}
+	}
+	
+	private static byte[] hexToByteArray(String hex) throws Exception {
+		if (hex.length() % 2 != 0) {
+			throw new Exception("hexToByteArray: odd number of nibbles");
+		}
+		StringBuffer hexBuffer = new StringBuffer(hex);
+		
+		byte[] byteBuffer = new byte[hexBuffer.length() / 2];
+		for (int i = 0; i < hexBuffer.length(); i+=2) {
+			try {
+				byteBuffer[i / 2] = (byte) Integer.parseInt(hexBuffer.substring(i, i+2), 16);
+			}
+			catch (NumberFormatException e) {
+				System.err.println("hexToByteArray: invalid hex string: " + hex);
+				throw e;
+			}
+		}
+		return byteBuffer;
+	}
+
+	private static void usage() {
+		System.err
+				.println("Usage: pkcs12pbe <key length> <block_size> <iterations> <salt> <password>\n");
+	}
+	
+	private void getKey(int keyLen, int ivLen, int iterCount, String password,
+			byte[] salt) {
+		System.out.print("key len = " + keyLen + ", iter count = "
+				+ iterCount + ", password = \"" + password + "\", salt = ");		
+		printUnformattedByteArray(salt);
+
+		char[] pwChars = password.toCharArray();
+		byte[] pwBytes = PBEParametersGenerator.PKCS12PasswordToBytes(pwChars);
+
+		pgen.init(pwBytes, salt, iterCount);
+		CipherParameters cp = pgen.generateDerivedParameters(keyLen, ivLen);
+
+		ParametersWithIV ivp = (ParametersWithIV) cp;
+		KeyParameter kp = (KeyParameter) ivp.getParameters();
+
+		System.out.print("key ");
+		printUnformattedByteArray((kp.getKey()));
+		System.out.print("iv ");
+		printUnformattedByteArray(ivp.getIV());
+
+		kp = (KeyParameter) pgen.generateDerivedMacParameters(160);
+		System.out.print("160bit hmac key ");
+		printUnformattedByteArray((kp.getKey()));
+
+	}
+
+	// unformatted hex strings that can be passed as arguments to openssl
+	private void printUnformattedByteArray(byte[] a) {
+		StringBuffer line = new StringBuffer();
+		
+		for (int i = 0; i < a.length; i++) {
+			line.append(hexStr(a[i], 2));
+		}
+		System.out.println(line);
+	}	
+
+	private String hexStr(int val, int width) {
+		StringBuffer result = new StringBuffer();
+		while (--width >= 0) {
+			int bitPos = 4 * width;
+			int nybble = (val & (0xf << bitPos)) >> bitPos;
+			result.append(Integer.toHexString(nybble));
+		}
+		return result.toString();
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/pkcs12kdf/pkcs12kdf.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,274 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include <hash.h>
+#include <bigint.h>
+#include "pkcs12kdf.h"
+
+
+EXPORT_C HBufC8* PKCS12KDF::GeneratePasswordLC(const TDesC& aDes)
+/**
+	Convert the supplied string to a byte string, as described
+	in SB.1 of the PKCS 12 v1.0.
+	
+	Each character is converted to a big endian two-byte value,
+	and a terminating NULL character is appended to the end.
+	
+	@param	aDes			String to use as password.
+ */
+	{
+	const TInt len = aDes.Length();
+	HBufC8* pwdBytes = HBufC8::NewMaxLC((len + 1) * 2);
+	TPtr8 pbDes = pwdBytes->Des();
+	
+	TInt i = 0;
+	while (i < len)
+		{
+		TUint16 ch = aDes[i];
+		pbDes[i * 2] = ch >> 8;
+		pbDes[(i * 2) + 1] = ch;
+		++i;
+		}
+	pbDes[i * 2] = pbDes[(i * 2) + 1] = 0;
+	
+	return pwdBytes;
+	}
+
+static TInt CeilDiv(TInt aNumerator, TInt aDenominator)
+/**
+	Utility function returns ceil(aNumerator / aDenominator).
+
+	@param	aNumerator		The numerator.
+	@param	aDenominator	Denominator, which cannot be zero.
+	@return					ceil(aNumerator / aDenominator)
+ */
+	{
+	TInt result = aNumerator / aDenominator;
+	if ((aNumerator % aDenominator) > 0)
+		++result;
+	return result;
+	}
+
+EXPORT_C void PKCS12KDF::DeriveKeyL(
+	TDes8& aKey, TIDByteType aIDType,
+	const TDesC8& aPasswd, const TDesC8& aSalt, const TUint aIterations)
+/**
+	Generate a key for the supplied password and salt.
+	This implementation uses SHA1 as the hashing algorithm.
+	
+	@param	aKey			Descriptor which will hold key.  On entry
+							its length must be set to the expected key length.
+	@param	aIDType			Whether this function is being called to generate
+							an (en|de)cryption key, an initialization vector,
+							or a key for MAC-ing.  See SB.3 of spec.
+	@param	aPasswd			Password string.  To comply with PKCS#12 spec,
+							this must have 2-byte big-endian characters with
+							a terminating null character.
+	@param	aSalt			Used with aPasswd to generate key.
+	@param	aIterations		Number of times to call the hash function for
+							each block in the key.
+	
+	@panic	PKCS#12 16		Password is empty (debug only.)
+	@panic	PKCS#12 17		Password does not contain an even number of bytes,
+							and so can't use double-byte characters (debug only.)
+	@panic	PKCS#12 18		The final two-byte character is not a null terminator,
+							or a null terminator occurs before the end (debug only.)
+ */
+	{
+	__ASSERT_DEBUG(aPasswd.Length() >= 2, Panic(EDKEmptyPswd));
+	__ASSERT_DEBUG((aPasswd.Length() % 2) == 0, Panic(EDKOddPswdByteCount));
+	TInt useCharCount = aPasswd.Length() / 2;
+	TPtrC16 pswd16(reinterpret_cast<const TUint16*>(aPasswd.Ptr()), useCharCount);
+	TInt nullPos = pswd16.Locate(L'\0');
+	__ASSERT_DEBUG(nullPos == (useCharCount - 1), Panic(EDKBadNullTerminator));
+
+	// use the same notation as the standard
+	const TUint8 ID = static_cast<TUint8>(aIDType);
+	const TInt u = 160;					// chaining variable length for SHA-1
+	const TInt v = 512;					// message input length for SHA-1
+	const TInt n = aKey.Length() * 8;	// number of bits required in key
+	const TInt p = aPasswd.Length();
+	const TInt s = aSalt.Length();
+	const TInt r = aIterations;
+	
+	// (numbered steps are from the standard)
+	// 1. Construct a string, D (the "diversifier"), by concatenating
+	// v/8 copies of ID.
+	const TInt D_LEN = v / 8;
+	HBufC8* D_ = HBufC8::NewMaxLC(D_LEN);
+	TPtr8 D = D_->Des();
+	D.Fill(ID);
+	
+	// 2. Concatenate copies of the salt together to create a string S
+	// of length v * ceil(s/v) bits (the final copy of the salt may be
+	// truncated to create S).  Note that if the salt is the empty string,
+	// then so is S.
+	const TInt S_OVER_V_CEIL = CeilDiv(s, v);
+	const TInt S_LEN = (v * S_OVER_V_CEIL) / 8;
+	HBufC8* S_ = HBufC8::NewMaxLC(S_LEN);
+	TPtr8 S = S_->Des();
+	S.Repeat(aSalt);
+	
+	// 3. Concatenate copies of the password together to create a string P
+	// of length v * ceil(p/v) bits (the final copy of the password may be
+	// truncated to create P).  Note that if the password is the empty string
+	// then so is P.
+	const TInt P_OVER_V_CEIL = CeilDiv(p, v);
+	const TInt P_LEN = (v * P_OVER_V_CEIL) / 8;
+	HBufC8* P_ = HBufC8::NewMaxLC(P_LEN);
+	TPtr8 P = P_->Des();
+	P.Repeat(aPasswd);
+	
+	// 4. Set I=S||P to be the concatenation of S and P.
+	const TInt I_LEN = S_LEN + P_LEN;
+	HBufC8* I_ = HBufC8::NewLC(I_LEN);
+	TPtr8 I = I_->Des();
+	I.Copy(S);
+	I.Append(P);
+	
+	// 5. Set c=ceil(n/u).
+	const TInt c = CeilDiv(n, u);
+	
+	// ahead 7: allocate result buffer A
+	// (Each Ai has SHA1_HASH bytes.)
+	HBufC8* A_ = HBufC8::NewLC(c * SHA1_HASH);
+	TPtr8 A = A_->Des();
+	
+	// 6. For i=1, 2, ..., c, do the following
+	
+	// pre-allocate SHA1 object, DI, and B buffers
+	CSHA1* sha1 = CSHA1::NewL();
+	CleanupStack::PushL(sha1);
+	
+	const TInt DI_LEN = D_LEN + I_LEN;
+	HBufC8* DI_ = HBufC8::NewLC(DI_LEN);
+	TPtr8 DI = DI_->Des();
+	
+	const TInt B_LEN = v / 8;
+	HBufC8* B_ = HBufC8::NewMaxLC(B_LEN);
+	TPtr8 B = B_->Des();
+	
+	for (TInt i = 1; i <= c; ++i)
+		{
+		// 6a) Set Ai = H^r(D||I).  (i.e. the rth hash of D||I,
+		// H(H(H(...H(D||I))))
+		DI.Copy(D);
+		DI.Append(I);
+		
+		sha1->Reset();
+		TBuf8<SHA1_HASH> Ai(sha1->Final(DI));
+		
+		for (TInt iterCount = 2; iterCount <= r; ++iterCount)
+			{
+			Ai.Copy(sha1->Final(Ai));
+			}
+		
+		// 6b) Concatenate copies of Ai to create a string B of length
+		// v bits (the final copy of Ai may be truncated to create B).
+		B.Repeat(Ai);
+		
+		// 6c) Treating I as a concatenation I0, I1, ..., Ik-1 of
+		// v-bit blocks, where k=ceil(s/v)+ceil(p/v), modify I by
+		// setting Ij=(Ij+B+1) mod 2^v for each j.
+
+		const TInt k = S_OVER_V_CEIL + P_OVER_V_CEIL;
+		for (TInt j = 0; j < k; ++j)
+			{
+			TPtr8 section = I.MidTPtr((v/8) * j, v/8);
+			Process6cL(section, B, v);
+			}
+		
+		// 7. Concatenate A1, A2, ..., Ac together to form a pseudo-random
+		// bit string, A.
+		A.Append(Ai);
+		
+		// stop building A if already have enough bits for key
+		if (A.Length() >= n / 8)
+			break;
+		}
+
+	// Use the first n bits of A as the output of this entire process.
+	aKey.Copy(A.Left(n / 8));
+	
+	CleanupStack::PopAndDestroy(8, D_);	// B_, DI_, sha1, A_, I_, P_, S_, D_
+	}
+
+void PKCS12KDF::Process6cL(TDes8& Ij, const TDesC8& B, TInt v)
+/**
+	Helper function for DeriveKeyL modifies part of I,
+	as described in step 6c of SB.2.
+	
+	@param	Ij		Section of I (S || P).
+	@param	B		rth hash of D || I.
+	@param	v		Number of bits to preserve in result.
+ */
+	{
+	// 6c) Treating I as a concatenation I0, I1, ..., Ik-1 of
+	// v-bit blocks, where k=ceil(s/v)+ceil(p/v), modify I by
+	// setting Ij=(Ij+B+1) mod 2^v for each j.
+	
+	RInteger RI_Ij = RInteger::NewL(Ij);
+	TCleanupItem ciIj = RI_Ij;
+	CleanupStack::PushL(ciIj);
+	
+	RInteger RI_B = RInteger::NewL(B);
+	TCleanupItem ciB = RI_B;
+	CleanupStack::PushL(ciB);
+	
+	// these additions can leave
+	RI_Ij += RI_B;
+	RI_Ij += 1;
+	
+	HBufC8* result = RI_Ij.BufferLC();
+	
+	Ij.Zero();
+	TInt resultLen = result->Length();
+	
+	TInt bytesToPreserve = v / 8;
+	TInt leadingZeroes = bytesToPreserve - resultLen;
+	if (leadingZeroes <= 0)
+		Ij.Copy(result->Right(bytesToPreserve));
+	else
+		{
+		Ij.FillZ(leadingZeroes);
+		Ij.Append(*result);
+		}
+	
+	CleanupStack::PopAndDestroy(3, &RI_Ij);	// result, ciB, ciIj
+	}
+
+#ifdef _DEBUG
+
+void PKCS12KDF::Panic(PKCS12KDF::TPanic aPanic)
+/**
+	This function is used in debug builds to halt
+	the current thread when a logic error is detected.
+	
+	The current thread is panicked with category "PKCS12KDF"
+	and the supplied reason.
+	
+	@param	aPanic			Converted to numeric value and
+							used for the panic reason.
+ */
+	{
+	_LIT(KPanicCat, "PKCS12KDF");
+	User::Panic(KPanicCat, aPanic);
+	}
+
+#endif
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/pkcs5kdf/pkcs5kdf.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,115 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+/**
+ @file
+*/
+
+#include "pkcs5kdf.h"
+
+/* Before complaining about the variable names in this file, 
+ * read the pkcs5 spec and all will become clear.
+ */
+
+EXPORT_C void TPKCS5KDF::DeriveKeyL(TDes8& aKey, const TDesC8& aPasswd, const TDesC8& aSalt, 
+	const TUint aIterations)
+{
+	CSHA1* sha1 = CSHA1::NewL();
+	CleanupStack::PushL(sha1);
+	CHMAC* hmac = CHMAC::NewL(aPasswd, sha1);
+	CleanupStack::Pop(sha1); //hmac now owns it
+	CleanupStack::PushL(hmac);
+
+	TUint hashBytes = hmac->HashSize();
+	TUint c = aIterations;
+	TUint l = aKey.Length() / hashBytes; 
+	if(aKey.Length() % hashBytes != 0) //round up if mod !=0
+		{
+		l+=1;
+		}
+	TUint r = aKey.Length() - (l-1) * hashBytes; //r == length of last block
+	
+	HBufC8* TiTemp = HBufC8::NewLC(hashBytes);
+	TUint32* Ti = (TUint32*)(TiTemp->Ptr());
+	aKey.SetLength(0); //we've already saved the length we want
+
+	HBufC8* STemp = HBufC8::NewLC(aSalt.Length() + sizeof(TUint32));
+	TUint32* S = (TUint32*)(STemp->Ptr());
+
+	HBufC8* UiTemp = HBufC8::NewLC(hashBytes);
+	TUint32* Ui = (TUint32*)(UiTemp->Ptr());
+
+	const TUint32* salt = (TUint32*)(aSalt.Ptr());
+	TUint saltBytes = aSalt.Length();
+
+	for(TUint i = 1; i<=l; i++)
+		{
+		F(*hmac, Ti, S, Ui, hashBytes, salt, saltBytes, c, i);
+		if(i == l)
+			aKey.Append((TUint8*)Ti, r);
+		else 
+			aKey.Append((TUint8*)Ti, hashBytes);
+		}
+
+	CleanupStack::PopAndDestroy(UiTemp);
+	CleanupStack::PopAndDestroy(STemp);
+	CleanupStack::PopAndDestroy(TiTemp);
+	CleanupStack::PopAndDestroy(hmac);
+	}
+
+void TPKCS5KDF::F(CMessageDigest& aDigest, TUint32* aAccumulator, 
+	TUint32* S, TUint32* Ui, TUint aHashBytes, const TUint32* aSalt, 
+	TUint aSaltBytes, TUint c, TUint i)
+	{
+	TUint8 itmp[4];
+	itmp[0] = (TUint8)((i >> 24) & 0xff);
+	itmp[1] = (TUint8)((i >> 16) & 0xff);
+	itmp[2] = (TUint8)((i >> 8) & 0xff);
+	itmp[3] = (TUint8)(i & 0xff);
+	TUint8* endOfS = Mem::Copy(S, aSalt, aSaltBytes);
+	Mem::Copy((TUint32*)endOfS, (TUint32*)&itmp, 4);
+
+	TPtr8 sptr((TUint8*)S, aSaltBytes+4);
+	sptr.SetLength(aSaltBytes+4);
+	Mem::Copy(aAccumulator, (TUint32*)((aDigest.Final(sptr)).Ptr()),aHashBytes);
+	Mem::Copy(Ui, aAccumulator, aHashBytes);
+
+	for(TUint j=1; j<c; j++)
+		{
+		TPtr8 uiptr((TUint8*)Ui, aHashBytes);
+		uiptr.SetLength(aHashBytes);
+		Mem::Copy(Ui, (TUint32*)((aDigest.Final(uiptr)).Ptr()), aHashBytes);
+		XORString(Ui, aAccumulator, aHashBytes);
+		}
+	}
+
+inline void TPKCS5KDF::XORString(const TUint32* aOp1, TUint32* aOp2,
+	TUint aLength)
+	{
+	const TUint32* i = aOp1;
+
+	//this will overflow the whole final word if aLength % 4 != 0 
+	//but I can't see this mattering cuz all memory allocation is on a word by word basis
+	//i don't want to do this byte by byte as it'll be way slower
+	//also, every sane digest is going to be a multiple of 4 -- so this isn't a problem
+	for( ; aOp1 != (TUint32*)((TUint8*)i + aLength); )
+		{
+			*aOp2++ ^= *aOp1++;	
+		}
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/random/random.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,183 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* (c) 1999-2003 Symbian Ltd
+*
+*/
+
+
+/**
+ @file
+*/
+
+#include <e32std.h>
+#include <random.h>
+#include <hash.h>
+#include <e32math.h>
+#include "randsvr.h"
+#include "randcliserv.h"
+
+_LIT(KRandomServerImg,"z:\\system\\libs\\randsvr.exe");		// DLL/EXE name
+_LIT(KRandomServerConnect, "Randsvr connect");
+_LIT(KRandomServerGet, "Randsvr get");
+
+const TUid KServerUid3={0x100066dc};
+
+extern "C" {
+EXPORT_C void RAND_bytes(unsigned char* buf,int bytes)
+	{
+	TPtr8 ptr(buf,bytes,bytes);
+	buf[0]++;
+	TRandom::Random(ptr);
+	}
+}
+
+EXPORT_C CRandom::CRandom(void)
+	{
+	}
+
+EXPORT_C CSystemRandom* CSystemRandom::NewL(void)
+	{
+	CSystemRandom* self = new(ELeave)CSystemRandom();
+	return self;
+	}
+
+EXPORT_C CSystemRandom* CSystemRandom::NewLC(void)
+	{
+	CSystemRandom* self = NewL();
+	CleanupStack::PushL(self);
+	return self;
+	}
+
+void CSystemRandom::GenerateBytesL(TDes8& aDest)
+	{
+	TRandom::RandomL(aDest);
+	}
+
+CSystemRandom::CSystemRandom(void)
+	{
+	}
+
+EXPORT_C void TRandom::Random(TDes8& aDestination)
+	{
+	RRandomSession rs;
+	TRAPD(ret,rs.ConnectL());
+	if (ret)
+		{
+		User::Panic(KRandomServerConnect, ret);
+		}
+	TInt err=rs.GetRandom(aDestination);
+	if (err)
+		{
+		User::Panic(KRandomServerGet, err);
+		}
+	rs.Close();
+	}
+
+EXPORT_C void TRandom::RandomL(TDes8& aDestination)
+	{
+	RRandomSession rs;
+	TRAPD(ret,rs.ConnectL());
+	User::LeaveIfError(ret);
+	CleanupClosePushL(rs);
+
+	TInt err=rs.GetRandom(aDestination);
+	User::LeaveIfError(err);
+
+	CleanupStack::PopAndDestroy(); // rs
+	}
+
+EXPORT_C RRandomSession::RRandomSession(void)
+	{
+	}
+
+static TInt StartServer()
+// Borrowed from AndrewT's server startup code.
+// Start the server process/thread which lives in an EPOCEXE object
+//
+	{
+	
+	const TUidType serverUid(KNullUid,KNullUid,KServerUid3);
+
+	//
+	// EPOC and EKA2 is easy, we just create a new server process. Simultaneous
+	// launching of two such processes should be detected when the second one
+	// attempts to create the server object, failing with KErrAlreadyExists.
+	//
+	RProcess server;
+	TInt r=server.Create(KRandomServerImg, KNullDesC, serverUid);
+
+	if (r!=KErrNone)
+		return r;
+	TRequestStatus stat;
+	server.Rendezvous(stat);
+	if (stat!=KRequestPending)
+		server.Kill(0);		// abort startup
+	else
+		server.Resume();	// logon OK - start the server
+	User::WaitForRequest(stat);		// wait for start or death
+	// we can't use the 'exit reason' if the server panicked as this
+	// is the panic 'reason' and may be '0' which cannot be distinguished
+	// from KErrNone
+	r=(server.ExitType()==EExitPanic) ? KErrGeneral : stat.Int();
+	server.Close();
+	return r;
+
+	}
+
+EXPORT_C void RRandomSession::ConnectL(void)
+	{
+	TInt retry=2;
+	for (;;)
+		{
+		TInt r=CreateSession(KRandomServerName,TVersion(0,0,0),1);
+		if (r!=KErrNotFound && r!=KErrServerTerminated)
+			   User::Leave(r);
+		if (--retry==0)
+			User::Leave(r);
+		r=StartServer();
+		if (r!=KErrNone && r!=KErrAlreadyExists)
+			User::Leave(r);
+		}
+	}
+
+EXPORT_C TInt RRandomSession::GetRandom(TDes8& aDestination)
+	{
+	if (aDestination.Length()<KRandomBlockSize)
+		{
+		return SendReceive(CRandomSession::KRandomRequest,
+		                   TIpcArgs(&aDestination, aDestination.Length()));
+		}
+	else
+		{
+		TInt i;
+		TInt err=KErrNone;
+		TInt length=aDestination.Length();
+		for (i=0;(i+KRandomBlockSize)<length;i+=KRandomBlockSize)
+			{
+			TPtr8 buffer(&aDestination[i],KRandomBlockSize,KRandomBlockSize);
+			err=SendReceive(CRandomSession::KRandomRequest,
+			 				TIpcArgs(&buffer, KRandomBlockSize));
+			if (err)
+				{
+				return err;
+				}
+			}
+		TPtr8 buffer(&aDestination[i],length%KRandomBlockSize,KRandomBlockSize);
+		err=SendReceive(CRandomSession::KRandomRequest,
+						TIpcArgs(&buffer, length-i));
+		return err;
+		}
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/random/randsvr.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,256 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+/**
+ @file
+*/
+
+#include "randsvr.h"
+#include "randcliserv.h"
+#include <e32math.h>
+#include "randsvrimpl.h"
+
+
+//const TInt KFastTickTimer=1000000;			// These are testing numbers!
+//const TInt KSlowTickTimer=30000000;
+const TInt KThreshold=1024;
+
+const TInt KFastTickTimer=30000000;			// These are the real numbers!
+const TInt KSlowTickTimer=0x7fffffff;
+
+
+void SignalClient()
+//
+// Signal the owning thread that the server has started successfully
+// This may itself fail
+//
+	{
+	RProcess::Rendezvous(KErrNone);
+	}
+
+
+EXPORT_C TInt RunRandomServer(TAny* /*aUnused*/)
+	{
+	CTrapCleanup* cleanup=CTrapCleanup::New();
+	if (!cleanup)
+		{
+		return KErrNoMemory;
+		}
+
+	TInt ret = User::RenameThread(KRandomServerName);
+
+	__ASSERT_ALWAYS(ret==KErrNone,User::Panic(KRandomServerName,KErrServerTerminated));
+
+	if (CRandomScheduler::New())
+		return KErrNoMemory;
+	ret = CRandomServer::New();
+	if (ret != KErrNone )
+		return ret;
+	// Initialisation complete, now signal the client
+	SignalClient();
+	
+	CRandomScheduler::Start();
+	delete cleanup;
+	return KErrNone;
+	}
+
+TBool CRandomScheduler::New(void)
+	{
+	CRandomScheduler* rs;
+	rs=new CRandomScheduler;
+	CRandomScheduler::Install(rs);
+	return (rs == NULL);
+	}
+
+void CRandomScheduler::Error(TInt /*aError*/) const 
+	{
+	User::Panic(KRandomServerName, 3);
+	}
+
+CRandomServer::CRandomServer(void) : CServer2(EPriorityLow)
+	{
+	}
+
+CRandomServer::~CRandomServer(void)
+	{
+	// This should never happen....but in case it does:
+	delete iHash;
+	delete iTicker;
+	delete iPool;
+	}
+
+TInt CRandomServer::New(void)
+	{
+	CRandomServer* self;
+	self=new CRandomServer;
+	if (!self)
+		{
+		return KErrNoMemory;
+		}
+	TRAPD(ret,self->ConstructL());
+	if (ret)
+		{
+		return ret;
+		}
+	
+	return self->Start(KRandomServerName);
+	}
+
+void CRandomServer::ConstructL(void)
+	{
+	iPool=new (ELeave) TUint8[KRandomPoolSize];
+	iHash=CSHA1::NewL();
+	iPoolIn=0;
+	iPoolOut=0;
+	iTicker=CPeriodic::NewL(EPriorityLow);
+	TCallBack callback(Tick,this);
+	iTicker->Start(KFastTickTimer,KFastTickTimer,callback);		// **** these figures might need tweaking!
+	iQuality=0;
+	iFast=ETrue;
+	}
+
+TInt CRandomServer::Tick(TAny* aServer)
+	{
+	CRandomServer* svr=(CRandomServer*)aServer;
+	svr->Stir();
+	svr->iQuality+=30;
+	if (svr->iFast)
+		{
+		if (svr->iQuality>KThreshold)
+			{
+			TCallBack callback(Tick,svr);
+			svr->iTicker->Cancel();
+			svr->iTicker->Start(KSlowTickTimer,KSlowTickTimer,callback);		// **** these figures might need tweaking!
+			svr->iFast=EFalse;
+			}
+		}
+	if (svr->iQuality>(KRandomPoolSize<<3))
+		{
+		svr->iQuality=(KRandomPoolSize<<3);
+		}
+	return ETrue;
+	}
+
+CSession2* CRandomServer::NewSessionL(const TVersion& /*aVersion*/, const RMessage2& /*aMessage*/) const
+	{
+	return CRandomSession::NewL(const_cast<CRandomServer*>(this));
+	//CRandomSession::NewL(CONST_CAST(CRandomServer*,this),Message().Client());
+	}
+
+TPtrC8 CRandomServer::GetRandom(void)
+	{
+	TPtr8 res(&iPool[iPoolOut],iHash->HashSize(),iHash->HashSize());
+	iPoolOut+=iHash->HashSize();
+	if ((iPoolOut+iHash->HashSize())>KRandomPoolSize)
+		{
+		iPoolOut=0;
+		}
+	return iHash->Hash(res);
+	}
+
+CMessageDigest* CRandomServer::Hash(void) const
+	{
+	return iHash;
+	}
+
+void CRandomServer::Stir(void) 
+	{
+	TInt rnd;
+	rnd=Math::Random();
+	TPtrC8 r((TUint8*)&rnd,sizeof(TInt));
+	iHash->Hash(r);
+	TPtr8 dest(&iPool[iPoolIn],iHash->HashSize());
+	dest.Copy(iHash->Hash(dest));
+	iPoolIn+=iHash->HashSize();
+	if ((iPoolIn+iHash->HashSize())>KRandomPoolSize)
+		{
+		iPoolIn=0;
+		}
+	}
+
+CRandomSession* CRandomSession::NewL(CRandomServer* aServer)
+	{
+	CRandomSession* self;
+	self=new (ELeave) CRandomSession(aServer);
+	return self;
+	}
+
+CRandomSession::CRandomSession(CRandomServer* aServer) : CSession2(), iServer(aServer)
+	{
+	}
+
+CRandomSession::~CRandomSession(void)
+	{
+	}
+
+void CRandomSession::ServiceL(const RMessage2& aMessage)
+	{
+	switch (aMessage.Function())
+		{
+	case KRandomRequest:
+		{
+		TInt ret = FillBuffer(aMessage);
+		aMessage.Complete(ret);
+		break;
+		}
+	default:
+		aMessage.Complete(KErrNotSupported);
+		break;
+		};
+	}
+
+TInt CRandomSession::FillBuffer(const RMessage2& aMessage)
+	{
+	TInt length = aMessage.Int1();
+	if (length < 0 || length > KRandomBlockSize)
+		return KErrArgument;
+	iServer->iQuality -= length;
+	if (iServer->iQuality<0)
+		{
+		iServer->iQuality=0;
+		}
+	if (!iServer->iFast)
+		{
+		if (iServer->iQuality<KThreshold)
+			{
+			TCallBack callback(CRandomServer::Tick,iServer);
+			iServer->iTicker->Cancel();
+			iServer->iTicker->Start(KFastTickTimer,KFastTickTimer,callback);		// **** these figures might need tweaking!
+			iServer->iFast=ETrue;
+			}
+		}
+	TBuf8<KRandomBlockSize> buf(0);
+	iServer->Stir();
+	TInt i;
+	TInt hashsize=iServer->Hash()->HashSize();
+	for (i=0; i+hashsize < length; i+=hashsize)
+		{
+		buf.Append(iServer->GetRandom());
+		iServer->Stir();
+		}
+	TPtrC8 ptr(iServer->GetRandom().Ptr(), length-i);
+	buf.Append(ptr);
+	
+	TRAPD(ret, aMessage.WriteL(0, buf));
+	return ret;
+	}
+
+GLDEF_C TInt E32Main(void)
+	{
+	return RunRandomServer(NULL);
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/random/threadrandom.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,65 @@
+/*
+* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include <random.h>
+
+_LIT(KThreadRandom, "threadrandom.cpp");
+
+EXPORT_C void SetThreadRandomL(CRandom* aRNG)
+	{
+	User::LeaveIfError(Dll::SetTls(aRNG));	
+	}
+
+EXPORT_C void SetThreadRandomLC(CRandom* aRNG)
+	{
+	CleanupStack::PushL(aRNG);
+	SetThreadRandomL(aRNG);
+	//This pop before the push isn't a problem as the PushL can't fail. 
+	//We just did a push before this and thus there is enough room on the
+	//cleanupstack such that OOM is not possible.
+	CleanupStack::Pop(aRNG);
+	CleanupStack::PushL(TCleanupItem(&DeleteThreadRandom, Dll::Tls()));
+	}
+
+void DeleteThreadRandom(TAny* aPtr)
+	{
+	CRandom* random = reinterpret_cast<CRandom*>(aPtr);
+	delete random;
+	TInt result = Dll::SetTls(0);
+	__ASSERT_ALWAYS(result == 0, User::Panic(KThreadRandom, 1));
+	}
+
+EXPORT_C void DestroyThreadRandom(void)
+	{
+	delete (CRandom*)(Dll::Tls());
+	TInt result = Dll::SetTls(0);
+	__ASSERT_ALWAYS(result == 0, User::Panic(KThreadRandom, 1));
+	}
+
+EXPORT_C void GenerateRandomBytesL(TDes8& aDest)
+	{
+	TAny* tls = Dll::Tls();
+	if(tls)
+		{
+		((CRandom*)tls)->GenerateBytesL(aDest);
+		}
+	else
+		{
+		TRandom::RandomL(aDest);
+		}
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/symmetric/3des.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,138 @@
+/*
+* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include "3des.h"
+#include "../common/inlines.h"
+#include "des.inl"
+#include <cryptostrength.h>
+
+const TInt K3DESBlockBytes = 8;
+const TInt K3DESKeyBytes = 24;
+const TInt KDESKeyBytes = 8;
+
+void C3DES::Transform(TDes8& aBlock)
+	{
+	assert(aBlock.Size() == K3DESBlockBytes);
+		
+	TUint32 l, r;
+//	Split the block into 2 word-sized big endian portions
+	GetBlockBigEndian((TUint8*)&aBlock[0], l, r);
+
+	IPerm(l,r);
+
+	DoTransform(l, r, iK1);
+	DoTransform(r, l, iK2);
+	DoTransform(l, r, iK3);
+		
+	FPerm(l,r);
+
+//	Put the portions back into the block as little endian
+	PutBlockBigEndian((TUint8*)&aBlock[0], r, l);
+	}
+
+TInt C3DES::BlockSize() const
+	{
+	return K3DESBlockBytes;
+	}
+
+TInt C3DES::KeySize() const
+	{
+	return K3DESKeyBytes;
+	}
+
+C3DES::C3DES()
+	{
+	}
+
+void C3DES::ConstructL(const TDesC8& aKey)
+	{
+	assert(aKey.Size() == K3DESKeyBytes);
+
+	iKey = aKey.AllocL();
+	DoSetKey(*iKey);
+	}
+
+void C3DES::Reset()
+	{
+	DoSetKey(*iKey);
+	}
+
+/* C3DESEncryptor */
+
+EXPORT_C C3DESEncryptor* C3DESEncryptor::NewL(const TDesC8& aKey)
+	{
+	C3DESEncryptor* me = C3DESEncryptor::NewLC(aKey);
+	CleanupStack::Pop(me);
+	return (me);	
+	}
+
+EXPORT_C C3DESEncryptor* C3DESEncryptor::NewLC(const TDesC8& aKey)
+	{
+	C3DESEncryptor* me = new (ELeave) C3DESEncryptor();
+	CleanupStack::PushL(me);
+	me->ConstructL(aKey);
+	// DES only used 7 bits out of every key byte
+	TCrypto::IsSymmetricWeakEnoughL(BytesToBits(aKey.Size()) - aKey.Size());
+	return (me);	
+	}
+
+void C3DESEncryptor::DoSetKey(const TDesC8& aKey)
+	{
+	// Encryptor key	
+	SetKey(aKey.Mid(0, KDESKeyBytes), iK1);
+	// Decryptor key
+	SetKey(aKey.Mid(KDESKeyBytes, 2*KDESKeyBytes), iK2);
+	ReverseKeySchedule(iK2); // Reverse key schedule order
+	// Encryptor key
+	SetKey(aKey.Mid(2*KDESKeyBytes), iK3);
+	}
+ 
+/* C3DESDecryptor */
+
+EXPORT_C C3DESDecryptor* C3DESDecryptor::NewL(const TDesC8& aKey)
+	{
+	C3DESDecryptor* me = C3DESDecryptor::NewLC(aKey);
+	CleanupStack::Pop(me);
+	return (me);
+	}
+
+EXPORT_C C3DESDecryptor* C3DESDecryptor::NewLC(const TDesC8& aKey)
+	{
+	C3DESDecryptor* me = new (ELeave) C3DESDecryptor();
+	CleanupStack::PushL(me);
+	me->ConstructL(aKey);
+	// DES only used 7 bits out of every key byte
+	TCrypto::IsSymmetricWeakEnoughL(BytesToBits(aKey.Size()) - aKey.Size());
+	return (me);
+	}
+
+void C3DESDecryptor::DoSetKey(const TDesC8& aKey)
+	{
+	// 3DES decryption, reverse through key
+	// Decryptor key
+	CDES::SetKey(aKey.Mid(2*KDESKeyBytes), iK1);
+	ReverseKeySchedule(iK1);	//	Reverse key schedule order	
+
+	// Encryptor key
+	CDES::SetKey(aKey.Mid(KDESKeyBytes, 2*KDESKeyBytes), iK2);
+	
+	// Decryptor key
+	CDES::SetKey(aKey.Mid(0, KDESKeyBytes), iK3);
+	ReverseKeySchedule(iK3);	//	Reverse key schedule order
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/symmetric/arc4.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,124 @@
+/*
+* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include "arc4.h"
+#include "../common/inlines.h"
+#include <e32base.h>
+#include <cryptostrength.h>
+
+#ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
+/** The size of the substitution box (i.e. lookup table) in bytes. */
+const TInt KSBoxSize = 256;
+#endif
+
+inline TUint8 CARC4::GenerateByte()
+	{
+	TUint8 a = iState[ix];
+	iy = (TUint8)((iy + a) & 0xff);
+	TUint8 b = iState[iy];
+
+	iState[ix] = b;
+	iState[iy] = a;
+	ix = (TUint8)((ix + 1) & 0xff);
+	return (iState[(a + b) & 0xff]);
+	}
+
+CARC4::CARC4(const TDesC8& aKey, TUint aDiscardBytes)
+	: ix(1), iy(0), iDiscardBytes(aDiscardBytes)
+	{
+	iKey.Copy(aKey);
+	GenerateSBox();
+	}
+
+EXPORT_C CARC4* CARC4::NewL(const TDesC8& aKey, TUint aDiscardBytes)
+	{
+	CARC4* self = NewLC(aKey, aDiscardBytes);
+	CleanupStack::Pop(self);
+	return self;
+	}
+
+EXPORT_C CARC4* CARC4::NewLC(const TDesC8& aKey, TUint aDiscardBytes)
+	{
+	CARC4* self = new(ELeave)CARC4(aKey, aDiscardBytes);
+	CleanupStack::PushL(self);
+	TCrypto::IsSymmetricWeakEnoughL(BytesToBits(aKey.Size()));
+	return self;
+	}
+
+void CARC4::DoProcess(TDes8& aData)
+	{
+	TInt blockLen = aData.Size();
+
+	if (blockLen > 0)
+		{
+		TUint8* blockPtr = (TUint8*)&aData[0];	
+		do
+			{
+			*blockPtr++ ^= GenerateByte();
+			} 
+		while (--blockLen);
+		}
+	}
+
+void CARC4::Reset()
+	{
+	ix = 1;
+	iy = 0;
+	GenerateSBox();
+	}
+
+TInt CARC4::KeySize() const
+	{
+	return (iKey.Size());
+	}
+
+void CARC4::DiscardBytes(TInt aDiscardBytes)
+	{	
+	if (aDiscardBytes > 0)
+		{
+		do
+			{
+			GenerateByte();
+			}
+		while(--aDiscardBytes);
+		}
+	}
+
+void CARC4::GenerateSBox(void)
+	{
+	TUint keyBytes = iKey.Size();
+		
+	TInt i = 0;
+	for (; i < KSBoxSize; i++)
+		iState[i] = (TUint8)i;
+	
+	TUint keyIndex = 0, stateIndex = 0;
+	i = 0;
+	for (; i < KSBoxSize; i++)
+		{
+		TUint a = iState[i];
+		stateIndex += iKey[keyIndex] + a;
+		stateIndex &= 0xff;
+		iState[i] = iState[stateIndex];
+		iState[stateIndex] = (TUint8)a;
+		if (++keyIndex >= (TUint)keyBytes)
+			keyIndex = 0;
+		}
+
+	DiscardBytes(iDiscardBytes);
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/symmetric/bufferedtransformation.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,232 @@
+/*
+* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include "bufferedtransformation.h"
+#include "blocktransformation.h"
+#include "padding.h"
+#include "../common/inlines.h"
+#include <cryptopanic.h>
+
+EXPORT_C CBufferedTransformation::~CBufferedTransformation()
+	{
+	delete iBT;
+	delete iPadding;
+	delete iInputStoreBuf;
+	}
+
+void CBufferedTransformation::Process(const TDesC8& aInput, TDes8& aOutput)
+	{
+	__ASSERT_DEBUG(aOutput.MaxLength() >= MaxOutputLength(aInput.Length()), User::Panic(KCryptoPanic, ECryptoPanicOutputDescriptorOverflow));
+
+	TInt blockSize = iBT->BlockSize();
+
+	if ( (aInput.Size() + iInputStore.Size()) < blockSize )
+		{
+		iInputStore.Append(aInput);
+		}
+	else
+		{
+		TInt outputIndex = aOutput.Size();
+		aOutput.Append(iInputStore);
+
+		TInt inputIndex = blockSize - iInputStore.Size();
+		aOutput.Append(aInput.Mid(0, inputIndex));
+
+		TPtr8 transformBuf((TUint8*)(aOutput.Ptr()) + outputIndex, blockSize,
+			blockSize);
+		//This should read: 
+		//TPtr8 transformBuf(aOutput.Mid(outputIndex, blockSize));
+		//but in the wonderful world of descriptors, Mid returns a TPtrC8 even
+		//when called on a TPtr8.  Fantastic eh?
+		iBT->Transform(transformBuf);
+
+		outputIndex += blockSize;
+
+		TInt len = aInput.Size() - blockSize;
+
+		for (; inputIndex<=len; inputIndex+=blockSize)
+			{
+			aOutput.Append(aInput.Mid(inputIndex, blockSize));			
+			transformBuf.Set((TUint8*)(aOutput.Ptr()) + outputIndex, blockSize,
+				blockSize);
+			iBT->Transform(transformBuf);
+			outputIndex += blockSize;
+			}
+
+		iInputStore.Zero();
+		if (inputIndex < aInput.Size())
+			iInputStore.Append(aInput.Mid(inputIndex));
+		}
+	}
+
+TInt CBufferedTransformation::MaxOutputLength(TInt aInputLength) const
+	{
+	TInt rem = (aInputLength + iInputStore.Size()) % (iBT->BlockSize());
+	return ((aInputLength + iInputStore.Size()) - rem);
+	}
+
+void CBufferedTransformation::Reset()
+	{
+	iBT->Reset();
+	iInputStore.Zero();
+	}
+
+TInt CBufferedTransformation::BlockSize() const
+	{
+	return (iBT->BlockSize());
+	}
+
+TInt CBufferedTransformation::KeySize() const
+	{
+	return (iBT->KeySize());
+	}
+
+EXPORT_C CBlockTransformation* CBufferedTransformation::BlockTransformer() const
+{
+	return (iBT);
+}
+
+CBufferedTransformation::CBufferedTransformation()
+	: iInputStore(0,0,0)
+	{
+	}
+
+void CBufferedTransformation::ConstructL(CBlockTransformation* aBT, CPadding* aPadding)
+	{
+	iInputStoreBuf = HBufC8::NewL(aBT->BlockSize());
+	iInputStore.Set(iInputStoreBuf->Des());
+
+	// Take ownership last - doesn't take ownership if we leave
+	iBT = aBT;
+	iPadding = aPadding;
+	}
+
+
+// CBufferedEncryptor
+
+EXPORT_C CBufferedEncryptor* CBufferedEncryptor::NewL(
+	CBlockTransformation* aBT, CPadding* aPadding)
+	{
+	CBufferedEncryptor* self = NewLC(aBT,aPadding);
+	CleanupStack::Pop(self);
+	return self;
+	}
+
+EXPORT_C CBufferedEncryptor* CBufferedEncryptor::NewLC(
+	CBlockTransformation* aBT, CPadding* aPadding)
+	{
+	CBufferedEncryptor* self = new (ELeave) CBufferedEncryptor();
+	CleanupStack::PushL(self);
+	self->ConstructL(aBT, aPadding);
+	return self;
+	}
+
+CBufferedEncryptor::CBufferedEncryptor()
+	{
+	}
+
+void CBufferedEncryptor::ProcessFinalL(const TDesC8& aInput, TDes8& aOutput)
+	{
+	__ASSERT_DEBUG(aOutput.MaxLength() >= MaxFinalOutputLength(aInput.Length()), User::Panic(KCryptoPanic, ECryptoPanicOutputDescriptorOverflow));
+	Process(aInput, aOutput);
+	
+	TInt outputIndex = aOutput.Size();
+	iPadding->PadL(iInputStore, aOutput);
+	assert(aOutput.Size() % iBT->BlockSize() == 0);
+
+	TUint blockSize = iBT->BlockSize();
+	TInt len = aOutput.Size() - outputIndex;
+	
+	for(TInt i=len; i>0; i-=blockSize)
+		{
+		TPtr8 transformBuf((TUint8*)(aOutput.Ptr()) + outputIndex, blockSize,
+			blockSize);
+		iBT->Transform(transformBuf);
+		outputIndex+=blockSize;
+		}
+
+	iInputStore.Zero();
+	}
+
+TInt CBufferedEncryptor::MaxFinalOutputLength(TInt aInputLength) const
+	{
+    return iPadding->MaxPaddedLength(iInputStore.Size() + aInputLength);
+	}
+
+// CBufferedDecryptor
+
+EXPORT_C CBufferedDecryptor* CBufferedDecryptor::NewL(
+	CBlockTransformation* aBT, CPadding* aPadding)
+	{
+	CBufferedDecryptor* self = NewLC(aBT,aPadding);
+	CleanupStack::Pop(self);
+	return self;
+	}
+
+EXPORT_C CBufferedDecryptor* CBufferedDecryptor::NewLC(
+	CBlockTransformation* aBT, CPadding* aPadding)
+	{
+	CBufferedDecryptor* self = new (ELeave) CBufferedDecryptor();
+	CleanupStack::PushL(self);
+	self->ConstructL(aBT, aPadding);
+	return self;
+	}
+
+CBufferedDecryptor::CBufferedDecryptor()
+	{
+	}
+
+void CBufferedDecryptor::ProcessFinalL(const TDesC8& aInput, TDes8& aOutput)
+	{
+	__ASSERT_DEBUG(aOutput.MaxLength() >= MaxFinalOutputLength(aInput.Length()), User::Panic(KCryptoPanic, ECryptoPanicOutputDescriptorOverflow));
+
+	assert((aInput.Size() + iInputStore.Size()) % iPadding->BlockSize()==0);
+	assert(aInput.Size() + iInputStore.Size() !=0 );
+	assert(iPadding->BlockSize() % BlockSize() == 0);
+	//1) Decrypt into aOutput up till the last full _padding_ blocksize
+	//If this panics with descriptor problems, you've probably called
+	//ProcessFinalL with a non-_padding_ blocksized aligned amount of data.
+	TInt lenToDecrypt = aInput.Size() - iPadding->BlockSize();
+	if(lenToDecrypt > 0)
+		{
+		Process(aInput.Left(lenToDecrypt), aOutput);
+		assert(iInputStore.Size()==0);
+		}
+	else
+		{
+		lenToDecrypt = 0;
+		}
+	
+	//2) Decrypt the last _padding_ blocksize into a new buffer
+	HBufC8* padBuf = HBufC8::NewLC(iPadding->BlockSize());
+	TPtr8 padPtr = padBuf->Des(); 
+	Process(aInput.Mid(lenToDecrypt), padPtr);
+	assert(iInputStore.Size()==0);
+		
+	//3) Unpad that last _padding_ blocksize into aOutput
+	// Note that padding systems must always, like everything else in crypto,
+	// _append_ data.
+	iPadding->UnPadL(padPtr, aOutput);
+
+	CleanupStack::PopAndDestroy(padBuf);
+	}
+
+TInt CBufferedDecryptor::MaxFinalOutputLength(TInt aInputLength) const
+	{
+	return iPadding->MaxUnPaddedLength(aInputLength + iInputStore.Size());
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/symmetric/cbcmode.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,156 @@
+/*
+* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include "cbcmode.h"
+#include "../common/inlines.h"
+
+void CBlockChainingMode::Reset()
+	{
+	iRegister.Copy(iIV);
+	iBT->Reset();
+	}
+
+TInt CBlockChainingMode::BlockSize() const
+	{
+	return (iBT->BlockSize());
+	}
+
+TInt CBlockChainingMode::KeySize() const
+	{
+	return (iBT->KeySize());
+	}
+
+void CBlockChainingMode::SetIV(const TDesC8& aIV)
+	{
+	//We are making the stipulation that anybody calling SetIV is not setting it
+	//to a longer IV than they originally did.  Otherwise SetIV needs to leave.
+	assert(aIV.Size() <= iIV.Size());
+	iIV.Copy(aIV);
+	Reset();
+	}
+
+EXPORT_C CBlockChainingMode::CBlockChainingMode() 
+	: iBT(NULL), iRegister(0,0,0), iIV(0,0,0)
+	{
+	}
+
+EXPORT_C CBlockChainingMode::~CBlockChainingMode()
+	{
+	delete iBT;
+	delete iRegisterBuf;
+	delete iIVBuf;
+	}
+
+EXPORT_C void CBlockChainingMode::ConstructL(CBlockTransformation* aBT, const TDesC8& aIV)
+	{
+	iRegisterBuf = aIV.AllocL();
+	iRegister.Set(iRegisterBuf->Des());
+	iIVBuf = aIV.AllocL();
+	iIV.Set(iIVBuf->Des());
+
+	// Take ownership last - doesn't take ownership if we leave
+	iBT = aBT;
+	}
+
+/* CModeCBCEncryptor */
+EXPORT_C CModeCBCEncryptor* CModeCBCEncryptor::NewL(CBlockTransformation* aBT, 
+	const TDesC8& aIV)
+	{
+	CModeCBCEncryptor* self = NewLC(aBT, aIV);	
+	CleanupStack::Pop(self);
+	return self;
+	}
+
+EXPORT_C CModeCBCEncryptor* CModeCBCEncryptor::NewLC(CBlockTransformation* aBT,
+	const TDesC8& aIV)
+	{
+	CModeCBCEncryptor* self = new (ELeave)CModeCBCEncryptor();	
+	CleanupStack::PushL(self);
+	self->ConstructL(aBT, aIV);
+	return self;
+	}
+
+CModeCBCEncryptor::CModeCBCEncryptor()
+	{
+	}
+
+void CModeCBCEncryptor::Transform(TDes8& aBlock)
+	{
+	assert(aBlock.Size() == iBT->BlockSize());
+	assert(iRegister.Size() == aBlock.Size());
+
+	XorBuf(const_cast<TUint8*>(iRegister.Ptr()), aBlock.Ptr(), aBlock.Size());
+	iBT->Transform(iRegister);
+	aBlock.Copy(iRegister);
+	}
+
+/* CModeCBCDecryptor */
+EXPORT_C CModeCBCDecryptor* CModeCBCDecryptor::NewL(CBlockTransformation* aBT, 
+	const TDesC8& aIV)
+	{
+	CModeCBCDecryptor* self = NewLC(aBT, aIV);
+	CleanupStack::Pop(self);
+	return self;
+	}
+
+EXPORT_C CModeCBCDecryptor* CModeCBCDecryptor::NewLC(CBlockTransformation* aBT, 
+	const TDesC8& aIV)
+	{
+	CModeCBCDecryptor* self = new (ELeave)CModeCBCDecryptor();	
+	CleanupStack::PushL(self);
+	self->ConstructL(aBT, aIV);
+	return self;	
+	}
+
+void CModeCBCDecryptor::ConstructL(CBlockTransformation* aBT, const TDesC8& aIV)
+	{
+	iIVBakBuf = aIV.AllocL();
+	iIVBak.Set(iIVBakBuf->Des());
+	CBlockChainingMode::ConstructL(aBT, aIV);
+	}
+
+CModeCBCDecryptor::~CModeCBCDecryptor(void)
+	{
+	delete iIVBakBuf;
+	}
+
+CModeCBCDecryptor::CModeCBCDecryptor()
+	: iIVBak(0,0,0)
+	{
+	}
+
+void CModeCBCDecryptor::Transform(TDes8& aBlock)
+	{
+	assert(aBlock.Size() == iBT->BlockSize());
+	assert(iRegister.Size() == aBlock.Size());
+	assert(iIVBak.Size() == aBlock.Size());
+	
+	// Take a copy of incoming block
+	iIVBak.Copy(aBlock);
+
+	// transform the block
+	iBT->Transform(aBlock);
+
+	// xor the output with the register
+	XorBuf(const_cast<TUint8*>(aBlock.Ptr()), iRegister.Ptr(), 
+		aBlock.Size());
+
+	// Update the register to be the original block
+	iRegister.Copy(iIVBak);
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/symmetric/des.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,269 @@
+/*
+* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include "des.h"
+#include "destables.h"
+#include "../common/inlines.h"
+#include "des.inl"
+#include <cryptostrength.h>
+
+const TInt KDESBlockBytes = 8;
+const TInt KDESKeyBytes = 8;
+
+//	bit 0 is left-most in byte
+static const TInt bytebit[] = {0200,0100,040,020,010,04,02,01};
+
+void CDES::Transform(TDes8& aBlock)
+	{
+	assert(aBlock.Size() == KDESBlockBytes);
+
+	TUint32 l, r;
+	// Split the block into 2 word-sized big endian portions
+	GetBlockBigEndian((TUint8*)&aBlock[0], l, r);
+
+	IPerm(l,r);
+
+	CDES::DoTransform(l, r, iK1);
+		
+	FPerm(l,r);
+
+	// Put the portions back into the block as little endian
+	PutBlockBigEndian((TUint8*)&aBlock[0], r, l);
+	}
+
+void CDES::DoTransform(TUint32& l, TUint32& r, const TUint32* aKey)
+	{
+	TInt i = 0;
+	for (; i<8; i++)
+		{
+		TUint32 work = rotrFixed(r, 4U) ^ aKey[4*i+0];
+		l ^= DES_TABLE::sbox[6][(work) & 0x3f]
+		  ^  DES_TABLE::sbox[4][(work >> 8) & 0x3f]
+		  ^  DES_TABLE::sbox[2][(work >> 16) & 0x3f]
+		  ^  DES_TABLE::sbox[0][(work >> 24) & 0x3f];
+		work = r ^ aKey[4*i+1];
+		l ^= DES_TABLE::sbox[7][(work) & 0x3f]
+		  ^  DES_TABLE::sbox[5][(work >> 8) & 0x3f]
+		  ^  DES_TABLE::sbox[3][(work >> 16) & 0x3f]
+		  ^  DES_TABLE::sbox[1][(work >> 24) & 0x3f];
+
+		work = rotrFixed(l, 4U) ^ aKey[4*i+2];
+		r ^= DES_TABLE::sbox[6][(work) & 0x3f]
+		  ^  DES_TABLE::sbox[4][(work >> 8) & 0x3f]
+		  ^  DES_TABLE::sbox[2][(work >> 16) & 0x3f]
+		  ^  DES_TABLE::sbox[0][(work >> 24) & 0x3f];
+		work = l ^ aKey[4*i+3];
+		r ^= DES_TABLE::sbox[7][(work) & 0x3f]
+		  ^  DES_TABLE::sbox[5][(work >> 8) & 0x3f]
+		  ^  DES_TABLE::sbox[3][(work >> 16) & 0x3f]
+		  ^  DES_TABLE::sbox[1][(work >> 24) & 0x3f];
+		}
+	}
+
+
+TInt CDES::BlockSize() const
+	{
+	return KDESBlockBytes;
+	}
+
+TInt CDES::KeySize() const
+	{
+	return KDESKeyBytes;
+	}
+
+CDES::~CDES()
+	{
+	delete iKey;
+	}
+
+void CDES::ConstructL(const TDesC8& aKey, TBool /*aCheckWeakKey*/)
+	{
+	assert(aKey.Size() == KDESKeyBytes);
+
+	iKey = aKey.AllocL();
+	SetKey(aKey, iK1);
+	}
+
+CDES::CDES()
+	{
+	}
+
+typedef TUint8 TKeyDES[KDESKeyBytes];
+const TInt KKnownWeakKeysCount = 16;
+const TKeyDES weak_keys[KKnownWeakKeysCount] =
+	{
+	/* weak keys */
+	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
+	{0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE},
+	{0x1E,0x1E,0x1E,0x1E,0x0E,0x0E,0x0E,0x0E},
+	{0xE0,0xE0,0xE0,0xE0,0xF0,0xF0,0xF0,0xF0},
+	{0x00,0xFE,0x00,0xFE,0x00,0xFE,0x00,0xFE},
+	{0xFE,0x00,0xFE,0x00,0xFE,0x00,0xFE,0x00},
+	{0x1E,0xE0,0x1E,0xE0,0x0E,0xF0,0x0E,0xF0},
+	{0xE0,0x1E,0xE0,0x1E,0xF0,0x0E,0xF0,0x0E},
+	{0x00,0xE0,0x00,0xE0,0x00,0xF0,0x00,0xF0},
+	{0xE0,0x00,0xE0,0x00,0xF0,0x00,0xF0,0x00},
+	{0x1E,0xFE,0x1E,0xFE,0x0E,0xFE,0x0E,0xFE},
+	{0xFE,0x1E,0xFE,0x1E,0xFE,0x0E,0xFE,0x0E},
+	{0x00,0x1E,0x00,0x1E,0x00,0x0E,0x00,0x0E},
+	{0x1E,0x00,0x1E,0x00,0x0E,0x00,0x0E,0x00},
+	{0xE0,0xFE,0xE0,0xFE,0xF0,0xFE,0xF0,0xFE},
+	{0xFE,0xE0,0xFE,0xE0,0xFE,0xF0,0xFE,0xF0}
+	};
+
+void CDES::SetKey(const TDesC8& aKey, TUint32* aKeyBuffer)
+	{
+	TInt i=0, j=0, l=0, m=0;
+
+//	Form a byte array from aKey, taking endianess into account (little->big)	
+	TUint8 key[8];								//	For big endian byte array	
+	Mem::Copy(&key, &aKey[0], 8);
+
+	TUint8 buffer[56+56+8];
+	TUint8* const pc1m = &buffer[0];			/* place to modify pc1 into */
+	TUint8* const pcr = pc1m + 56;				/* place to rotate pc1 into */
+	TUint8* const ks = pcr + 56;
+
+	for (j=0; j<56; j++) 
+		{/* convert pc1 to bits of key */
+		l = DES_TABLE::pc1[j]-1;				/* integer bit location  */
+		m = l & 07;								/* find bit              */
+		pc1m[j]=(key[l>>3] &					/* find which key byte l is in */
+			bytebit[m])							/* and which bit of that byte */
+			? (TUint8)1 : (TUint8)0;			/* and store 1-bit result */
+		}
+
+	for (i=0; i<16; i++) 
+		{/* key chunk for each iteration */
+		Mem::FillZ(ks,8);							/* Clear key schedule */
+		for (j=0; j<56; j++)
+		/*	rotate pc1 the right amount */
+			pcr[j] = pc1m[(l=j+DES_TABLE::totrot[i])<(j<28? 28 : 56) ? l: l-28];
+		
+		/* rotate left and right halves independently */
+		
+		for (j=0; j<48; j++)
+			{/* select bits individually */
+			/* check bit that goes to ks[j] */
+			if (pcr[DES_TABLE::pc2[j]-1])
+				{/* mask it in if it's there */
+				l= j % 6;
+				ks[j/6] |= bytebit[l] >> 2;
+				}
+			}
+
+		/* Now convert to odd/even interleaved form for use in F */
+		(*(aKeyBuffer+(2*i))) = ((TUint32)ks[0] << 24)
+			| ((TUint32)ks[2] << 16)
+			| ((TUint32)ks[4] << 8)
+			| ((TUint32)ks[6]);
+		
+		(*(aKeyBuffer+(2*i+1))) = ((TUint32)ks[1] << 24)
+			| ((TUint32)ks[3] << 16)
+			| ((TUint32)ks[5] << 8)
+			| ((TUint32)ks[7]);
+		}
+	}
+
+void CDES::Reset()
+	{
+	SetKey(*iKey, iK1);
+	}
+
+
+/* CDESEncryptor */
+
+EXPORT_C CDESEncryptor* CDESEncryptor::NewL(const TDesC8& aKey, 
+	TBool aCheckWeakKey)
+	{
+	CDESEncryptor* me = CDESEncryptor::NewLC(aKey, aCheckWeakKey);
+	CleanupStack::Pop(me);
+	return (me);
+	}
+
+EXPORT_C CDESEncryptor* CDESEncryptor::NewLC(const TDesC8& aKey, 
+	TBool aCheckWeakKey)
+	{
+	CDESEncryptor* me = new (ELeave) CDESEncryptor();
+	CleanupStack::PushL(me);
+	me->ConstructL(aKey, aCheckWeakKey);
+	// DES only used 7 bits out of every key byte
+	TCrypto::IsSymmetricWeakEnoughL(BytesToBits(aKey.Size()) - aKey.Size());
+	return (me);
+	}
+
+CDESEncryptor::CDESEncryptor()
+	{
+	}
+
+/* CDESDecryptor */
+
+EXPORT_C CDESDecryptor* CDESDecryptor::NewL(const TDesC8& aKey, 
+	TBool aCheckWeakKey)
+	{
+	CDESDecryptor* me = CDESDecryptor::NewLC(aKey, aCheckWeakKey);
+	CleanupStack::Pop(me);
+	return (me);
+	}
+
+EXPORT_C CDESDecryptor* CDESDecryptor::NewLC(const TDesC8& aKey, 
+	TBool aCheckWeakKey)
+	{
+	CDESDecryptor* me = new (ELeave) CDESDecryptor();
+	CleanupStack::PushL(me);
+	me->ConstructL(aKey, aCheckWeakKey);
+	// DES only used 7 bits out of every key byte
+	TCrypto::IsSymmetricWeakEnoughL(BytesToBits(aKey.Size()) - aKey.Size());
+	return (me);
+	}
+
+
+CDESDecryptor::CDESDecryptor()
+	{
+	}
+
+void CDESDecryptor::SetKey(const TDesC8& aKey, TUint32* aKeyBuffer)
+	{
+	CDES::SetKey(aKey, aKeyBuffer);
+
+	ReverseKeySchedule(iK1);
+	}
+
+EXPORT_C TBool CDES::IsWeakKey(const TDesC8& aKey)
+	{
+	TKeyDES key;
+	TInt index = 0;
+	//Reset parity bits
+	for(; index < KDESKeyBytes; index++)
+		{
+		key[index] = aKey[index] & 0xFE;
+		}
+		
+	TBool weak = EFalse;	
+	//Compare key with potential weak keys without parity	
+	for (index=0; index < KKnownWeakKeysCount; index++)
+		{
+		if (Mem::Compare(weak_keys[index], KDESKeyBytes, &key[0], KDESKeyBytes)==0)
+			{
+			weak = ETrue;
+			break;
+			}
+		}
+	return weak;
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/symmetric/des.inl	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,76 @@
+/*
+* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#ifndef __DES_INL__
+#define __DES_INL__
+
+inline void IPerm(TUint32& left, TUint32& right)
+	{
+	TUint32 work;
+
+	right = rotlFixed(right, 4U);
+	work = (left ^ right) & 0xf0f0f0f0;
+	left ^= work;
+	right = rotrFixed(right^work, 20U);
+	work = (left ^ right) & 0xffff0000;
+	left ^= work;
+	right = rotrFixed(right^work, 18U);
+	work = (left ^ right) & 0x33333333;
+	left ^= work;
+	right = rotrFixed(right^work, 6U);
+	work = (left ^ right) & 0x00ff00ff;
+	left ^= work;
+	right = rotlFixed(right^work, 9U);
+	work = (left ^ right) & 0xaaaaaaaa;
+	left = rotlFixed(left^work, 1U);
+	right ^= work;
+	}
+
+inline void FPerm(TUint32& left, TUint32& right)
+	{
+	TUint32 work;
+
+	right = rotrFixed(right, 1U);
+	work = (left ^ right) & 0xaaaaaaaa;
+	right ^= work;
+	left = rotrFixed(left^work, 9U);
+	work = (left ^ right) & 0x00ff00ff;
+	right ^= work;
+	left = rotlFixed(left^work, 6U);
+	work = (left ^ right) & 0x33333333;
+	right ^= work;
+	left = rotlFixed(left^work, 18U);
+	work = (left ^ right) & 0xffff0000;
+	right ^= work;
+	left = rotlFixed(left^work, 20U);
+	work = (left ^ right) & 0xf0f0f0f0;
+	right ^= work;
+	left = rotrFixed(left^work, 4U);
+	}
+
+inline void ReverseKeySchedule(TUint32* aKey)
+	{
+	TInt i = 0;
+	for (; i<16; i+=2)
+		{
+		TClassSwap((*(aKey+i)), (*(aKey+(32-2-i))));
+		TClassSwap((*(aKey+i+1)), (*(aKey+(32-1-i))));
+		}
+	}
+
+#endif //__DES_INL__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/symmetric/destables.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,184 @@
+/*
+* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* DES Tables
+*
+*/
+
+
+/**
+ @file 
+ @internalComponent 
+*/
+ 
+#ifndef __DESTABLES_H__
+#define __DESTABLES_H__
+
+#include <e32std.h>
+
+namespace DES_TABLE
+{
+/* initial permutation IP */
+const TUint8 ip[] = {
+	   58, 50, 42, 34, 26, 18, 10,  2,
+	   60, 52, 44, 36, 28, 20, 12,  4,
+	   62, 54, 46, 38, 30, 22, 14,  6,
+	   64, 56, 48, 40, 32, 24, 16,  8,
+	   57, 49, 41, 33, 25, 17,  9,  1,
+	   59, 51, 43, 35, 27, 19, 11,  3,
+	   61, 53, 45, 37, 29, 21, 13,  5,
+	   63, 55, 47, 39, 31, 23, 15,  7
+};
+
+/* final permutation IP^-1 */
+const TUint8 fp[] = {
+	   40,  8, 48, 16, 56, 24, 64, 32,
+	   39,  7, 47, 15, 55, 23, 63, 31,
+	   38,  6, 46, 14, 54, 22, 62, 30,
+	   37,  5, 45, 13, 53, 21, 61, 29,
+	   36,  4, 44, 12, 52, 20, 60, 28,
+	   35,  3, 43, 11, 51, 19, 59, 27,
+	   34,  2, 42, 10, 50, 18, 58, 26,
+	   33,  1, 41,  9, 49, 17, 57, 25
+};
+
+/* expansion operation matrix */
+const TUint8 ei[] = {
+	   32,  1,  2,  3,  4,  5,
+		4,  5,  6,  7,  8,  9,
+		8,  9, 10, 11, 12, 13,
+	   12, 13, 14, 15, 16, 17,
+	   16, 17, 18, 19, 20, 21,
+	   20, 21, 22, 23, 24, 25,
+	   24, 25, 26, 27, 28, 29,
+	   28, 29, 30, 31, 32,  1
+};
+
+const TUint32 sbox[8][64] = {
+{
+0x01010400,0x00000000,0x00010000,0x01010404, 0x01010004,0x00010404,0x00000004,0x00010000,
+0x00000400,0x01010400,0x01010404,0x00000400, 0x01000404,0x01010004,0x01000000,0x00000004,
+0x00000404,0x01000400,0x01000400,0x00010400, 0x00010400,0x01010000,0x01010000,0x01000404,
+0x00010004,0x01000004,0x01000004,0x00010004, 0x00000000,0x00000404,0x00010404,0x01000000,
+0x00010000,0x01010404,0x00000004,0x01010000, 0x01010400,0x01000000,0x01000000,0x00000400,
+0x01010004,0x00010000,0x00010400,0x01000004, 0x00000400,0x00000004,0x01000404,0x00010404,
+0x01010404,0x00010004,0x01010000,0x01000404, 0x01000004,0x00000404,0x00010404,0x01010400,
+0x00000404,0x01000400,0x01000400,0x00000000, 0x00010004,0x00010400,0x00000000,0x01010004},
+{
+0x80108020,0x80008000,0x00008000,0x00108020, 0x00100000,0x00000020,0x80100020,0x80008020,
+0x80000020,0x80108020,0x80108000,0x80000000, 0x80008000,0x00100000,0x00000020,0x80100020,
+0x00108000,0x00100020,0x80008020,0x00000000, 0x80000000,0x00008000,0x00108020,0x80100000,
+0x00100020,0x80000020,0x00000000,0x00108000, 0x00008020,0x80108000,0x80100000,0x00008020,
+0x00000000,0x00108020,0x80100020,0x00100000, 0x80008020,0x80100000,0x80108000,0x00008000,
+0x80100000,0x80008000,0x00000020,0x80108020, 0x00108020,0x00000020,0x00008000,0x80000000,
+0x00008020,0x80108000,0x00100000,0x80000020, 0x00100020,0x80008020,0x80000020,0x00100020,
+0x00108000,0x00000000,0x80008000,0x00008020, 0x80000000,0x80100020,0x80108020,0x00108000},
+{
+0x00000208,0x08020200,0x00000000,0x08020008, 0x08000200,0x00000000,0x00020208,0x08000200,
+0x00020008,0x08000008,0x08000008,0x00020000, 0x08020208,0x00020008,0x08020000,0x00000208,
+0x08000000,0x00000008,0x08020200,0x00000200, 0x00020200,0x08020000,0x08020008,0x00020208,
+0x08000208,0x00020200,0x00020000,0x08000208, 0x00000008,0x08020208,0x00000200,0x08000000,
+0x08020200,0x08000000,0x00020008,0x00000208, 0x00020000,0x08020200,0x08000200,0x00000000,
+0x00000200,0x00020008,0x08020208,0x08000200, 0x08000008,0x00000200,0x00000000,0x08020008,
+0x08000208,0x00020000,0x08000000,0x08020208, 0x00000008,0x00020208,0x00020200,0x08000008,
+0x08020000,0x08000208,0x00000208,0x08020000, 0x00020208,0x00000008,0x08020008,0x00020200},
+{
+0x00802001,0x00002081,0x00002081,0x00000080, 0x00802080,0x00800081,0x00800001,0x00002001,
+0x00000000,0x00802000,0x00802000,0x00802081, 0x00000081,0x00000000,0x00800080,0x00800001,
+0x00000001,0x00002000,0x00800000,0x00802001, 0x00000080,0x00800000,0x00002001,0x00002080,
+0x00800081,0x00000001,0x00002080,0x00800080, 0x00002000,0x00802080,0x00802081,0x00000081,
+0x00800080,0x00800001,0x00802000,0x00802081, 0x00000081,0x00000000,0x00000000,0x00802000,
+0x00002080,0x00800080,0x00800081,0x00000001, 0x00802001,0x00002081,0x00002081,0x00000080,
+0x00802081,0x00000081,0x00000001,0x00002000, 0x00800001,0x00002001,0x00802080,0x00800081,
+0x00002001,0x00002080,0x00800000,0x00802001, 0x00000080,0x00800000,0x00002000,0x00802080},
+{
+0x00000100,0x02080100,0x02080000,0x42000100, 0x00080000,0x00000100,0x40000000,0x02080000,
+0x40080100,0x00080000,0x02000100,0x40080100, 0x42000100,0x42080000,0x00080100,0x40000000,
+0x02000000,0x40080000,0x40080000,0x00000000, 0x40000100,0x42080100,0x42080100,0x02000100,
+0x42080000,0x40000100,0x00000000,0x42000000, 0x02080100,0x02000000,0x42000000,0x00080100,
+0x00080000,0x42000100,0x00000100,0x02000000, 0x40000000,0x02080000,0x42000100,0x40080100,
+0x02000100,0x40000000,0x42080000,0x02080100, 0x40080100,0x00000100,0x02000000,0x42080000,
+0x42080100,0x00080100,0x42000000,0x42080100, 0x02080000,0x00000000,0x40080000,0x42000000,
+0x00080100,0x02000100,0x40000100,0x00080000, 0x00000000,0x40080000,0x02080100,0x40000100},
+{
+0x20000010,0x20400000,0x00004000,0x20404010, 0x20400000,0x00000010,0x20404010,0x00400000,
+0x20004000,0x00404010,0x00400000,0x20000010, 0x00400010,0x20004000,0x20000000,0x00004010,
+0x00000000,0x00400010,0x20004010,0x00004000, 0x00404000,0x20004010,0x00000010,0x20400010,
+0x20400010,0x00000000,0x00404010,0x20404000, 0x00004010,0x00404000,0x20404000,0x20000000,
+0x20004000,0x00000010,0x20400010,0x00404000, 0x20404010,0x00400000,0x00004010,0x20000010,
+0x00400000,0x20004000,0x20000000,0x00004010, 0x20000010,0x20404010,0x00404000,0x20400000,
+0x00404010,0x20404000,0x00000000,0x20400010, 0x00000010,0x00004000,0x20400000,0x00404010,
+0x00004000,0x00400010,0x20004010,0x00000000, 0x20404000,0x20000000,0x00400010,0x20004010},
+{
+0x00200000,0x04200002,0x04000802,0x00000000, 0x00000800,0x04000802,0x00200802,0x04200800,
+0x04200802,0x00200000,0x00000000,0x04000002, 0x00000002,0x04000000,0x04200002,0x00000802,
+0x04000800,0x00200802,0x00200002,0x04000800, 0x04000002,0x04200000,0x04200800,0x00200002,
+0x04200000,0x00000800,0x00000802,0x04200802, 0x00200800,0x00000002,0x04000000,0x00200800,
+0x04000000,0x00200800,0x00200000,0x04000802, 0x04000802,0x04200002,0x04200002,0x00000002,
+0x00200002,0x04000000,0x04000800,0x00200000, 0x04200800,0x00000802,0x00200802,0x04200800,
+0x00000802,0x04000002,0x04200802,0x04200000, 0x00200800,0x00000000,0x00000002,0x04200802,
+0x00000000,0x00200802,0x04200000,0x00000800, 0x04000002,0x04000800,0x00000800,0x00200002},
+{
+0x10001040,0x00001000,0x00040000,0x10041040, 0x10000000,0x10001040,0x00000040,0x10000000,
+0x00040040,0x10040000,0x10041040,0x00041000, 0x10041000,0x00041040,0x00001000,0x00000040,
+0x10040000,0x10000040,0x10001000,0x00001040, 0x00041000,0x00040040,0x10040040,0x10041000,
+0x00001040,0x00000000,0x00000000,0x10040040, 0x10000040,0x10001000,0x00041040,0x00040000,
+0x00041040,0x00040000,0x10041000,0x00001000, 0x00000040,0x10040040,0x00001000,0x00041040,
+0x10001000,0x00000040,0x10000040,0x10040000, 0x10040040,0x10000000,0x00040000,0x10001040,
+0x00000000,0x10041040,0x00040040,0x10000040, 0x10040000,0x10001000,0x10001040,0x00000000,
+0x10041040,0x00041000,0x00041000,0x00001040, 0x00001040,0x00040040,0x10000000,0x10041000}
+};
+
+
+/* 32-bit permutation function P used on the output of the S-boxes */
+const TUint8 p32i[] = {
+	   16,  7, 20, 21,
+	   29, 12, 28, 17,
+		1, 15, 23, 26,
+		5, 18, 31, 10,
+		2,  8, 24, 14,
+	   32, 27,  3,  9,
+	   19, 13, 30,  6,
+	   22, 11,  4, 25
+};
+
+/* permuted choice table (key) */
+const TUint8 pc1[] = {
+	   57, 49, 41, 33, 25, 17,  9,
+		1, 58, 50, 42, 34, 26, 18,
+	   10,  2, 59, 51, 43, 35, 27,
+	   19, 11,  3, 60, 52, 44, 36,
+
+	   63, 55, 47, 39, 31, 23, 15,
+		7, 62, 54, 46, 38, 30, 22,
+	   14,  6, 61, 53, 45, 37, 29,
+	   21, 13,  5, 28, 20, 12,  4
+};
+
+/* number left rotations of pc1 */
+const TUint8 totrot[] = {1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28};
+
+/* permuted choice key (table) */
+const TUint8 pc2[] = {
+	   14, 17, 11, 24,  1,  5,
+		3, 28, 15,  6, 21, 10,
+	   23, 19, 12,  4, 26,  8,
+	   16,  7, 27, 20, 13,  2,
+	   41, 52, 31, 37, 47, 55,
+	   30, 40, 51, 45, 33, 48,
+	   44, 49, 39, 56, 34, 53,
+	   46, 42, 50, 36, 29, 32
+};
+}	//	namespace DES_TABLE
+#endif	//	__DESTABLES_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/symmetric/mstreamcipher.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,57 @@
+/*
+* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* streamcipher.cpp
+*
+*/
+
+
+#include "streamcipher.h"
+#include <cryptopanic.h>
+
+EXPORT_C void CStreamCipher::ProcessFinalL(const TDesC8& aInput, TDes8& aOutput)
+	{
+	Process(aInput, aOutput);
+	}
+
+EXPORT_C void CStreamCipher::Process(const TDesC8& aInput, TDes8& aOutput)
+	{
+	TInt outputIndex = aOutput.Size();
+
+	// aOutput may already have outputIndex bytes of data in it
+	// check there will still be enough space to process the result
+	__ASSERT_DEBUG(aOutput.MaxLength() - outputIndex >= MaxOutputLength(aInput.Length()), User::Panic(KCryptoPanic, ECryptoPanicOutputDescriptorOverflow));
+
+	aOutput.Append(aInput);
+
+	TPtr8 transformBuf((TUint8*)(aOutput.Ptr()) + outputIndex, aInput.Size(),
+		aInput.Size());
+	DoProcess(transformBuf);
+	}
+
+EXPORT_C TInt CStreamCipher::BlockSize() const
+	{
+	return (1);
+	}
+
+EXPORT_C TInt CStreamCipher::MaxOutputLength(TInt aInputLength) const
+	{
+	return aInputLength;
+	}
+
+EXPORT_C TInt CStreamCipher::MaxFinalOutputLength(TInt aInputLength) const
+	{
+	return aInputLength;
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/symmetric/nullcipher.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,51 @@
+/*
+* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include "nullcipher.h"
+
+const TUint KNullKeyBytes = 0;
+
+EXPORT_C CNullCipher* CNullCipher::NewL(void)
+	{
+	CNullCipher* self = new(ELeave)CNullCipher;
+	return self;
+	}
+
+EXPORT_C CNullCipher* CNullCipher::NewLC(void)
+	{
+	CNullCipher *self = NewL();
+	CleanupStack::PushL(self);
+	return self;
+	}
+
+void CNullCipher::Reset(void)
+	{
+	}
+
+TInt CNullCipher::KeySize(void) const
+	{
+	return KNullKeyBytes;
+	}
+
+void CNullCipher::DoProcess(TDes8& /*aData*/)
+	{
+	}
+
+CNullCipher::CNullCipher(void)
+	{
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/symmetric/rc2.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,199 @@
+/*
+* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include "rc2.h"
+#include "rc2table.h"
+#include "../common/inlines.h"
+#include <cryptostrength.h>
+
+const TInt KRC2BlockBytes = 8;
+
+/* CRC2Encryptor */
+
+void CRC2::SetKey(const TDesC8& aKey, TInt aEffectiveKeyLenBits)
+	{
+	TUint keyLen = (TUint)aKey.Size();
+
+	iKey.Copy(aKey);
+	iEffectiveKeyLenBits = aEffectiveKeyLenBits;
+
+	TUint8 L[KRC2MaxKeySizeBytes];	
+	Mem::Copy((TUint8*)&L[0], (TUint8*)&aKey[0], keyLen);
+
+	TInt maxKeySizeBytes = (TInt)KRC2MaxKeySizeBytes;
+	TInt expandedKeyLen = (TInt)KRC2ExpandedKeyLen;
+	TInt i = keyLen;
+	for (; i < maxKeySizeBytes; i++)
+		{
+		L[i] = RC2_TABLE::PITABLE[(L[i-1] + L[i-keyLen]) & 255];
+		}
+
+	TUint T8 = (aEffectiveKeyLenBits+7) / 8;
+	TUint8 TM = (TUint8)(255 >> ((8-(iEffectiveKeyLenBits%8))%8));
+	L[128-T8] = RC2_TABLE::PITABLE[L[128-T8] & TM];
+
+	for (i=127-T8; i>=0; i--)
+		L[i] = RC2_TABLE::PITABLE[L[i+1] ^ L[i+T8]];
+
+	for (i=0; i < expandedKeyLen; i++)
+		iK[i] = (TUint16)(L[2*i] + (L[2*i+1] << 8));
+	}
+
+void CRC2::Reset()
+	{
+	SetKey(iKey, iEffectiveKeyLenBits);
+	}
+
+TInt CRC2::BlockSize() const
+	{
+	return KRC2BlockBytes;
+	}
+
+TInt CRC2::KeySize() const
+	{
+	return iKey.Size();
+	}
+
+CRC2::CRC2(void)
+	{
+	}
+
+/* CRC2Encryptor */
+
+EXPORT_C CRC2Encryptor* CRC2Encryptor::NewL(const TDesC8& aKey, 
+	TInt aEffectiveKeyLenBits)
+	{
+	CRC2Encryptor* me = CRC2Encryptor::NewLC(aKey, aEffectiveKeyLenBits);
+	CleanupStack::Pop(me);
+	return (me);
+	}
+
+EXPORT_C CRC2Encryptor* CRC2Encryptor::NewLC(const TDesC8& aKey, 
+	TInt aEffectiveKeyLenBits)
+	{
+	CRC2Encryptor* me = new (ELeave) CRC2Encryptor;
+	CleanupStack::PushL(me);	//	Does not leave but function requires it be Push-ed
+	me->SetKey(aKey, aEffectiveKeyLenBits);	
+	// weak enough if either aKey or aEffectiveKeyLenBits is weak
+	TInt minKeySize = Min(aEffectiveKeyLenBits, BytesToBits(aKey.Size()));
+	TCrypto::IsSymmetricWeakEnoughL(minKeySize);
+	return (me);
+	}
+
+#pragma warning (disable : 4244)	//	conversion from 'int' to 'unsigned short', possible loss of data
+void CRC2Encryptor::Transform(TDes8& aBlock)
+	{
+	assert(aBlock.Size() == KRC2BlockBytes);
+	
+	TUint16 R0, R1, R2, R3;
+	GetBlockLittleEndian((TUint8*)&aBlock[0], R0, R1, R2, R3);
+	
+	TInt i = 0;
+	for (; i < 16; i++)
+		{
+		R0 += (R1 & ~R3) + (R2 & R3) + iK[4*i+0];
+		R0 = rotlFixed(R0, 1);
+
+		R1 += (R2 & ~R0) + (R3 & R0) + iK[4*i+1];
+		R1 = rotlFixed(R1, 2);
+
+		R2 += (R3 & ~R1) + (R0 & R1) + iK[4*i+2];
+		R2 = rotlFixed(R2, 3);
+
+		R3 += (R0 & ~R2) + (R1 & R2) + iK[4*i+3];
+		R3 = rotlFixed(R3, 5);
+
+		if (i == 4 || i == 10)
+			{
+			R0 += iK[R3 & 63];
+			R1 += iK[R0 & 63];
+			R2 += iK[R1 & 63];
+			R3 += iK[R2 & 63];
+			}
+		}
+
+	PutBlockLittleEndian((TUint8*)&aBlock[0], R0, R1, R2, R3);	
+	}
+#pragma warning (default : 4244)	//	conversion from 'int' to 'unsigned short', possible loss of data
+
+CRC2Encryptor::CRC2Encryptor(void)
+	{
+	}
+
+/* CRC2Decryptor */
+
+EXPORT_C CRC2Decryptor* CRC2Decryptor::NewL(const TDesC8& aKey, 
+	TInt aEffectiveKeyLenBits)
+	{
+	CRC2Decryptor* me = CRC2Decryptor::NewLC(aKey, aEffectiveKeyLenBits);
+	CleanupStack::Pop(me);
+	return (me);
+	}
+
+EXPORT_C CRC2Decryptor* CRC2Decryptor::NewLC(const TDesC8& aKey, 
+	TInt aEffectiveKeyLenBits)
+	{
+	CRC2Decryptor* me = new (ELeave) CRC2Decryptor;
+	CleanupStack::PushL(me);	//	Does not leave but function requires it be Push-ed
+	me->SetKey(aKey, aEffectiveKeyLenBits);
+	// weak enough if either aKey or aEffectiveKeyLenBits is weak
+	TInt minKeySize = Min(aEffectiveKeyLenBits, BytesToBits(aKey.Size()));
+	TCrypto::IsSymmetricWeakEnoughL(minKeySize);
+	return (me);
+	}
+
+#pragma warning (disable : 4244)	//	conversion from 'int' to 'unsigned short', possible loss of data
+void CRC2Decryptor::Transform(TDes8& aBlock)
+	{
+	assert(aBlock.Size() == KRC2BlockBytes);
+
+	TUint16 R0, R1, R2, R3;
+	GetBlockLittleEndian((TUint8*)&aBlock[0], R0, R1, R2, R3);
+
+	TInt i = 15;
+	for (; i >= 0; i--)
+		{
+		if (i == 4 || i == 10)
+			{
+			R3 -= iK[R2 & 63];
+			R2 -= iK[R1 & 63];
+			R1 -= iK[R0 & 63];
+			R0 -= iK[R3 & 63];
+			}
+
+		R3 = rotrFixed(R3, 5);
+		R3 -= (R0 & ~R2) + (R1 & R2) + iK[4*i+3];
+
+		R2 = rotrFixed(R2, 3);
+		R2 -= (R3 & ~R1) + (R0 & R1) + iK[4*i+2];
+
+		R1 = rotrFixed(R1, 2);
+		R1 -= (R2 & ~R0) + (R3 & R0) + iK[4*i+1];
+
+		R0 = rotrFixed(R0, 1);
+		R0 -= (R1 & ~R3) + (R2 & R3) + iK[4*i+0];
+		}
+
+	PutBlockLittleEndian((TUint8*)&aBlock[0], R0, R1, R2, R3);
+	}
+
+#pragma warning (default : 4244)	//	conversion from 'int' to 'unsigned short', possible loss of data
+
+CRC2Decryptor::CRC2Decryptor(void)
+	{
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/symmetric/rc2table.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,53 @@
+/*
+* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* RC2 Table
+*
+*/
+
+
+/**
+ @file 
+ @internalComponent 
+*/
+ 
+#ifndef __RC2TABLES_H__
+#define __RC2TABLES_H__
+
+#include <e32std.h>
+
+namespace RC2_TABLE
+{
+	const TUint8 PITABLE[256] = 
+	{
+		217,120,249,196, 25,221,181,237, 40,233,253,121, 74,160,216,157,
+		198,126, 55,131, 43,118, 83,142, 98, 76,100,136, 68,139,251,162,
+		 23,154, 89,245,135,179, 79, 19, 97, 69,109,141,  9,129,125, 50,
+		189,143, 64,235,134,183,123, 11,240,149, 33, 34, 92,107, 78,130,
+		 84,214,101,147,206, 96,178, 28,115, 86,192, 20,167,140,241,220,
+		 18,117,202, 31, 59,190,228,209, 66, 61,212, 48,163, 60,182, 38,
+		111,191, 14,218, 70,105,  7, 87, 39,242, 29,155,188,148, 67,  3,
+		248, 17,199,246,144,239, 62,231,  6,195,213, 47,200,102, 30,215,
+		  8,232,234,222,128, 82,238,247,132,170,114,172, 53, 77,106, 42,
+		150, 26,210,113, 90, 21, 73,116, 75,159,208, 94,  4, 24,164,236,
+		194,224, 65,110, 15, 81,203,204, 36,145,175, 80,161,244,112, 57,
+		153,124, 58,133, 35,184,180,122,252,  2, 54, 91, 37, 85,151, 49,
+		 45, 93,250,152,227,138,146,174,  5,223, 41, 16,103,108,186,201,
+		211,  0,230,207,225,158,168, 44, 99, 22,  1, 63, 88,226,137,169,
+		 13, 56, 52, 27,171, 51,255,176,187, 72, 12, 95,185,177,205, 46,
+		197,243,219, 71,229,165,156,119, 10,166, 32,104,254,127,193,173
+	};
+}
+	//	namespace RC2_TABLE
+#endif	//	__RC2TABLES_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/symmetric/rijndael.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,464 @@
+/*
+* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include "rijndael.h"
+#include "rijndaeltables.h"
+#include "../common/inlines.h"
+#include <cryptostrength.h>
+
+const TUint KAESKeyBytes128 = 16;
+const TUint KAESKeyBytes192 = 24;
+const TUint KAESKeyBytes256 = 32;
+const TUint KAESBlockBytes = 16;
+
+/* CRijndael */
+EXPORT_C CRijndael::CRijndael(void)
+	{
+	}
+
+void CRijndael::Reset()
+	{
+	SetKey(*iKey);
+	}
+
+TInt CRijndael::KeySize() const
+	{
+	return (4*(iRounds+1));
+	}
+
+CRijndael::~CRijndael()
+	{
+	delete iKey;
+	}
+
+void CRijndael::ConstructL(const TDesC8& aKey)
+	{
+	TUint keySize = aKey.Size();
+	assert((keySize==KAESKeyBytes128)||(keySize==KAESKeyBytes192)||(keySize==KAESKeyBytes256));
+	iKey = aKey.AllocL();
+	iRounds = keySize/4 + 6;
+	SetKey(aKey);
+	}
+
+void CRijndael::SetKey(const TDesC8& aKey)
+	{
+	TUint keySize = aKey.Size();
+	TUint32 temp; 
+	TUint32* rk = &iK[0];
+
+	TUint i = 0;
+
+	GetUserKeyBigEndian(rk, keySize/4, &aKey[0], keySize);
+
+	switch(keySize)
+		{
+		case (KAESKeyBytes128):
+			{
+			FOREVER
+				{
+				temp  = rk[3];
+				rk[4] = rk[0] ^
+					(RIJNDAEL_TABLE::Te4[GETBYTE(temp, 2)] & 0xff000000) ^
+					(RIJNDAEL_TABLE::Te4[GETBYTE(temp, 1)] & 0x00ff0000) ^
+					(RIJNDAEL_TABLE::Te4[GETBYTE(temp, 0)] & 0x0000ff00) ^
+					(RIJNDAEL_TABLE::Te4[GETBYTE(temp, 3)] & 0x000000ff) ^
+					RIJNDAEL_TABLE::rcon[i];
+				rk[5] = rk[1] ^ rk[4];
+				rk[6] = rk[2] ^ rk[5];
+				rk[7] = rk[3] ^ rk[6];
+				if (++i == 10)
+					break;
+				rk += 4;
+				}
+			}
+		break;
+
+		case (KAESKeyBytes192):
+			{
+			FOREVER
+				{
+				temp = rk[ 5];
+				rk[ 6] = rk[ 0] ^
+					(RIJNDAEL_TABLE::Te4[GETBYTE(temp, 2)] & 0xff000000) ^
+					(RIJNDAEL_TABLE::Te4[GETBYTE(temp, 1)] & 0x00ff0000) ^
+					(RIJNDAEL_TABLE::Te4[GETBYTE(temp, 0)] & 0x0000ff00) ^
+					(RIJNDAEL_TABLE::Te4[GETBYTE(temp, 3)] & 0x000000ff) ^
+					RIJNDAEL_TABLE::rcon[i];
+				rk[ 7] = rk[ 1] ^ rk[ 6];
+				rk[ 8] = rk[ 2] ^ rk[ 7];
+				rk[ 9] = rk[ 3] ^ rk[ 8];
+				if (++i == 8)
+					break;
+				rk[10] = rk[ 4] ^ rk[ 9];
+				rk[11] = rk[ 5] ^ rk[10];
+				rk += 6;
+				}
+			}
+		break;
+
+		case (KAESKeyBytes256):
+			{
+			FOREVER
+				{
+        		temp = rk[ 7];
+        		rk[ 8] = rk[ 0] ^
+        			(RIJNDAEL_TABLE::Te4[GETBYTE(temp, 2)] & 0xff000000) ^
+        			(RIJNDAEL_TABLE::Te4[GETBYTE(temp, 1)] & 0x00ff0000) ^
+        			(RIJNDAEL_TABLE::Te4[GETBYTE(temp, 0)] & 0x0000ff00) ^
+        			(RIJNDAEL_TABLE::Te4[GETBYTE(temp, 3)] & 0x000000ff) ^
+        			RIJNDAEL_TABLE::rcon[i];
+        		rk[ 9] = rk[ 1] ^ rk[ 8];
+        		rk[10] = rk[ 2] ^ rk[ 9];
+        		rk[11] = rk[ 3] ^ rk[10];
+				if (++i == 7)
+					break;
+        		temp = rk[11];
+        		rk[12] = rk[ 4] ^
+        			(RIJNDAEL_TABLE::Te4[GETBYTE(temp, 3)] & 0xff000000) ^
+        			(RIJNDAEL_TABLE::Te4[GETBYTE(temp, 2)] & 0x00ff0000) ^
+        			(RIJNDAEL_TABLE::Te4[GETBYTE(temp, 1)] & 0x0000ff00) ^
+        			(RIJNDAEL_TABLE::Te4[GETBYTE(temp, 0)] & 0x000000ff);
+        		rk[13] = rk[ 5] ^ rk[12];
+        		rk[14] = rk[ 6] ^ rk[13];
+        		rk[15] = rk[ 7] ^ rk[14];
+
+				rk += 8;
+				}
+			}
+		break;
+
+		default:
+			assert(0);	//	Shouldn't get here, keeps compiler happy
+		}
+	}
+
+
+/* CAESEncryptor */
+EXPORT_C CAESEncryptor* CAESEncryptor::NewL(const TDesC8& aKey)
+	{
+	CAESEncryptor* me = CAESEncryptor::NewLC(aKey);
+	CleanupStack::Pop(me);
+	return (me);
+	}
+
+EXPORT_C CAESEncryptor* CAESEncryptor::NewLC(const TDesC8& aKey)
+	{
+	CAESEncryptor* me = new (ELeave) CAESEncryptor();
+	CleanupStack::PushL(me);
+	me->ConstructL(aKey);
+	TCrypto::IsSymmetricWeakEnoughL(BytesToBits(aKey.Size()));
+	return (me);
+	}
+
+TInt CAESEncryptor::BlockSize() const
+	{
+	return KAESBlockBytes;
+	}
+
+void CAESEncryptor::Transform(TDes8& aBlock)
+	{
+	assert((TUint)aBlock.Size()==KAESBlockBytes);
+	
+	TUint32 s0, s1, s2, s3, t0, t1, t2, t3;
+	const TUint32* rk = &iK[0];
+
+/*
+ *	map byte array block to cipher state
+ *	and add initial round key:
+*/
+	GetBlockBigEndian((TUint8*)&aBlock[0], s0, s1, s2, s3);
+	s0 ^= rk[0];
+	s1 ^= rk[1];
+	s2 ^= rk[2];
+	s3 ^= rk[3];
+/*
+ *	Nr - 1 full rounds:
+*/
+    TUint r = iRounds >> 1;
+	FOREVER
+		{
+        t0 =
+            RIJNDAEL_TABLE::Te0[GETBYTE(s0, 3)] ^
+            RIJNDAEL_TABLE::Te1[GETBYTE(s1, 2)] ^
+            RIJNDAEL_TABLE::Te2[GETBYTE(s2, 1)] ^
+            RIJNDAEL_TABLE::Te3[GETBYTE(s3, 0)] ^
+            rk[4];
+        t1 =
+            RIJNDAEL_TABLE::Te0[GETBYTE(s1, 3)] ^
+            RIJNDAEL_TABLE::Te1[GETBYTE(s2, 2)] ^
+            RIJNDAEL_TABLE::Te2[GETBYTE(s3, 1)] ^
+            RIJNDAEL_TABLE::Te3[GETBYTE(s0, 0)] ^
+            rk[5];
+        t2 =
+            RIJNDAEL_TABLE::Te0[GETBYTE(s2, 3)] ^
+            RIJNDAEL_TABLE::Te1[GETBYTE(s3, 2)] ^
+            RIJNDAEL_TABLE::Te2[GETBYTE(s0, 1)] ^
+            RIJNDAEL_TABLE::Te3[GETBYTE(s1, 0)] ^
+            rk[6];
+        t3 =
+            RIJNDAEL_TABLE::Te0[GETBYTE(s3, 3)] ^
+            RIJNDAEL_TABLE::Te1[GETBYTE(s0, 2)] ^
+            RIJNDAEL_TABLE::Te2[GETBYTE(s1, 1)] ^
+            RIJNDAEL_TABLE::Te3[GETBYTE(s2, 0)] ^
+            rk[7];
+
+        rk += 8;
+        if (--r == 0) 
+			break;
+        
+        s0 =
+            RIJNDAEL_TABLE::Te0[GETBYTE(t0, 3)] ^
+            RIJNDAEL_TABLE::Te1[GETBYTE(t1, 2)] ^
+            RIJNDAEL_TABLE::Te2[GETBYTE(t2, 1)] ^
+            RIJNDAEL_TABLE::Te3[GETBYTE(t3, 0)] ^
+            rk[0];
+        s1 =
+            RIJNDAEL_TABLE::Te0[GETBYTE(t1, 3)] ^
+            RIJNDAEL_TABLE::Te1[GETBYTE(t2, 2)] ^
+            RIJNDAEL_TABLE::Te2[GETBYTE(t3, 1)] ^
+            RIJNDAEL_TABLE::Te3[GETBYTE(t0, 0)] ^
+            rk[1];
+        s2 =
+            RIJNDAEL_TABLE::Te0[GETBYTE(t2, 3)] ^
+            RIJNDAEL_TABLE::Te1[GETBYTE(t3, 2)] ^
+            RIJNDAEL_TABLE::Te2[GETBYTE(t0, 1)] ^
+            RIJNDAEL_TABLE::Te3[GETBYTE(t1, 0)] ^
+            rk[2];
+        s3 =
+            RIJNDAEL_TABLE::Te0[GETBYTE(t3, 3)] ^
+            RIJNDAEL_TABLE::Te1[GETBYTE(t0, 2)] ^
+            RIJNDAEL_TABLE::Te2[GETBYTE(t1, 1)] ^
+            RIJNDAEL_TABLE::Te3[GETBYTE(t2, 0)] ^
+            rk[3];
+		}
+/*
+ *	apply last round and
+ *	map cipher state to byte array block:
+*/
+
+	s0 =
+		(RIJNDAEL_TABLE::Te4[GETBYTE(t0, 3)] & 0xff000000) ^
+		(RIJNDAEL_TABLE::Te4[GETBYTE(t1, 2)] & 0x00ff0000) ^
+		(RIJNDAEL_TABLE::Te4[GETBYTE(t2, 1)] & 0x0000ff00) ^
+		(RIJNDAEL_TABLE::Te4[GETBYTE(t3, 0)] & 0x000000ff) ^
+		rk[0];
+	s1 =
+		(RIJNDAEL_TABLE::Te4[GETBYTE(t1, 3)] & 0xff000000) ^
+		(RIJNDAEL_TABLE::Te4[GETBYTE(t2, 2)] & 0x00ff0000) ^
+		(RIJNDAEL_TABLE::Te4[GETBYTE(t3, 1)] & 0x0000ff00) ^
+		(RIJNDAEL_TABLE::Te4[GETBYTE(t0, 0)] & 0x000000ff) ^
+		rk[1];
+	s2 =
+		(RIJNDAEL_TABLE::Te4[GETBYTE(t2, 3)] & 0xff000000) ^
+		(RIJNDAEL_TABLE::Te4[GETBYTE(t3, 2)] & 0x00ff0000) ^
+		(RIJNDAEL_TABLE::Te4[GETBYTE(t0, 1)] & 0x0000ff00) ^
+		(RIJNDAEL_TABLE::Te4[GETBYTE(t1, 0)] & 0x000000ff) ^
+		rk[2];
+	s3 =
+		(RIJNDAEL_TABLE::Te4[GETBYTE(t3, 3)] & 0xff000000) ^
+		(RIJNDAEL_TABLE::Te4[GETBYTE(t0, 2)] & 0x00ff0000) ^
+		(RIJNDAEL_TABLE::Te4[GETBYTE(t1, 1)] & 0x0000ff00) ^
+		(RIJNDAEL_TABLE::Te4[GETBYTE(t2, 0)] & 0x000000ff) ^
+		rk[3];
+
+	PutBlockBigEndian((TUint8*)&aBlock[0], s0, s1, s2, s3);
+	}
+
+CAESEncryptor::CAESEncryptor(void)
+	{
+	}
+
+/* CAESDecryptor */
+EXPORT_C CAESDecryptor* CAESDecryptor::NewL(const TDesC8& aKey)
+	{
+	CAESDecryptor* me = CAESDecryptor::NewLC(aKey);
+	CleanupStack::Pop(me);
+	return (me);
+	}
+
+
+EXPORT_C CAESDecryptor* CAESDecryptor::NewLC(const TDesC8& aKey)
+	{
+	CAESDecryptor* me = new (ELeave) CAESDecryptor();
+	CleanupStack::PushL(me);
+	me->ConstructL(aKey);
+	TCrypto::IsSymmetricWeakEnoughL(BytesToBits(aKey.Size()));
+	return (me);
+	}
+
+TInt CAESDecryptor::BlockSize() const
+	{
+	return KAESBlockBytes;
+	}
+
+void CAESDecryptor::Transform(TDes8& aBlock)
+	{
+	TUint32 s0, s1, s2, s3, t0, t1, t2, t3;
+    const TUint32* rk = &iK[0];
+
+/*
+ *	map byte array block to cipher state
+ *	and add initial round key:
+*/
+	GetBlockBigEndian((TUint8*)&aBlock[0], s0, s1, s2, s3);
+
+	s0 ^= rk[0];
+	s1 ^= rk[1];
+	s2 ^= rk[2];
+	s3 ^= rk[3];
+/*
+ *	Nr - 1 full rounds:
+*/
+    TUint r = iRounds >> 1;
+    FOREVER
+		{
+        t0 =
+            RIJNDAEL_TABLE::Td0[GETBYTE(s0, 3)] ^
+            RIJNDAEL_TABLE::Td1[GETBYTE(s3, 2)] ^
+            RIJNDAEL_TABLE::Td2[GETBYTE(s2, 1)] ^
+            RIJNDAEL_TABLE::Td3[GETBYTE(s1, 0)] ^
+            rk[4];
+        t1 =
+            RIJNDAEL_TABLE::Td0[GETBYTE(s1, 3)] ^
+            RIJNDAEL_TABLE::Td1[GETBYTE(s0, 2)] ^
+            RIJNDAEL_TABLE::Td2[GETBYTE(s3, 1)] ^
+            RIJNDAEL_TABLE::Td3[GETBYTE(s2, 0)] ^
+            rk[5];
+        t2 =
+            RIJNDAEL_TABLE::Td0[GETBYTE(s2, 3)] ^
+            RIJNDAEL_TABLE::Td1[GETBYTE(s1, 2)] ^
+            RIJNDAEL_TABLE::Td2[GETBYTE(s0, 1)] ^
+            RIJNDAEL_TABLE::Td3[GETBYTE(s3, 0)] ^
+            rk[6];
+        t3 =
+            RIJNDAEL_TABLE::Td0[GETBYTE(s3, 3)] ^
+            RIJNDAEL_TABLE::Td1[GETBYTE(s2, 2)] ^
+            RIJNDAEL_TABLE::Td2[GETBYTE(s1, 1)] ^
+            RIJNDAEL_TABLE::Td3[GETBYTE(s0, 0)] ^
+            rk[7];
+
+        rk += 8;
+        if (--r == 0)
+            break;
+        
+        s0 =
+            RIJNDAEL_TABLE::Td0[GETBYTE(t0, 3)] ^
+            RIJNDAEL_TABLE::Td1[GETBYTE(t3, 2)] ^
+            RIJNDAEL_TABLE::Td2[GETBYTE(t2, 1)] ^
+            RIJNDAEL_TABLE::Td3[GETBYTE(t1, 0)] ^
+            rk[0];
+        s1 =
+            RIJNDAEL_TABLE::Td0[GETBYTE(t1, 3)] ^
+            RIJNDAEL_TABLE::Td1[GETBYTE(t0, 2)] ^
+            RIJNDAEL_TABLE::Td2[GETBYTE(t3, 1)] ^
+            RIJNDAEL_TABLE::Td3[GETBYTE(t2, 0)] ^
+            rk[1];
+        s2 =
+            RIJNDAEL_TABLE::Td0[GETBYTE(t2, 3)] ^
+            RIJNDAEL_TABLE::Td1[GETBYTE(t1, 2)] ^
+            RIJNDAEL_TABLE::Td2[GETBYTE(t0, 1)] ^
+            RIJNDAEL_TABLE::Td3[GETBYTE(t3, 0)] ^
+            rk[2];
+        s3 =
+            RIJNDAEL_TABLE::Td0[GETBYTE(t3, 3)] ^
+            RIJNDAEL_TABLE::Td1[GETBYTE(t2, 2)] ^
+            RIJNDAEL_TABLE::Td2[GETBYTE(t1, 1)] ^
+            RIJNDAEL_TABLE::Td3[GETBYTE(t0, 0)] ^
+            rk[3];
+		}
+/*
+ *	apply last round and
+ *	map cipher state to byte array block:
+*/
+   	s0 =
+   		(RIJNDAEL_TABLE::Td4[GETBYTE(t0, 3)] & 0xff000000) ^
+   		(RIJNDAEL_TABLE::Td4[GETBYTE(t3, 2)] & 0x00ff0000) ^
+   		(RIJNDAEL_TABLE::Td4[GETBYTE(t2, 1)] & 0x0000ff00) ^
+   		(RIJNDAEL_TABLE::Td4[GETBYTE(t1, 0)] & 0x000000ff) ^
+   		rk[0];
+   	s1 =
+   		(RIJNDAEL_TABLE::Td4[GETBYTE(t1, 3)] & 0xff000000) ^
+   		(RIJNDAEL_TABLE::Td4[GETBYTE(t0, 2)] & 0x00ff0000) ^
+   		(RIJNDAEL_TABLE::Td4[GETBYTE(t3, 1)] & 0x0000ff00) ^
+   		(RIJNDAEL_TABLE::Td4[GETBYTE(t2, 0)] & 0x000000ff) ^
+   		rk[1];
+   	s2 =
+   		(RIJNDAEL_TABLE::Td4[GETBYTE(t2, 3)] & 0xff000000) ^
+   		(RIJNDAEL_TABLE::Td4[GETBYTE(t1, 2)] & 0x00ff0000) ^
+   		(RIJNDAEL_TABLE::Td4[GETBYTE(t0, 1)] & 0x0000ff00) ^
+   		(RIJNDAEL_TABLE::Td4[GETBYTE(t3, 0)] & 0x000000ff) ^
+   		rk[2];
+   	s3 =
+   		(RIJNDAEL_TABLE::Td4[GETBYTE(t3, 3)] & 0xff000000) ^
+   		(RIJNDAEL_TABLE::Td4[GETBYTE(t2, 2)] & 0x00ff0000) ^
+   		(RIJNDAEL_TABLE::Td4[GETBYTE(t1, 1)] & 0x0000ff00) ^
+   		(RIJNDAEL_TABLE::Td4[GETBYTE(t0, 0)] & 0x000000ff) ^
+   		rk[3];
+
+	
+	PutBlockBigEndian((TUint8*)&aBlock[0], s0, s1, s2, s3);
+	}
+
+
+void CAESDecryptor::SetKey(const TDesC8& aKey)
+	{
+	CRijndael::SetKey(aKey);
+
+	TUint i, j;
+	TUint32* rk = &iK[0];
+	TUint32 temp;
+
+//	invert the order of the round keys 
+	for (i = 0, j = 4*iRounds; i < j; i += 4, j -= 4)
+		{
+		temp = rk[i    ]; rk[i    ] = rk[j    ]; rk[j    ] = temp;
+		temp = rk[i + 1]; rk[i + 1] = rk[j + 1]; rk[j + 1] = temp;
+		temp = rk[i + 2]; rk[i + 2] = rk[j + 2]; rk[j + 2] = temp;
+		temp = rk[i + 3]; rk[i + 3] = rk[j + 3]; rk[j + 3] = temp;
+		}
+
+//	apply the inverse MixColumn transform to all round keys but the first and the last
+	for (i = 1; i < iRounds; i++)
+		{
+		rk += 4;
+		rk[0] =
+			RIJNDAEL_TABLE::Td0[RIJNDAEL_TABLE::Te4[GETBYTE(rk[0], 3)] & 0xff] ^
+			RIJNDAEL_TABLE::Td1[RIJNDAEL_TABLE::Te4[GETBYTE(rk[0], 2)] & 0xff] ^
+			RIJNDAEL_TABLE::Td2[RIJNDAEL_TABLE::Te4[GETBYTE(rk[0], 1)] & 0xff] ^
+			RIJNDAEL_TABLE::Td3[RIJNDAEL_TABLE::Te4[GETBYTE(rk[0], 0)] & 0xff];
+		rk[1] =
+			RIJNDAEL_TABLE::Td0[RIJNDAEL_TABLE::Te4[GETBYTE(rk[1], 3)] & 0xff] ^
+			RIJNDAEL_TABLE::Td1[RIJNDAEL_TABLE::Te4[GETBYTE(rk[1], 2)] & 0xff] ^
+			RIJNDAEL_TABLE::Td2[RIJNDAEL_TABLE::Te4[GETBYTE(rk[1], 1)] & 0xff] ^
+			RIJNDAEL_TABLE::Td3[RIJNDAEL_TABLE::Te4[GETBYTE(rk[1], 0)] & 0xff];
+		rk[2] =
+			RIJNDAEL_TABLE::Td0[RIJNDAEL_TABLE::Te4[GETBYTE(rk[2], 3)] & 0xff] ^
+			RIJNDAEL_TABLE::Td1[RIJNDAEL_TABLE::Te4[GETBYTE(rk[2], 2)] & 0xff] ^
+			RIJNDAEL_TABLE::Td2[RIJNDAEL_TABLE::Te4[GETBYTE(rk[2], 1)] & 0xff] ^
+			RIJNDAEL_TABLE::Td3[RIJNDAEL_TABLE::Te4[GETBYTE(rk[2], 0)] & 0xff];
+		rk[3] =
+			RIJNDAEL_TABLE::Td0[RIJNDAEL_TABLE::Te4[GETBYTE(rk[3], 3)] & 0xff] ^
+			RIJNDAEL_TABLE::Td1[RIJNDAEL_TABLE::Te4[GETBYTE(rk[3], 2)] & 0xff] ^
+			RIJNDAEL_TABLE::Td2[RIJNDAEL_TABLE::Te4[GETBYTE(rk[3], 1)] & 0xff] ^
+			RIJNDAEL_TABLE::Td3[RIJNDAEL_TABLE::Te4[GETBYTE(rk[3], 0)] & 0xff];
+		}
+	}
+
+CAESDecryptor::CAESDecryptor()
+	{	
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/source/symmetric/rijndaeltables.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,723 @@
+/*
+* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* Rijndael Tables
+*
+*/
+
+
+/**
+ @file 
+ @internalComponent 
+*/
+ 
+#ifndef __RIJNDAELTABLES_H__
+#define __RIJNDAELTABLES_H__
+
+#include <e32std.h>
+
+namespace RIJNDAEL_TABLE
+{
+
+/*
+Te0[x] = S [x].[02, 01, 01, 03];
+Te1[x] = S [x].[03, 02, 01, 01];
+Te2[x] = S [x].[01, 03, 02, 01];
+Te3[x] = S [x].[01, 01, 03, 02];
+Te4[x] = S [x].[01, 01, 01, 01];
+
+Td0[x] = Si[x].[0e, 09, 0d, 0b];
+Td1[x] = Si[x].[0b, 0e, 09, 0d];
+Td2[x] = Si[x].[0d, 0b, 0e, 09];
+Td3[x] = Si[x].[09, 0d, 0b, 0e];
+Td4[x] = Si[x].[01, 01, 01, 01];
+*/
+
+const TUint32 Te0[256] = {
+    0xc66363a5U, 0xf87c7c84U, 0xee777799U, 0xf67b7b8dU,
+    0xfff2f20dU, 0xd66b6bbdU, 0xde6f6fb1U, 0x91c5c554U,
+    0x60303050U, 0x02010103U, 0xce6767a9U, 0x562b2b7dU,
+    0xe7fefe19U, 0xb5d7d762U, 0x4dababe6U, 0xec76769aU,
+    0x8fcaca45U, 0x1f82829dU, 0x89c9c940U, 0xfa7d7d87U,
+    0xeffafa15U, 0xb25959ebU, 0x8e4747c9U, 0xfbf0f00bU,
+    0x41adadecU, 0xb3d4d467U, 0x5fa2a2fdU, 0x45afafeaU,
+    0x239c9cbfU, 0x53a4a4f7U, 0xe4727296U, 0x9bc0c05bU,
+    0x75b7b7c2U, 0xe1fdfd1cU, 0x3d9393aeU, 0x4c26266aU,
+    0x6c36365aU, 0x7e3f3f41U, 0xf5f7f702U, 0x83cccc4fU,
+    0x6834345cU, 0x51a5a5f4U, 0xd1e5e534U, 0xf9f1f108U,
+    0xe2717193U, 0xabd8d873U, 0x62313153U, 0x2a15153fU,
+    0x0804040cU, 0x95c7c752U, 0x46232365U, 0x9dc3c35eU,
+    0x30181828U, 0x379696a1U, 0x0a05050fU, 0x2f9a9ab5U,
+    0x0e070709U, 0x24121236U, 0x1b80809bU, 0xdfe2e23dU,
+    0xcdebeb26U, 0x4e272769U, 0x7fb2b2cdU, 0xea75759fU,
+    0x1209091bU, 0x1d83839eU, 0x582c2c74U, 0x341a1a2eU,
+    0x361b1b2dU, 0xdc6e6eb2U, 0xb45a5aeeU, 0x5ba0a0fbU,
+    0xa45252f6U, 0x763b3b4dU, 0xb7d6d661U, 0x7db3b3ceU,
+    0x5229297bU, 0xdde3e33eU, 0x5e2f2f71U, 0x13848497U,
+    0xa65353f5U, 0xb9d1d168U, 0x00000000U, 0xc1eded2cU,
+    0x40202060U, 0xe3fcfc1fU, 0x79b1b1c8U, 0xb65b5bedU,
+    0xd46a6abeU, 0x8dcbcb46U, 0x67bebed9U, 0x7239394bU,
+    0x944a4adeU, 0x984c4cd4U, 0xb05858e8U, 0x85cfcf4aU,
+    0xbbd0d06bU, 0xc5efef2aU, 0x4faaaae5U, 0xedfbfb16U,
+    0x864343c5U, 0x9a4d4dd7U, 0x66333355U, 0x11858594U,
+    0x8a4545cfU, 0xe9f9f910U, 0x04020206U, 0xfe7f7f81U,
+    0xa05050f0U, 0x783c3c44U, 0x259f9fbaU, 0x4ba8a8e3U,
+    0xa25151f3U, 0x5da3a3feU, 0x804040c0U, 0x058f8f8aU,
+    0x3f9292adU, 0x219d9dbcU, 0x70383848U, 0xf1f5f504U,
+    0x63bcbcdfU, 0x77b6b6c1U, 0xafdada75U, 0x42212163U,
+    0x20101030U, 0xe5ffff1aU, 0xfdf3f30eU, 0xbfd2d26dU,
+    0x81cdcd4cU, 0x180c0c14U, 0x26131335U, 0xc3ecec2fU,
+    0xbe5f5fe1U, 0x359797a2U, 0x884444ccU, 0x2e171739U,
+    0x93c4c457U, 0x55a7a7f2U, 0xfc7e7e82U, 0x7a3d3d47U,
+    0xc86464acU, 0xba5d5de7U, 0x3219192bU, 0xe6737395U,
+    0xc06060a0U, 0x19818198U, 0x9e4f4fd1U, 0xa3dcdc7fU,
+    0x44222266U, 0x542a2a7eU, 0x3b9090abU, 0x0b888883U,
+    0x8c4646caU, 0xc7eeee29U, 0x6bb8b8d3U, 0x2814143cU,
+    0xa7dede79U, 0xbc5e5ee2U, 0x160b0b1dU, 0xaddbdb76U,
+    0xdbe0e03bU, 0x64323256U, 0x743a3a4eU, 0x140a0a1eU,
+    0x924949dbU, 0x0c06060aU, 0x4824246cU, 0xb85c5ce4U,
+    0x9fc2c25dU, 0xbdd3d36eU, 0x43acacefU, 0xc46262a6U,
+    0x399191a8U, 0x319595a4U, 0xd3e4e437U, 0xf279798bU,
+    0xd5e7e732U, 0x8bc8c843U, 0x6e373759U, 0xda6d6db7U,
+    0x018d8d8cU, 0xb1d5d564U, 0x9c4e4ed2U, 0x49a9a9e0U,
+    0xd86c6cb4U, 0xac5656faU, 0xf3f4f407U, 0xcfeaea25U,
+    0xca6565afU, 0xf47a7a8eU, 0x47aeaee9U, 0x10080818U,
+    0x6fbabad5U, 0xf0787888U, 0x4a25256fU, 0x5c2e2e72U,
+    0x381c1c24U, 0x57a6a6f1U, 0x73b4b4c7U, 0x97c6c651U,
+    0xcbe8e823U, 0xa1dddd7cU, 0xe874749cU, 0x3e1f1f21U,
+    0x964b4bddU, 0x61bdbddcU, 0x0d8b8b86U, 0x0f8a8a85U,
+    0xe0707090U, 0x7c3e3e42U, 0x71b5b5c4U, 0xcc6666aaU,
+    0x904848d8U, 0x06030305U, 0xf7f6f601U, 0x1c0e0e12U,
+    0xc26161a3U, 0x6a35355fU, 0xae5757f9U, 0x69b9b9d0U,
+    0x17868691U, 0x99c1c158U, 0x3a1d1d27U, 0x279e9eb9U,
+    0xd9e1e138U, 0xebf8f813U, 0x2b9898b3U, 0x22111133U,
+    0xd26969bbU, 0xa9d9d970U, 0x078e8e89U, 0x339494a7U,
+    0x2d9b9bb6U, 0x3c1e1e22U, 0x15878792U, 0xc9e9e920U,
+    0x87cece49U, 0xaa5555ffU, 0x50282878U, 0xa5dfdf7aU,
+    0x038c8c8fU, 0x59a1a1f8U, 0x09898980U, 0x1a0d0d17U,
+    0x65bfbfdaU, 0xd7e6e631U, 0x844242c6U, 0xd06868b8U,
+    0x824141c3U, 0x299999b0U, 0x5a2d2d77U, 0x1e0f0f11U,
+    0x7bb0b0cbU, 0xa85454fcU, 0x6dbbbbd6U, 0x2c16163aU,
+};
+const TUint32 Te1[256] = {
+    0xa5c66363U, 0x84f87c7cU, 0x99ee7777U, 0x8df67b7bU,
+    0x0dfff2f2U, 0xbdd66b6bU, 0xb1de6f6fU, 0x5491c5c5U,
+    0x50603030U, 0x03020101U, 0xa9ce6767U, 0x7d562b2bU,
+    0x19e7fefeU, 0x62b5d7d7U, 0xe64dababU, 0x9aec7676U,
+    0x458fcacaU, 0x9d1f8282U, 0x4089c9c9U, 0x87fa7d7dU,
+    0x15effafaU, 0xebb25959U, 0xc98e4747U, 0x0bfbf0f0U,
+    0xec41adadU, 0x67b3d4d4U, 0xfd5fa2a2U, 0xea45afafU,
+    0xbf239c9cU, 0xf753a4a4U, 0x96e47272U, 0x5b9bc0c0U,
+    0xc275b7b7U, 0x1ce1fdfdU, 0xae3d9393U, 0x6a4c2626U,
+    0x5a6c3636U, 0x417e3f3fU, 0x02f5f7f7U, 0x4f83ccccU,
+    0x5c683434U, 0xf451a5a5U, 0x34d1e5e5U, 0x08f9f1f1U,
+    0x93e27171U, 0x73abd8d8U, 0x53623131U, 0x3f2a1515U,
+    0x0c080404U, 0x5295c7c7U, 0x65462323U, 0x5e9dc3c3U,
+    0x28301818U, 0xa1379696U, 0x0f0a0505U, 0xb52f9a9aU,
+    0x090e0707U, 0x36241212U, 0x9b1b8080U, 0x3ddfe2e2U,
+    0x26cdebebU, 0x694e2727U, 0xcd7fb2b2U, 0x9fea7575U,
+    0x1b120909U, 0x9e1d8383U, 0x74582c2cU, 0x2e341a1aU,
+    0x2d361b1bU, 0xb2dc6e6eU, 0xeeb45a5aU, 0xfb5ba0a0U,
+    0xf6a45252U, 0x4d763b3bU, 0x61b7d6d6U, 0xce7db3b3U,
+    0x7b522929U, 0x3edde3e3U, 0x715e2f2fU, 0x97138484U,
+    0xf5a65353U, 0x68b9d1d1U, 0x00000000U, 0x2cc1ededU,
+    0x60402020U, 0x1fe3fcfcU, 0xc879b1b1U, 0xedb65b5bU,
+    0xbed46a6aU, 0x468dcbcbU, 0xd967bebeU, 0x4b723939U,
+    0xde944a4aU, 0xd4984c4cU, 0xe8b05858U, 0x4a85cfcfU,
+    0x6bbbd0d0U, 0x2ac5efefU, 0xe54faaaaU, 0x16edfbfbU,
+    0xc5864343U, 0xd79a4d4dU, 0x55663333U, 0x94118585U,
+    0xcf8a4545U, 0x10e9f9f9U, 0x06040202U, 0x81fe7f7fU,
+    0xf0a05050U, 0x44783c3cU, 0xba259f9fU, 0xe34ba8a8U,
+    0xf3a25151U, 0xfe5da3a3U, 0xc0804040U, 0x8a058f8fU,
+    0xad3f9292U, 0xbc219d9dU, 0x48703838U, 0x04f1f5f5U,
+    0xdf63bcbcU, 0xc177b6b6U, 0x75afdadaU, 0x63422121U,
+    0x30201010U, 0x1ae5ffffU, 0x0efdf3f3U, 0x6dbfd2d2U,
+    0x4c81cdcdU, 0x14180c0cU, 0x35261313U, 0x2fc3ececU,
+    0xe1be5f5fU, 0xa2359797U, 0xcc884444U, 0x392e1717U,
+    0x5793c4c4U, 0xf255a7a7U, 0x82fc7e7eU, 0x477a3d3dU,
+    0xacc86464U, 0xe7ba5d5dU, 0x2b321919U, 0x95e67373U,
+    0xa0c06060U, 0x98198181U, 0xd19e4f4fU, 0x7fa3dcdcU,
+    0x66442222U, 0x7e542a2aU, 0xab3b9090U, 0x830b8888U,
+    0xca8c4646U, 0x29c7eeeeU, 0xd36bb8b8U, 0x3c281414U,
+    0x79a7dedeU, 0xe2bc5e5eU, 0x1d160b0bU, 0x76addbdbU,
+    0x3bdbe0e0U, 0x56643232U, 0x4e743a3aU, 0x1e140a0aU,
+    0xdb924949U, 0x0a0c0606U, 0x6c482424U, 0xe4b85c5cU,
+    0x5d9fc2c2U, 0x6ebdd3d3U, 0xef43acacU, 0xa6c46262U,
+    0xa8399191U, 0xa4319595U, 0x37d3e4e4U, 0x8bf27979U,
+    0x32d5e7e7U, 0x438bc8c8U, 0x596e3737U, 0xb7da6d6dU,
+    0x8c018d8dU, 0x64b1d5d5U, 0xd29c4e4eU, 0xe049a9a9U,
+    0xb4d86c6cU, 0xfaac5656U, 0x07f3f4f4U, 0x25cfeaeaU,
+    0xafca6565U, 0x8ef47a7aU, 0xe947aeaeU, 0x18100808U,
+    0xd56fbabaU, 0x88f07878U, 0x6f4a2525U, 0x725c2e2eU,
+    0x24381c1cU, 0xf157a6a6U, 0xc773b4b4U, 0x5197c6c6U,
+    0x23cbe8e8U, 0x7ca1ddddU, 0x9ce87474U, 0x213e1f1fU,
+    0xdd964b4bU, 0xdc61bdbdU, 0x860d8b8bU, 0x850f8a8aU,
+    0x90e07070U, 0x427c3e3eU, 0xc471b5b5U, 0xaacc6666U,
+    0xd8904848U, 0x05060303U, 0x01f7f6f6U, 0x121c0e0eU,
+    0xa3c26161U, 0x5f6a3535U, 0xf9ae5757U, 0xd069b9b9U,
+    0x91178686U, 0x5899c1c1U, 0x273a1d1dU, 0xb9279e9eU,
+    0x38d9e1e1U, 0x13ebf8f8U, 0xb32b9898U, 0x33221111U,
+    0xbbd26969U, 0x70a9d9d9U, 0x89078e8eU, 0xa7339494U,
+    0xb62d9b9bU, 0x223c1e1eU, 0x92158787U, 0x20c9e9e9U,
+    0x4987ceceU, 0xffaa5555U, 0x78502828U, 0x7aa5dfdfU,
+    0x8f038c8cU, 0xf859a1a1U, 0x80098989U, 0x171a0d0dU,
+    0xda65bfbfU, 0x31d7e6e6U, 0xc6844242U, 0xb8d06868U,
+    0xc3824141U, 0xb0299999U, 0x775a2d2dU, 0x111e0f0fU,
+    0xcb7bb0b0U, 0xfca85454U, 0xd66dbbbbU, 0x3a2c1616U,
+};
+const TUint32 Te2[256] = {
+    0x63a5c663U, 0x7c84f87cU, 0x7799ee77U, 0x7b8df67bU,
+    0xf20dfff2U, 0x6bbdd66bU, 0x6fb1de6fU, 0xc55491c5U,
+    0x30506030U, 0x01030201U, 0x67a9ce67U, 0x2b7d562bU,
+    0xfe19e7feU, 0xd762b5d7U, 0xabe64dabU, 0x769aec76U,
+    0xca458fcaU, 0x829d1f82U, 0xc94089c9U, 0x7d87fa7dU,
+    0xfa15effaU, 0x59ebb259U, 0x47c98e47U, 0xf00bfbf0U,
+    0xadec41adU, 0xd467b3d4U, 0xa2fd5fa2U, 0xafea45afU,
+    0x9cbf239cU, 0xa4f753a4U, 0x7296e472U, 0xc05b9bc0U,
+    0xb7c275b7U, 0xfd1ce1fdU, 0x93ae3d93U, 0x266a4c26U,
+    0x365a6c36U, 0x3f417e3fU, 0xf702f5f7U, 0xcc4f83ccU,
+    0x345c6834U, 0xa5f451a5U, 0xe534d1e5U, 0xf108f9f1U,
+    0x7193e271U, 0xd873abd8U, 0x31536231U, 0x153f2a15U,
+    0x040c0804U, 0xc75295c7U, 0x23654623U, 0xc35e9dc3U,
+    0x18283018U, 0x96a13796U, 0x050f0a05U, 0x9ab52f9aU,
+    0x07090e07U, 0x12362412U, 0x809b1b80U, 0xe23ddfe2U,
+    0xeb26cdebU, 0x27694e27U, 0xb2cd7fb2U, 0x759fea75U,
+    0x091b1209U, 0x839e1d83U, 0x2c74582cU, 0x1a2e341aU,
+    0x1b2d361bU, 0x6eb2dc6eU, 0x5aeeb45aU, 0xa0fb5ba0U,
+    0x52f6a452U, 0x3b4d763bU, 0xd661b7d6U, 0xb3ce7db3U,
+    0x297b5229U, 0xe33edde3U, 0x2f715e2fU, 0x84971384U,
+    0x53f5a653U, 0xd168b9d1U, 0x00000000U, 0xed2cc1edU,
+    0x20604020U, 0xfc1fe3fcU, 0xb1c879b1U, 0x5bedb65bU,
+    0x6abed46aU, 0xcb468dcbU, 0xbed967beU, 0x394b7239U,
+    0x4ade944aU, 0x4cd4984cU, 0x58e8b058U, 0xcf4a85cfU,
+    0xd06bbbd0U, 0xef2ac5efU, 0xaae54faaU, 0xfb16edfbU,
+    0x43c58643U, 0x4dd79a4dU, 0x33556633U, 0x85941185U,
+    0x45cf8a45U, 0xf910e9f9U, 0x02060402U, 0x7f81fe7fU,
+    0x50f0a050U, 0x3c44783cU, 0x9fba259fU, 0xa8e34ba8U,
+    0x51f3a251U, 0xa3fe5da3U, 0x40c08040U, 0x8f8a058fU,
+    0x92ad3f92U, 0x9dbc219dU, 0x38487038U, 0xf504f1f5U,
+    0xbcdf63bcU, 0xb6c177b6U, 0xda75afdaU, 0x21634221U,
+    0x10302010U, 0xff1ae5ffU, 0xf30efdf3U, 0xd26dbfd2U,
+    0xcd4c81cdU, 0x0c14180cU, 0x13352613U, 0xec2fc3ecU,
+    0x5fe1be5fU, 0x97a23597U, 0x44cc8844U, 0x17392e17U,
+    0xc45793c4U, 0xa7f255a7U, 0x7e82fc7eU, 0x3d477a3dU,
+    0x64acc864U, 0x5de7ba5dU, 0x192b3219U, 0x7395e673U,
+    0x60a0c060U, 0x81981981U, 0x4fd19e4fU, 0xdc7fa3dcU,
+    0x22664422U, 0x2a7e542aU, 0x90ab3b90U, 0x88830b88U,
+    0x46ca8c46U, 0xee29c7eeU, 0xb8d36bb8U, 0x143c2814U,
+    0xde79a7deU, 0x5ee2bc5eU, 0x0b1d160bU, 0xdb76addbU,
+    0xe03bdbe0U, 0x32566432U, 0x3a4e743aU, 0x0a1e140aU,
+    0x49db9249U, 0x060a0c06U, 0x246c4824U, 0x5ce4b85cU,
+    0xc25d9fc2U, 0xd36ebdd3U, 0xacef43acU, 0x62a6c462U,
+    0x91a83991U, 0x95a43195U, 0xe437d3e4U, 0x798bf279U,
+    0xe732d5e7U, 0xc8438bc8U, 0x37596e37U, 0x6db7da6dU,
+    0x8d8c018dU, 0xd564b1d5U, 0x4ed29c4eU, 0xa9e049a9U,
+    0x6cb4d86cU, 0x56faac56U, 0xf407f3f4U, 0xea25cfeaU,
+    0x65afca65U, 0x7a8ef47aU, 0xaee947aeU, 0x08181008U,
+    0xbad56fbaU, 0x7888f078U, 0x256f4a25U, 0x2e725c2eU,
+    0x1c24381cU, 0xa6f157a6U, 0xb4c773b4U, 0xc65197c6U,
+    0xe823cbe8U, 0xdd7ca1ddU, 0x749ce874U, 0x1f213e1fU,
+    0x4bdd964bU, 0xbddc61bdU, 0x8b860d8bU, 0x8a850f8aU,
+    0x7090e070U, 0x3e427c3eU, 0xb5c471b5U, 0x66aacc66U,
+    0x48d89048U, 0x03050603U, 0xf601f7f6U, 0x0e121c0eU,
+    0x61a3c261U, 0x355f6a35U, 0x57f9ae57U, 0xb9d069b9U,
+    0x86911786U, 0xc15899c1U, 0x1d273a1dU, 0x9eb9279eU,
+    0xe138d9e1U, 0xf813ebf8U, 0x98b32b98U, 0x11332211U,
+    0x69bbd269U, 0xd970a9d9U, 0x8e89078eU, 0x94a73394U,
+    0x9bb62d9bU, 0x1e223c1eU, 0x87921587U, 0xe920c9e9U,
+    0xce4987ceU, 0x55ffaa55U, 0x28785028U, 0xdf7aa5dfU,
+    0x8c8f038cU, 0xa1f859a1U, 0x89800989U, 0x0d171a0dU,
+    0xbfda65bfU, 0xe631d7e6U, 0x42c68442U, 0x68b8d068U,
+    0x41c38241U, 0x99b02999U, 0x2d775a2dU, 0x0f111e0fU,
+    0xb0cb7bb0U, 0x54fca854U, 0xbbd66dbbU, 0x163a2c16U,
+};
+
+const TUint32 Te3[256] = {
+    0x6363a5c6U, 0x7c7c84f8U, 0x777799eeU, 0x7b7b8df6U,
+    0xf2f20dffU, 0x6b6bbdd6U, 0x6f6fb1deU, 0xc5c55491U,
+    0x30305060U, 0x01010302U, 0x6767a9ceU, 0x2b2b7d56U,
+    0xfefe19e7U, 0xd7d762b5U, 0xababe64dU, 0x76769aecU,
+    0xcaca458fU, 0x82829d1fU, 0xc9c94089U, 0x7d7d87faU,
+    0xfafa15efU, 0x5959ebb2U, 0x4747c98eU, 0xf0f00bfbU,
+    0xadadec41U, 0xd4d467b3U, 0xa2a2fd5fU, 0xafafea45U,
+    0x9c9cbf23U, 0xa4a4f753U, 0x727296e4U, 0xc0c05b9bU,
+    0xb7b7c275U, 0xfdfd1ce1U, 0x9393ae3dU, 0x26266a4cU,
+    0x36365a6cU, 0x3f3f417eU, 0xf7f702f5U, 0xcccc4f83U,
+    0x34345c68U, 0xa5a5f451U, 0xe5e534d1U, 0xf1f108f9U,
+    0x717193e2U, 0xd8d873abU, 0x31315362U, 0x15153f2aU,
+    0x04040c08U, 0xc7c75295U, 0x23236546U, 0xc3c35e9dU,
+    0x18182830U, 0x9696a137U, 0x05050f0aU, 0x9a9ab52fU,
+    0x0707090eU, 0x12123624U, 0x80809b1bU, 0xe2e23ddfU,
+    0xebeb26cdU, 0x2727694eU, 0xb2b2cd7fU, 0x75759feaU,
+    0x09091b12U, 0x83839e1dU, 0x2c2c7458U, 0x1a1a2e34U,
+    0x1b1b2d36U, 0x6e6eb2dcU, 0x5a5aeeb4U, 0xa0a0fb5bU,
+    0x5252f6a4U, 0x3b3b4d76U, 0xd6d661b7U, 0xb3b3ce7dU,
+    0x29297b52U, 0xe3e33eddU, 0x2f2f715eU, 0x84849713U,
+    0x5353f5a6U, 0xd1d168b9U, 0x00000000U, 0xeded2cc1U,
+    0x20206040U, 0xfcfc1fe3U, 0xb1b1c879U, 0x5b5bedb6U,
+    0x6a6abed4U, 0xcbcb468dU, 0xbebed967U, 0x39394b72U,
+    0x4a4ade94U, 0x4c4cd498U, 0x5858e8b0U, 0xcfcf4a85U,
+    0xd0d06bbbU, 0xefef2ac5U, 0xaaaae54fU, 0xfbfb16edU,
+    0x4343c586U, 0x4d4dd79aU, 0x33335566U, 0x85859411U,
+    0x4545cf8aU, 0xf9f910e9U, 0x02020604U, 0x7f7f81feU,
+    0x5050f0a0U, 0x3c3c4478U, 0x9f9fba25U, 0xa8a8e34bU,
+    0x5151f3a2U, 0xa3a3fe5dU, 0x4040c080U, 0x8f8f8a05U,
+    0x9292ad3fU, 0x9d9dbc21U, 0x38384870U, 0xf5f504f1U,
+    0xbcbcdf63U, 0xb6b6c177U, 0xdada75afU, 0x21216342U,
+    0x10103020U, 0xffff1ae5U, 0xf3f30efdU, 0xd2d26dbfU,
+    0xcdcd4c81U, 0x0c0c1418U, 0x13133526U, 0xecec2fc3U,
+    0x5f5fe1beU, 0x9797a235U, 0x4444cc88U, 0x1717392eU,
+    0xc4c45793U, 0xa7a7f255U, 0x7e7e82fcU, 0x3d3d477aU,
+    0x6464acc8U, 0x5d5de7baU, 0x19192b32U, 0x737395e6U,
+    0x6060a0c0U, 0x81819819U, 0x4f4fd19eU, 0xdcdc7fa3U,
+    0x22226644U, 0x2a2a7e54U, 0x9090ab3bU, 0x8888830bU,
+    0x4646ca8cU, 0xeeee29c7U, 0xb8b8d36bU, 0x14143c28U,
+    0xdede79a7U, 0x5e5ee2bcU, 0x0b0b1d16U, 0xdbdb76adU,
+    0xe0e03bdbU, 0x32325664U, 0x3a3a4e74U, 0x0a0a1e14U,
+    0x4949db92U, 0x06060a0cU, 0x24246c48U, 0x5c5ce4b8U,
+    0xc2c25d9fU, 0xd3d36ebdU, 0xacacef43U, 0x6262a6c4U,
+    0x9191a839U, 0x9595a431U, 0xe4e437d3U, 0x79798bf2U,
+    0xe7e732d5U, 0xc8c8438bU, 0x3737596eU, 0x6d6db7daU,
+    0x8d8d8c01U, 0xd5d564b1U, 0x4e4ed29cU, 0xa9a9e049U,
+    0x6c6cb4d8U, 0x5656faacU, 0xf4f407f3U, 0xeaea25cfU,
+    0x6565afcaU, 0x7a7a8ef4U, 0xaeaee947U, 0x08081810U,
+    0xbabad56fU, 0x787888f0U, 0x25256f4aU, 0x2e2e725cU,
+    0x1c1c2438U, 0xa6a6f157U, 0xb4b4c773U, 0xc6c65197U,
+    0xe8e823cbU, 0xdddd7ca1U, 0x74749ce8U, 0x1f1f213eU,
+    0x4b4bdd96U, 0xbdbddc61U, 0x8b8b860dU, 0x8a8a850fU,
+    0x707090e0U, 0x3e3e427cU, 0xb5b5c471U, 0x6666aaccU,
+    0x4848d890U, 0x03030506U, 0xf6f601f7U, 0x0e0e121cU,
+    0x6161a3c2U, 0x35355f6aU, 0x5757f9aeU, 0xb9b9d069U,
+    0x86869117U, 0xc1c15899U, 0x1d1d273aU, 0x9e9eb927U,
+    0xe1e138d9U, 0xf8f813ebU, 0x9898b32bU, 0x11113322U,
+    0x6969bbd2U, 0xd9d970a9U, 0x8e8e8907U, 0x9494a733U,
+    0x9b9bb62dU, 0x1e1e223cU, 0x87879215U, 0xe9e920c9U,
+    0xcece4987U, 0x5555ffaaU, 0x28287850U, 0xdfdf7aa5U,
+    0x8c8c8f03U, 0xa1a1f859U, 0x89898009U, 0x0d0d171aU,
+    0xbfbfda65U, 0xe6e631d7U, 0x4242c684U, 0x6868b8d0U,
+    0x4141c382U, 0x9999b029U, 0x2d2d775aU, 0x0f0f111eU,
+    0xb0b0cb7bU, 0x5454fca8U, 0xbbbbd66dU, 0x16163a2cU,
+};
+
+const TUint32 Te4[256] = {
+    0x63636363U, 0x7c7c7c7cU, 0x77777777U, 0x7b7b7b7bU,
+    0xf2f2f2f2U, 0x6b6b6b6bU, 0x6f6f6f6fU, 0xc5c5c5c5U,
+    0x30303030U, 0x01010101U, 0x67676767U, 0x2b2b2b2bU,
+    0xfefefefeU, 0xd7d7d7d7U, 0xababababU, 0x76767676U,
+    0xcacacacaU, 0x82828282U, 0xc9c9c9c9U, 0x7d7d7d7dU,
+    0xfafafafaU, 0x59595959U, 0x47474747U, 0xf0f0f0f0U,
+    0xadadadadU, 0xd4d4d4d4U, 0xa2a2a2a2U, 0xafafafafU,
+    0x9c9c9c9cU, 0xa4a4a4a4U, 0x72727272U, 0xc0c0c0c0U,
+    0xb7b7b7b7U, 0xfdfdfdfdU, 0x93939393U, 0x26262626U,
+    0x36363636U, 0x3f3f3f3fU, 0xf7f7f7f7U, 0xccccccccU,
+    0x34343434U, 0xa5a5a5a5U, 0xe5e5e5e5U, 0xf1f1f1f1U,
+    0x71717171U, 0xd8d8d8d8U, 0x31313131U, 0x15151515U,
+    0x04040404U, 0xc7c7c7c7U, 0x23232323U, 0xc3c3c3c3U,
+    0x18181818U, 0x96969696U, 0x05050505U, 0x9a9a9a9aU,
+    0x07070707U, 0x12121212U, 0x80808080U, 0xe2e2e2e2U,
+    0xebebebebU, 0x27272727U, 0xb2b2b2b2U, 0x75757575U,
+    0x09090909U, 0x83838383U, 0x2c2c2c2cU, 0x1a1a1a1aU,
+    0x1b1b1b1bU, 0x6e6e6e6eU, 0x5a5a5a5aU, 0xa0a0a0a0U,
+    0x52525252U, 0x3b3b3b3bU, 0xd6d6d6d6U, 0xb3b3b3b3U,
+    0x29292929U, 0xe3e3e3e3U, 0x2f2f2f2fU, 0x84848484U,
+    0x53535353U, 0xd1d1d1d1U, 0x00000000U, 0xededededU,
+    0x20202020U, 0xfcfcfcfcU, 0xb1b1b1b1U, 0x5b5b5b5bU,
+    0x6a6a6a6aU, 0xcbcbcbcbU, 0xbebebebeU, 0x39393939U,
+    0x4a4a4a4aU, 0x4c4c4c4cU, 0x58585858U, 0xcfcfcfcfU,
+    0xd0d0d0d0U, 0xefefefefU, 0xaaaaaaaaU, 0xfbfbfbfbU,
+    0x43434343U, 0x4d4d4d4dU, 0x33333333U, 0x85858585U,
+    0x45454545U, 0xf9f9f9f9U, 0x02020202U, 0x7f7f7f7fU,
+    0x50505050U, 0x3c3c3c3cU, 0x9f9f9f9fU, 0xa8a8a8a8U,
+    0x51515151U, 0xa3a3a3a3U, 0x40404040U, 0x8f8f8f8fU,
+    0x92929292U, 0x9d9d9d9dU, 0x38383838U, 0xf5f5f5f5U,
+    0xbcbcbcbcU, 0xb6b6b6b6U, 0xdadadadaU, 0x21212121U,
+    0x10101010U, 0xffffffffU, 0xf3f3f3f3U, 0xd2d2d2d2U,
+    0xcdcdcdcdU, 0x0c0c0c0cU, 0x13131313U, 0xececececU,
+    0x5f5f5f5fU, 0x97979797U, 0x44444444U, 0x17171717U,
+    0xc4c4c4c4U, 0xa7a7a7a7U, 0x7e7e7e7eU, 0x3d3d3d3dU,
+    0x64646464U, 0x5d5d5d5dU, 0x19191919U, 0x73737373U,
+    0x60606060U, 0x81818181U, 0x4f4f4f4fU, 0xdcdcdcdcU,
+    0x22222222U, 0x2a2a2a2aU, 0x90909090U, 0x88888888U,
+    0x46464646U, 0xeeeeeeeeU, 0xb8b8b8b8U, 0x14141414U,
+    0xdedededeU, 0x5e5e5e5eU, 0x0b0b0b0bU, 0xdbdbdbdbU,
+    0xe0e0e0e0U, 0x32323232U, 0x3a3a3a3aU, 0x0a0a0a0aU,
+    0x49494949U, 0x06060606U, 0x24242424U, 0x5c5c5c5cU,
+    0xc2c2c2c2U, 0xd3d3d3d3U, 0xacacacacU, 0x62626262U,
+    0x91919191U, 0x95959595U, 0xe4e4e4e4U, 0x79797979U,
+    0xe7e7e7e7U, 0xc8c8c8c8U, 0x37373737U, 0x6d6d6d6dU,
+    0x8d8d8d8dU, 0xd5d5d5d5U, 0x4e4e4e4eU, 0xa9a9a9a9U,
+    0x6c6c6c6cU, 0x56565656U, 0xf4f4f4f4U, 0xeaeaeaeaU,
+    0x65656565U, 0x7a7a7a7aU, 0xaeaeaeaeU, 0x08080808U,
+    0xbabababaU, 0x78787878U, 0x25252525U, 0x2e2e2e2eU,
+    0x1c1c1c1cU, 0xa6a6a6a6U, 0xb4b4b4b4U, 0xc6c6c6c6U,
+    0xe8e8e8e8U, 0xddddddddU, 0x74747474U, 0x1f1f1f1fU,
+    0x4b4b4b4bU, 0xbdbdbdbdU, 0x8b8b8b8bU, 0x8a8a8a8aU,
+    0x70707070U, 0x3e3e3e3eU, 0xb5b5b5b5U, 0x66666666U,
+    0x48484848U, 0x03030303U, 0xf6f6f6f6U, 0x0e0e0e0eU,
+    0x61616161U, 0x35353535U, 0x57575757U, 0xb9b9b9b9U,
+    0x86868686U, 0xc1c1c1c1U, 0x1d1d1d1dU, 0x9e9e9e9eU,
+    0xe1e1e1e1U, 0xf8f8f8f8U, 0x98989898U, 0x11111111U,
+    0x69696969U, 0xd9d9d9d9U, 0x8e8e8e8eU, 0x94949494U,
+    0x9b9b9b9bU, 0x1e1e1e1eU, 0x87878787U, 0xe9e9e9e9U,
+    0xcecececeU, 0x55555555U, 0x28282828U, 0xdfdfdfdfU,
+    0x8c8c8c8cU, 0xa1a1a1a1U, 0x89898989U, 0x0d0d0d0dU,
+    0xbfbfbfbfU, 0xe6e6e6e6U, 0x42424242U, 0x68686868U,
+    0x41414141U, 0x99999999U, 0x2d2d2d2dU, 0x0f0f0f0fU,
+    0xb0b0b0b0U, 0x54545454U, 0xbbbbbbbbU, 0x16161616U,
+};
+
+const TUint32 Td0[256] = {
+    0x51f4a750U, 0x7e416553U, 0x1a17a4c3U, 0x3a275e96U,
+    0x3bab6bcbU, 0x1f9d45f1U, 0xacfa58abU, 0x4be30393U,
+    0x2030fa55U, 0xad766df6U, 0x88cc7691U, 0xf5024c25U,
+    0x4fe5d7fcU, 0xc52acbd7U, 0x26354480U, 0xb562a38fU,
+    0xdeb15a49U, 0x25ba1b67U, 0x45ea0e98U, 0x5dfec0e1U,
+    0xc32f7502U, 0x814cf012U, 0x8d4697a3U, 0x6bd3f9c6U,
+    0x038f5fe7U, 0x15929c95U, 0xbf6d7aebU, 0x955259daU,
+    0xd4be832dU, 0x587421d3U, 0x49e06929U, 0x8ec9c844U,
+    0x75c2896aU, 0xf48e7978U, 0x99583e6bU, 0x27b971ddU,
+    0xbee14fb6U, 0xf088ad17U, 0xc920ac66U, 0x7dce3ab4U,
+    0x63df4a18U, 0xe51a3182U, 0x97513360U, 0x62537f45U,
+    0xb16477e0U, 0xbb6bae84U, 0xfe81a01cU, 0xf9082b94U,
+    0x70486858U, 0x8f45fd19U, 0x94de6c87U, 0x527bf8b7U,
+    0xab73d323U, 0x724b02e2U, 0xe31f8f57U, 0x6655ab2aU,
+    0xb2eb2807U, 0x2fb5c203U, 0x86c57b9aU, 0xd33708a5U,
+    0x302887f2U, 0x23bfa5b2U, 0x02036abaU, 0xed16825cU,
+    0x8acf1c2bU, 0xa779b492U, 0xf307f2f0U, 0x4e69e2a1U,
+    0x65daf4cdU, 0x0605bed5U, 0xd134621fU, 0xc4a6fe8aU,
+    0x342e539dU, 0xa2f355a0U, 0x058ae132U, 0xa4f6eb75U,
+    0x0b83ec39U, 0x4060efaaU, 0x5e719f06U, 0xbd6e1051U,
+    0x3e218af9U, 0x96dd063dU, 0xdd3e05aeU, 0x4de6bd46U,
+    0x91548db5U, 0x71c45d05U, 0x0406d46fU, 0x605015ffU,
+    0x1998fb24U, 0xd6bde997U, 0x894043ccU, 0x67d99e77U,
+    0xb0e842bdU, 0x07898b88U, 0xe7195b38U, 0x79c8eedbU,
+    0xa17c0a47U, 0x7c420fe9U, 0xf8841ec9U, 0x00000000U,
+    0x09808683U, 0x322bed48U, 0x1e1170acU, 0x6c5a724eU,
+    0xfd0efffbU, 0x0f853856U, 0x3daed51eU, 0x362d3927U,
+    0x0a0fd964U, 0x685ca621U, 0x9b5b54d1U, 0x24362e3aU,
+    0x0c0a67b1U, 0x9357e70fU, 0xb4ee96d2U, 0x1b9b919eU,
+    0x80c0c54fU, 0x61dc20a2U, 0x5a774b69U, 0x1c121a16U,
+    0xe293ba0aU, 0xc0a02ae5U, 0x3c22e043U, 0x121b171dU,
+    0x0e090d0bU, 0xf28bc7adU, 0x2db6a8b9U, 0x141ea9c8U,
+    0x57f11985U, 0xaf75074cU, 0xee99ddbbU, 0xa37f60fdU,
+    0xf701269fU, 0x5c72f5bcU, 0x44663bc5U, 0x5bfb7e34U,
+    0x8b432976U, 0xcb23c6dcU, 0xb6edfc68U, 0xb8e4f163U,
+    0xd731dccaU, 0x42638510U, 0x13972240U, 0x84c61120U,
+    0x854a247dU, 0xd2bb3df8U, 0xaef93211U, 0xc729a16dU,
+    0x1d9e2f4bU, 0xdcb230f3U, 0x0d8652ecU, 0x77c1e3d0U,
+    0x2bb3166cU, 0xa970b999U, 0x119448faU, 0x47e96422U,
+    0xa8fc8cc4U, 0xa0f03f1aU, 0x567d2cd8U, 0x223390efU,
+    0x87494ec7U, 0xd938d1c1U, 0x8ccaa2feU, 0x98d40b36U,
+    0xa6f581cfU, 0xa57ade28U, 0xdab78e26U, 0x3fadbfa4U,
+    0x2c3a9de4U, 0x5078920dU, 0x6a5fcc9bU, 0x547e4662U,
+    0xf68d13c2U, 0x90d8b8e8U, 0x2e39f75eU, 0x82c3aff5U,
+    0x9f5d80beU, 0x69d0937cU, 0x6fd52da9U, 0xcf2512b3U,
+    0xc8ac993bU, 0x10187da7U, 0xe89c636eU, 0xdb3bbb7bU,
+    0xcd267809U, 0x6e5918f4U, 0xec9ab701U, 0x834f9aa8U,
+    0xe6956e65U, 0xaaffe67eU, 0x21bccf08U, 0xef15e8e6U,
+    0xbae79bd9U, 0x4a6f36ceU, 0xea9f09d4U, 0x29b07cd6U,
+    0x31a4b2afU, 0x2a3f2331U, 0xc6a59430U, 0x35a266c0U,
+    0x744ebc37U, 0xfc82caa6U, 0xe090d0b0U, 0x33a7d815U,
+    0xf104984aU, 0x41ecdaf7U, 0x7fcd500eU, 0x1791f62fU,
+    0x764dd68dU, 0x43efb04dU, 0xccaa4d54U, 0xe49604dfU,
+    0x9ed1b5e3U, 0x4c6a881bU, 0xc12c1fb8U, 0x4665517fU,
+    0x9d5eea04U, 0x018c355dU, 0xfa877473U, 0xfb0b412eU,
+    0xb3671d5aU, 0x92dbd252U, 0xe9105633U, 0x6dd64713U,
+    0x9ad7618cU, 0x37a10c7aU, 0x59f8148eU, 0xeb133c89U,
+    0xcea927eeU, 0xb761c935U, 0xe11ce5edU, 0x7a47b13cU,
+    0x9cd2df59U, 0x55f2733fU, 0x1814ce79U, 0x73c737bfU,
+    0x53f7cdeaU, 0x5ffdaa5bU, 0xdf3d6f14U, 0x7844db86U,
+    0xcaaff381U, 0xb968c43eU, 0x3824342cU, 0xc2a3405fU,
+    0x161dc372U, 0xbce2250cU, 0x283c498bU, 0xff0d9541U,
+    0x39a80171U, 0x080cb3deU, 0xd8b4e49cU, 0x6456c190U,
+    0x7bcb8461U, 0xd532b670U, 0x486c5c74U, 0xd0b85742U,
+};
+
+const TUint32 Td1[256] = {
+    0x5051f4a7U, 0x537e4165U, 0xc31a17a4U, 0x963a275eU,
+    0xcb3bab6bU, 0xf11f9d45U, 0xabacfa58U, 0x934be303U,
+    0x552030faU, 0xf6ad766dU, 0x9188cc76U, 0x25f5024cU,
+    0xfc4fe5d7U, 0xd7c52acbU, 0x80263544U, 0x8fb562a3U,
+    0x49deb15aU, 0x6725ba1bU, 0x9845ea0eU, 0xe15dfec0U,
+    0x02c32f75U, 0x12814cf0U, 0xa38d4697U, 0xc66bd3f9U,
+    0xe7038f5fU, 0x9515929cU, 0xebbf6d7aU, 0xda955259U,
+    0x2dd4be83U, 0xd3587421U, 0x2949e069U, 0x448ec9c8U,
+    0x6a75c289U, 0x78f48e79U, 0x6b99583eU, 0xdd27b971U,
+    0xb6bee14fU, 0x17f088adU, 0x66c920acU, 0xb47dce3aU,
+    0x1863df4aU, 0x82e51a31U, 0x60975133U, 0x4562537fU,
+    0xe0b16477U, 0x84bb6baeU, 0x1cfe81a0U, 0x94f9082bU,
+    0x58704868U, 0x198f45fdU, 0x8794de6cU, 0xb7527bf8U,
+    0x23ab73d3U, 0xe2724b02U, 0x57e31f8fU, 0x2a6655abU,
+    0x07b2eb28U, 0x032fb5c2U, 0x9a86c57bU, 0xa5d33708U,
+    0xf2302887U, 0xb223bfa5U, 0xba02036aU, 0x5ced1682U,
+    0x2b8acf1cU, 0x92a779b4U, 0xf0f307f2U, 0xa14e69e2U,
+    0xcd65daf4U, 0xd50605beU, 0x1fd13462U, 0x8ac4a6feU,
+    0x9d342e53U, 0xa0a2f355U, 0x32058ae1U, 0x75a4f6ebU,
+    0x390b83ecU, 0xaa4060efU, 0x065e719fU, 0x51bd6e10U,
+    0xf93e218aU, 0x3d96dd06U, 0xaedd3e05U, 0x464de6bdU,
+    0xb591548dU, 0x0571c45dU, 0x6f0406d4U, 0xff605015U,
+    0x241998fbU, 0x97d6bde9U, 0xcc894043U, 0x7767d99eU,
+    0xbdb0e842U, 0x8807898bU, 0x38e7195bU, 0xdb79c8eeU,
+    0x47a17c0aU, 0xe97c420fU, 0xc9f8841eU, 0x00000000U,
+    0x83098086U, 0x48322bedU, 0xac1e1170U, 0x4e6c5a72U,
+    0xfbfd0effU, 0x560f8538U, 0x1e3daed5U, 0x27362d39U,
+    0x640a0fd9U, 0x21685ca6U, 0xd19b5b54U, 0x3a24362eU,
+    0xb10c0a67U, 0x0f9357e7U, 0xd2b4ee96U, 0x9e1b9b91U,
+    0x4f80c0c5U, 0xa261dc20U, 0x695a774bU, 0x161c121aU,
+    0x0ae293baU, 0xe5c0a02aU, 0x433c22e0U, 0x1d121b17U,
+    0x0b0e090dU, 0xadf28bc7U, 0xb92db6a8U, 0xc8141ea9U,
+    0x8557f119U, 0x4caf7507U, 0xbbee99ddU, 0xfda37f60U,
+    0x9ff70126U, 0xbc5c72f5U, 0xc544663bU, 0x345bfb7eU,
+    0x768b4329U, 0xdccb23c6U, 0x68b6edfcU, 0x63b8e4f1U,
+    0xcad731dcU, 0x10426385U, 0x40139722U, 0x2084c611U,
+    0x7d854a24U, 0xf8d2bb3dU, 0x11aef932U, 0x6dc729a1U,
+    0x4b1d9e2fU, 0xf3dcb230U, 0xec0d8652U, 0xd077c1e3U,
+    0x6c2bb316U, 0x99a970b9U, 0xfa119448U, 0x2247e964U,
+    0xc4a8fc8cU, 0x1aa0f03fU, 0xd8567d2cU, 0xef223390U,
+    0xc787494eU, 0xc1d938d1U, 0xfe8ccaa2U, 0x3698d40bU,
+    0xcfa6f581U, 0x28a57adeU, 0x26dab78eU, 0xa43fadbfU,
+    0xe42c3a9dU, 0x0d507892U, 0x9b6a5fccU, 0x62547e46U,
+    0xc2f68d13U, 0xe890d8b8U, 0x5e2e39f7U, 0xf582c3afU,
+    0xbe9f5d80U, 0x7c69d093U, 0xa96fd52dU, 0xb3cf2512U,
+    0x3bc8ac99U, 0xa710187dU, 0x6ee89c63U, 0x7bdb3bbbU,
+    0x09cd2678U, 0xf46e5918U, 0x01ec9ab7U, 0xa8834f9aU,
+    0x65e6956eU, 0x7eaaffe6U, 0x0821bccfU, 0xe6ef15e8U,
+    0xd9bae79bU, 0xce4a6f36U, 0xd4ea9f09U, 0xd629b07cU,
+    0xaf31a4b2U, 0x312a3f23U, 0x30c6a594U, 0xc035a266U,
+    0x37744ebcU, 0xa6fc82caU, 0xb0e090d0U, 0x1533a7d8U,
+    0x4af10498U, 0xf741ecdaU, 0x0e7fcd50U, 0x2f1791f6U,
+    0x8d764dd6U, 0x4d43efb0U, 0x54ccaa4dU, 0xdfe49604U,
+    0xe39ed1b5U, 0x1b4c6a88U, 0xb8c12c1fU, 0x7f466551U,
+    0x049d5eeaU, 0x5d018c35U, 0x73fa8774U, 0x2efb0b41U,
+    0x5ab3671dU, 0x5292dbd2U, 0x33e91056U, 0x136dd647U,
+    0x8c9ad761U, 0x7a37a10cU, 0x8e59f814U, 0x89eb133cU,
+    0xeecea927U, 0x35b761c9U, 0xede11ce5U, 0x3c7a47b1U,
+    0x599cd2dfU, 0x3f55f273U, 0x791814ceU, 0xbf73c737U,
+    0xea53f7cdU, 0x5b5ffdaaU, 0x14df3d6fU, 0x867844dbU,
+    0x81caaff3U, 0x3eb968c4U, 0x2c382434U, 0x5fc2a340U,
+    0x72161dc3U, 0x0cbce225U, 0x8b283c49U, 0x41ff0d95U,
+    0x7139a801U, 0xde080cb3U, 0x9cd8b4e4U, 0x906456c1U,
+    0x617bcb84U, 0x70d532b6U, 0x74486c5cU, 0x42d0b857U,
+};
+
+const TUint32 Td2[256] = {
+    0xa75051f4U, 0x65537e41U, 0xa4c31a17U, 0x5e963a27U,
+    0x6bcb3babU, 0x45f11f9dU, 0x58abacfaU, 0x03934be3U,
+    0xfa552030U, 0x6df6ad76U, 0x769188ccU, 0x4c25f502U,
+    0xd7fc4fe5U, 0xcbd7c52aU, 0x44802635U, 0xa38fb562U,
+    0x5a49deb1U, 0x1b6725baU, 0x0e9845eaU, 0xc0e15dfeU,
+    0x7502c32fU, 0xf012814cU, 0x97a38d46U, 0xf9c66bd3U,
+    0x5fe7038fU, 0x9c951592U, 0x7aebbf6dU, 0x59da9552U,
+    0x832dd4beU, 0x21d35874U, 0x692949e0U, 0xc8448ec9U,
+    0x896a75c2U, 0x7978f48eU, 0x3e6b9958U, 0x71dd27b9U,
+    0x4fb6bee1U, 0xad17f088U, 0xac66c920U, 0x3ab47dceU,
+    0x4a1863dfU, 0x3182e51aU, 0x33609751U, 0x7f456253U,
+    0x77e0b164U, 0xae84bb6bU, 0xa01cfe81U, 0x2b94f908U,
+    0x68587048U, 0xfd198f45U, 0x6c8794deU, 0xf8b7527bU,
+    0xd323ab73U, 0x02e2724bU, 0x8f57e31fU, 0xab2a6655U,
+    0x2807b2ebU, 0xc2032fb5U, 0x7b9a86c5U, 0x08a5d337U,
+    0x87f23028U, 0xa5b223bfU, 0x6aba0203U, 0x825ced16U,
+    0x1c2b8acfU, 0xb492a779U, 0xf2f0f307U, 0xe2a14e69U,
+    0xf4cd65daU, 0xbed50605U, 0x621fd134U, 0xfe8ac4a6U,
+    0x539d342eU, 0x55a0a2f3U, 0xe132058aU, 0xeb75a4f6U,
+    0xec390b83U, 0xefaa4060U, 0x9f065e71U, 0x1051bd6eU,
+
+    0x8af93e21U, 0x063d96ddU, 0x05aedd3eU, 0xbd464de6U,
+    0x8db59154U, 0x5d0571c4U, 0xd46f0406U, 0x15ff6050U,
+    0xfb241998U, 0xe997d6bdU, 0x43cc8940U, 0x9e7767d9U,
+    0x42bdb0e8U, 0x8b880789U, 0x5b38e719U, 0xeedb79c8U,
+    0x0a47a17cU, 0x0fe97c42U, 0x1ec9f884U, 0x00000000U,
+    0x86830980U, 0xed48322bU, 0x70ac1e11U, 0x724e6c5aU,
+    0xfffbfd0eU, 0x38560f85U, 0xd51e3daeU, 0x3927362dU,
+    0xd9640a0fU, 0xa621685cU, 0x54d19b5bU, 0x2e3a2436U,
+    0x67b10c0aU, 0xe70f9357U, 0x96d2b4eeU, 0x919e1b9bU,
+    0xc54f80c0U, 0x20a261dcU, 0x4b695a77U, 0x1a161c12U,
+    0xba0ae293U, 0x2ae5c0a0U, 0xe0433c22U, 0x171d121bU,
+    0x0d0b0e09U, 0xc7adf28bU, 0xa8b92db6U, 0xa9c8141eU,
+    0x198557f1U, 0x074caf75U, 0xddbbee99U, 0x60fda37fU,
+    0x269ff701U, 0xf5bc5c72U, 0x3bc54466U, 0x7e345bfbU,
+    0x29768b43U, 0xc6dccb23U, 0xfc68b6edU, 0xf163b8e4U,
+    0xdccad731U, 0x85104263U, 0x22401397U, 0x112084c6U,
+    0x247d854aU, 0x3df8d2bbU, 0x3211aef9U, 0xa16dc729U,
+    0x2f4b1d9eU, 0x30f3dcb2U, 0x52ec0d86U, 0xe3d077c1U,
+    0x166c2bb3U, 0xb999a970U, 0x48fa1194U, 0x642247e9U,
+    0x8cc4a8fcU, 0x3f1aa0f0U, 0x2cd8567dU, 0x90ef2233U,
+    0x4ec78749U, 0xd1c1d938U, 0xa2fe8ccaU, 0x0b3698d4U,
+    0x81cfa6f5U, 0xde28a57aU, 0x8e26dab7U, 0xbfa43fadU,
+    0x9de42c3aU, 0x920d5078U, 0xcc9b6a5fU, 0x4662547eU,
+    0x13c2f68dU, 0xb8e890d8U, 0xf75e2e39U, 0xaff582c3U,
+    0x80be9f5dU, 0x937c69d0U, 0x2da96fd5U, 0x12b3cf25U,
+    0x993bc8acU, 0x7da71018U, 0x636ee89cU, 0xbb7bdb3bU,
+    0x7809cd26U, 0x18f46e59U, 0xb701ec9aU, 0x9aa8834fU,
+    0x6e65e695U, 0xe67eaaffU, 0xcf0821bcU, 0xe8e6ef15U,
+    0x9bd9bae7U, 0x36ce4a6fU, 0x09d4ea9fU, 0x7cd629b0U,
+    0xb2af31a4U, 0x23312a3fU, 0x9430c6a5U, 0x66c035a2U,
+    0xbc37744eU, 0xcaa6fc82U, 0xd0b0e090U, 0xd81533a7U,
+    0x984af104U, 0xdaf741ecU, 0x500e7fcdU, 0xf62f1791U,
+    0xd68d764dU, 0xb04d43efU, 0x4d54ccaaU, 0x04dfe496U,
+    0xb5e39ed1U, 0x881b4c6aU, 0x1fb8c12cU, 0x517f4665U,
+    0xea049d5eU, 0x355d018cU, 0x7473fa87U, 0x412efb0bU,
+    0x1d5ab367U, 0xd25292dbU, 0x5633e910U, 0x47136dd6U,
+    0x618c9ad7U, 0x0c7a37a1U, 0x148e59f8U, 0x3c89eb13U,
+    0x27eecea9U, 0xc935b761U, 0xe5ede11cU, 0xb13c7a47U,
+    0xdf599cd2U, 0x733f55f2U, 0xce791814U, 0x37bf73c7U,
+    0xcdea53f7U, 0xaa5b5ffdU, 0x6f14df3dU, 0xdb867844U,
+    0xf381caafU, 0xc43eb968U, 0x342c3824U, 0x405fc2a3U,
+    0xc372161dU, 0x250cbce2U, 0x498b283cU, 0x9541ff0dU,
+    0x017139a8U, 0xb3de080cU, 0xe49cd8b4U, 0xc1906456U,
+    0x84617bcbU, 0xb670d532U, 0x5c74486cU, 0x5742d0b8U,
+};
+
+const TUint32 Td3[256] = {
+    0xf4a75051U, 0x4165537eU, 0x17a4c31aU, 0x275e963aU,
+    0xab6bcb3bU, 0x9d45f11fU, 0xfa58abacU, 0xe303934bU,
+    0x30fa5520U, 0x766df6adU, 0xcc769188U, 0x024c25f5U,
+    0xe5d7fc4fU, 0x2acbd7c5U, 0x35448026U, 0x62a38fb5U,
+    0xb15a49deU, 0xba1b6725U, 0xea0e9845U, 0xfec0e15dU,
+    0x2f7502c3U, 0x4cf01281U, 0x4697a38dU, 0xd3f9c66bU,
+    0x8f5fe703U, 0x929c9515U, 0x6d7aebbfU, 0x5259da95U,
+    0xbe832dd4U, 0x7421d358U, 0xe0692949U, 0xc9c8448eU,
+    0xc2896a75U, 0x8e7978f4U, 0x583e6b99U, 0xb971dd27U,
+    0xe14fb6beU, 0x88ad17f0U, 0x20ac66c9U, 0xce3ab47dU,
+    0xdf4a1863U, 0x1a3182e5U, 0x51336097U, 0x537f4562U,
+    0x6477e0b1U, 0x6bae84bbU, 0x81a01cfeU, 0x082b94f9U,
+    0x48685870U, 0x45fd198fU, 0xde6c8794U, 0x7bf8b752U,
+    0x73d323abU, 0x4b02e272U, 0x1f8f57e3U, 0x55ab2a66U,
+    0xeb2807b2U, 0xb5c2032fU, 0xc57b9a86U, 0x3708a5d3U,
+    0x2887f230U, 0xbfa5b223U, 0x036aba02U, 0x16825cedU,
+    0xcf1c2b8aU, 0x79b492a7U, 0x07f2f0f3U, 0x69e2a14eU,
+    0xdaf4cd65U, 0x05bed506U, 0x34621fd1U, 0xa6fe8ac4U,
+    0x2e539d34U, 0xf355a0a2U, 0x8ae13205U, 0xf6eb75a4U,
+    0x83ec390bU, 0x60efaa40U, 0x719f065eU, 0x6e1051bdU,
+    0x218af93eU, 0xdd063d96U, 0x3e05aeddU, 0xe6bd464dU,
+    0x548db591U, 0xc45d0571U, 0x06d46f04U, 0x5015ff60U,
+    0x98fb2419U, 0xbde997d6U, 0x4043cc89U, 0xd99e7767U,
+    0xe842bdb0U, 0x898b8807U, 0x195b38e7U, 0xc8eedb79U,
+    0x7c0a47a1U, 0x420fe97cU, 0x841ec9f8U, 0x00000000U,
+    0x80868309U, 0x2bed4832U, 0x1170ac1eU, 0x5a724e6cU,
+    0x0efffbfdU, 0x8538560fU, 0xaed51e3dU, 0x2d392736U,
+    0x0fd9640aU, 0x5ca62168U, 0x5b54d19bU, 0x362e3a24U,
+    0x0a67b10cU, 0x57e70f93U, 0xee96d2b4U, 0x9b919e1bU,
+    0xc0c54f80U, 0xdc20a261U, 0x774b695aU, 0x121a161cU,
+    0x93ba0ae2U, 0xa02ae5c0U, 0x22e0433cU, 0x1b171d12U,
+    0x090d0b0eU, 0x8bc7adf2U, 0xb6a8b92dU, 0x1ea9c814U,
+    0xf1198557U, 0x75074cafU, 0x99ddbbeeU, 0x7f60fda3U,
+    0x01269ff7U, 0x72f5bc5cU, 0x663bc544U, 0xfb7e345bU,
+    0x4329768bU, 0x23c6dccbU, 0xedfc68b6U, 0xe4f163b8U,
+    0x31dccad7U, 0x63851042U, 0x97224013U, 0xc6112084U,
+    0x4a247d85U, 0xbb3df8d2U, 0xf93211aeU, 0x29a16dc7U,
+    0x9e2f4b1dU, 0xb230f3dcU, 0x8652ec0dU, 0xc1e3d077U,
+    0xb3166c2bU, 0x70b999a9U, 0x9448fa11U, 0xe9642247U,
+    0xfc8cc4a8U, 0xf03f1aa0U, 0x7d2cd856U, 0x3390ef22U,
+    0x494ec787U, 0x38d1c1d9U, 0xcaa2fe8cU, 0xd40b3698U,
+    0xf581cfa6U, 0x7ade28a5U, 0xb78e26daU, 0xadbfa43fU,
+    0x3a9de42cU, 0x78920d50U, 0x5fcc9b6aU, 0x7e466254U,
+    0x8d13c2f6U, 0xd8b8e890U, 0x39f75e2eU, 0xc3aff582U,
+    0x5d80be9fU, 0xd0937c69U, 0xd52da96fU, 0x2512b3cfU,
+    0xac993bc8U, 0x187da710U, 0x9c636ee8U, 0x3bbb7bdbU,
+    0x267809cdU, 0x5918f46eU, 0x9ab701ecU, 0x4f9aa883U,
+    0x956e65e6U, 0xffe67eaaU, 0xbccf0821U, 0x15e8e6efU,
+    0xe79bd9baU, 0x6f36ce4aU, 0x9f09d4eaU, 0xb07cd629U,
+    0xa4b2af31U, 0x3f23312aU, 0xa59430c6U, 0xa266c035U,
+    0x4ebc3774U, 0x82caa6fcU, 0x90d0b0e0U, 0xa7d81533U,
+    0x04984af1U, 0xecdaf741U, 0xcd500e7fU, 0x91f62f17U,
+    0x4dd68d76U, 0xefb04d43U, 0xaa4d54ccU, 0x9604dfe4U,
+    0xd1b5e39eU, 0x6a881b4cU, 0x2c1fb8c1U, 0x65517f46U,
+    0x5eea049dU, 0x8c355d01U, 0x877473faU, 0x0b412efbU,
+    0x671d5ab3U, 0xdbd25292U, 0x105633e9U, 0xd647136dU,
+    0xd7618c9aU, 0xa10c7a37U, 0xf8148e59U, 0x133c89ebU,
+    0xa927eeceU, 0x61c935b7U, 0x1ce5ede1U, 0x47b13c7aU,
+    0xd2df599cU, 0xf2733f55U, 0x14ce7918U, 0xc737bf73U,
+    0xf7cdea53U, 0xfdaa5b5fU, 0x3d6f14dfU, 0x44db8678U,
+    0xaff381caU, 0x68c43eb9U, 0x24342c38U, 0xa3405fc2U,
+    0x1dc37216U, 0xe2250cbcU, 0x3c498b28U, 0x0d9541ffU,
+    0xa8017139U, 0x0cb3de08U, 0xb4e49cd8U, 0x56c19064U,
+    0xcb84617bU, 0x32b670d5U, 0x6c5c7448U, 0xb85742d0U,
+};
+
+const TUint32 Td4[256] = {
+    0x52525252U, 0x09090909U, 0x6a6a6a6aU, 0xd5d5d5d5U,
+    0x30303030U, 0x36363636U, 0xa5a5a5a5U, 0x38383838U,
+    0xbfbfbfbfU, 0x40404040U, 0xa3a3a3a3U, 0x9e9e9e9eU,
+    0x81818181U, 0xf3f3f3f3U, 0xd7d7d7d7U, 0xfbfbfbfbU,
+    0x7c7c7c7cU, 0xe3e3e3e3U, 0x39393939U, 0x82828282U,
+    0x9b9b9b9bU, 0x2f2f2f2fU, 0xffffffffU, 0x87878787U,
+    0x34343434U, 0x8e8e8e8eU, 0x43434343U, 0x44444444U,
+    0xc4c4c4c4U, 0xdedededeU, 0xe9e9e9e9U, 0xcbcbcbcbU,
+    0x54545454U, 0x7b7b7b7bU, 0x94949494U, 0x32323232U,
+    0xa6a6a6a6U, 0xc2c2c2c2U, 0x23232323U, 0x3d3d3d3dU,
+    0xeeeeeeeeU, 0x4c4c4c4cU, 0x95959595U, 0x0b0b0b0bU,
+    0x42424242U, 0xfafafafaU, 0xc3c3c3c3U, 0x4e4e4e4eU,
+    0x08080808U, 0x2e2e2e2eU, 0xa1a1a1a1U, 0x66666666U,
+    0x28282828U, 0xd9d9d9d9U, 0x24242424U, 0xb2b2b2b2U,
+    0x76767676U, 0x5b5b5b5bU, 0xa2a2a2a2U, 0x49494949U,
+    0x6d6d6d6dU, 0x8b8b8b8bU, 0xd1d1d1d1U, 0x25252525U,
+    0x72727272U, 0xf8f8f8f8U, 0xf6f6f6f6U, 0x64646464U,
+    0x86868686U, 0x68686868U, 0x98989898U, 0x16161616U,
+    0xd4d4d4d4U, 0xa4a4a4a4U, 0x5c5c5c5cU, 0xccccccccU,
+    0x5d5d5d5dU, 0x65656565U, 0xb6b6b6b6U, 0x92929292U,
+    0x6c6c6c6cU, 0x70707070U, 0x48484848U, 0x50505050U,
+    0xfdfdfdfdU, 0xededededU, 0xb9b9b9b9U, 0xdadadadaU,
+    0x5e5e5e5eU, 0x15151515U, 0x46464646U, 0x57575757U,
+    0xa7a7a7a7U, 0x8d8d8d8dU, 0x9d9d9d9dU, 0x84848484U,
+    0x90909090U, 0xd8d8d8d8U, 0xababababU, 0x00000000U,
+    0x8c8c8c8cU, 0xbcbcbcbcU, 0xd3d3d3d3U, 0x0a0a0a0aU,
+    0xf7f7f7f7U, 0xe4e4e4e4U, 0x58585858U, 0x05050505U,
+    0xb8b8b8b8U, 0xb3b3b3b3U, 0x45454545U, 0x06060606U,
+    0xd0d0d0d0U, 0x2c2c2c2cU, 0x1e1e1e1eU, 0x8f8f8f8fU,
+    0xcacacacaU, 0x3f3f3f3fU, 0x0f0f0f0fU, 0x02020202U,
+    0xc1c1c1c1U, 0xafafafafU, 0xbdbdbdbdU, 0x03030303U,
+    0x01010101U, 0x13131313U, 0x8a8a8a8aU, 0x6b6b6b6bU,
+    0x3a3a3a3aU, 0x91919191U, 0x11111111U, 0x41414141U,
+    0x4f4f4f4fU, 0x67676767U, 0xdcdcdcdcU, 0xeaeaeaeaU,
+    0x97979797U, 0xf2f2f2f2U, 0xcfcfcfcfU, 0xcecececeU,
+    0xf0f0f0f0U, 0xb4b4b4b4U, 0xe6e6e6e6U, 0x73737373U,
+    0x96969696U, 0xacacacacU, 0x74747474U, 0x22222222U,
+    0xe7e7e7e7U, 0xadadadadU, 0x35353535U, 0x85858585U,
+    0xe2e2e2e2U, 0xf9f9f9f9U, 0x37373737U, 0xe8e8e8e8U,
+    0x1c1c1c1cU, 0x75757575U, 0xdfdfdfdfU, 0x6e6e6e6eU,
+    0x47474747U, 0xf1f1f1f1U, 0x1a1a1a1aU, 0x71717171U,
+    0x1d1d1d1dU, 0x29292929U, 0xc5c5c5c5U, 0x89898989U,
+    0x6f6f6f6fU, 0xb7b7b7b7U, 0x62626262U, 0x0e0e0e0eU,
+    0xaaaaaaaaU, 0x18181818U, 0xbebebebeU, 0x1b1b1b1bU,
+    0xfcfcfcfcU, 0x56565656U, 0x3e3e3e3eU, 0x4b4b4b4bU,
+    0xc6c6c6c6U, 0xd2d2d2d2U, 0x79797979U, 0x20202020U,
+    0x9a9a9a9aU, 0xdbdbdbdbU, 0xc0c0c0c0U, 0xfefefefeU,
+    0x78787878U, 0xcdcdcdcdU, 0x5a5a5a5aU, 0xf4f4f4f4U,
+    0x1f1f1f1fU, 0xddddddddU, 0xa8a8a8a8U, 0x33333333U,
+    0x88888888U, 0x07070707U, 0xc7c7c7c7U, 0x31313131U,
+    0xb1b1b1b1U, 0x12121212U, 0x10101010U, 0x59595959U,
+    0x27272727U, 0x80808080U, 0xececececU, 0x5f5f5f5fU,
+    0x60606060U, 0x51515151U, 0x7f7f7f7fU, 0xa9a9a9a9U,
+    0x19191919U, 0xb5b5b5b5U, 0x4a4a4a4aU, 0x0d0d0d0dU,
+    0x2d2d2d2dU, 0xe5e5e5e5U, 0x7a7a7a7aU, 0x9f9f9f9fU,
+    0x93939393U, 0xc9c9c9c9U, 0x9c9c9c9cU, 0xefefefefU,
+    0xa0a0a0a0U, 0xe0e0e0e0U, 0x3b3b3b3bU, 0x4d4d4d4dU,
+    0xaeaeaeaeU, 0x2a2a2a2aU, 0xf5f5f5f5U, 0xb0b0b0b0U,
+    0xc8c8c8c8U, 0xebebebebU, 0xbbbbbbbbU, 0x3c3c3c3cU,
+    0x83838383U, 0x53535353U, 0x99999999U, 0x61616161U,
+    0x17171717U, 0x2b2b2b2bU, 0x04040404U, 0x7e7e7e7eU,
+    0xbabababaU, 0x77777777U, 0xd6d6d6d6U, 0x26262626U,
+    0xe1e1e1e1U, 0x69696969U, 0x14141414U, 0x63636363U,
+    0x55555555U, 0x21212121U, 0x0c0c0c0cU, 0x7d7d7d7dU,
+};
+
+const TUint32 rcon[] = {
+	0x01000000, 0x02000000, 0x04000000, 0x08000000,
+	0x10000000, 0x20000000, 0x40000000, 0x80000000,
+	0x1B000000, 0x36000000, /* for 128-bit blocks, Rijndael never uses more than 10 rcon values */
+};
+
+}		//	namespace RIJNDAEL_TABLE
+#endif	//	__RIJNDAELTABLES_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/strong/bld.inf	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,62 @@
+/*
+* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* Builds strong cryptography
+*
+*/
+
+
+/**
+ @file
+*/
+
+PRJ_PLATFORMS
+default
+
+PRJ_EXPORTS
+../inc/bigint.h SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(bigint.h)
+../inc/asymmetric.h SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(asymmetric.h)
+../inc/asymmetric.inl SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(asymmetric.inl)
+../inc/asymmetrickeys.h SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(asymmetrickeys.h)
+../inc/padding.h SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(padding.h)
+../inc/pbebase.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(pbebase.h)
+../inc/pbe.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(pbe.h)
+../inc/pbedata.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(pbedata.h)
+../inc/3des.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(3des.h)
+../inc/arc4.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(arc4.h)
+../inc/blocktransformation.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(blocktransformation.h)
+../inc/bufferedtransformation.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(bufferedtransformation.h)
+../inc/cbcmode.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(cbcmode.h)
+../inc/des.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(des.h)
+../inc/nullcipher.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(nullcipher.h)
+../inc/rc2.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(rc2.h)
+../inc/rijndael.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(rijndael.h)
+../inc/streamcipher.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(streamcipher.h)
+#ifdef SYMBIAN_OLD_EXPORT_LOCATION
+../inc/symmetric.h
+#endif
+../inc/msymmetriccipher.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(msymmetriccipher.h)
+../inc/mode.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(mode.h)
+../inc/cryptostrength.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(cryptostrength.h)
+
+#ifndef TOOLS // Don't build anything for tools
+#ifndef TOOLS2 // Don't build anything for tools2
+
+PRJ_MMPFILES
+#ifndef MARM_THUMB
+strong_crypto.mmp	BUILD_AS_ARM //	Don't build for thumb
+#endif
+
+#endif // TOOLS2
+#endif // TOOLS
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/strong/strong_crypto.mmp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,33 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+/**
+@file
+
+@SYMPurpose strong_cryptography.dll Implements strong cryptography.
+*/
+
+// Export-restricted version of cryptography.dll
+
+TARGET      strong_cryptography.dll
+MACRO       CRYPTO_STRONG_BUILD
+UNPAGED
+
+#include "../group/crypto.mmh"
+
+VENDORID 0x70000001
+SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/performancetests.mdl	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,602 @@
+
+(object Petal
+    version    	43
+    _written   	"Rose 6.1.9113.5"
+    charSet    	0)
+
+(object Design "Logical View"
+    is_unit    	TRUE
+    is_loaded  	TRUE
+    quid       	"40B71472007C"
+    defaults   	(object defaults
+	rightMargin 	0.250000
+	leftMargin 	0.250000
+	topMargin  	0.250000
+	bottomMargin 	0.500000
+	pageOverlap 	0.250000
+	clipIconLabels 	TRUE
+	autoResize 	TRUE
+	snapToGrid 	TRUE
+	gridX      	16
+	gridY      	16
+	defaultFont 	(object Font
+	    size       	10
+	    face       	"Arial"
+	    bold       	FALSE
+	    italics    	FALSE
+	    underline  	FALSE
+	    strike     	FALSE
+	    color      	0
+	    default_color 	TRUE)
+	showMessageNum 	1
+	showClassOfObject 	TRUE
+	notation   	"Unified")
+    root_usecase_package 	(object Class_Category "Use Case View"
+	quid       	"40B71472007E"
+	exportControl 	"Public"
+	global     	TRUE
+	logical_models 	(list unit_reference_list)
+	logical_presentations 	(list unit_reference_list
+	    (object UseCaseDiagram "Main"
+		quid       	"40B714740196"
+		title      	"Main"
+		zoom       	100
+		max_height 	28350
+		max_width  	21600
+		origin_x   	0
+		origin_y   	0
+		items      	(list diagram_item_list))))
+    root_category 	(object Class_Category "Logical View"
+	quid       	"40B71472007D"
+	exportControl 	"Public"
+	global     	TRUE
+	subsystem  	"Component View"
+	quidu      	"40B71472007F"
+	logical_models 	(list unit_reference_list
+	    (object Class_Category "Performance tests"
+		quid       	"40B71592028F"
+		documentation 	"All classes that perform crypto performance tests."
+		stereotype 	"subsystem"
+		exportControl 	"Public"
+		logical_models 	(list unit_reference_list
+		    (object Class "CTestActions"
+			quid       	"40B716540157")
+		    (object Class "CRSASignFB"
+			quid       	"40B716D10389"
+			superclasses 	(list inheritance_relationship_list
+			    (object Inheritance_Relationship
+				quid       	"40B716EA02DD"
+				supplier   	"Logical View::Performance tests::CTestActions"
+				quidu      	"40B716540157")))
+		    (object Class "CVectorTest"
+			quid       	"40B7174901C4"
+			superclasses 	(list inheritance_relationship_list
+			    (object Inheritance_Relationship
+				quid       	"40B717810260"
+				supplier   	"Logical View::Performance tests::CTestActions"
+				quidu      	"40B716540157")))
+		    (object Class "CDHVector"
+			quid       	"40B71760033B"
+			superclasses 	(list inheritance_relationship_list
+			    (object Inheritance_Relationship
+				quid       	"40B7176A0176"
+				supplier   	"Logical View::Performance tests::CVectorTest"
+				quidu      	"40B7174901C4")))
+		    (object Class "CRSAEncryptFB"
+			quid       	"40B7199701B4"
+			superclasses 	(list inheritance_relationship_list
+			    (object Inheritance_Relationship
+				quid       	"40B719AB02CE"
+				supplier   	"Logical View::Performance tests::CTestActions"
+				quidu      	"40B716540157")))
+		    (object Class "CRSAEncryptVector"
+			quid       	"40B71BE10118"
+			superclasses 	(list inheritance_relationship_list
+			    (object Inheritance_Relationship
+				quid       	"40B71C8E036A"
+				supplier   	"Logical View::Performance tests::CVectorTest"
+				quidu      	"40B7174901C4")))
+		    (object Class "CRSADecryptVector"
+			quid       	"40B71BEE000F"
+			superclasses 	(list inheritance_relationship_list
+			    (object Inheritance_Relationship
+				quid       	"40B71C9900F9"
+				supplier   	"Logical View::Performance tests::CVectorTest"
+				quidu      	"40B7174901C4")))
+		    (object Class "CRSADecryptVectorCRT"
+			quid       	"40B71BFC03B8"
+			superclasses 	(list inheritance_relationship_list
+			    (object Inheritance_Relationship
+				quid       	"40B71CA6002E"
+				supplier   	"Logical View::Performance tests::CVectorTest"
+				quidu      	"40B7174901C4")))
+		    (object Class "CRSASignVector"
+			quid       	"40B71C0D002E"
+			superclasses 	(list inheritance_relationship_list
+			    (object Inheritance_Relationship
+				quid       	"40B71CA2002E"
+				supplier   	"Logical View::Performance tests::CVectorTest"
+				quidu      	"40B7174901C4")))
+		    (object Class "CRSASignVectorCRT"
+			quid       	"40B71C280399"
+			superclasses 	(list inheritance_relationship_list
+			    (object Inheritance_Relationship
+				quid       	"40B71C9D0186"
+				supplier   	"Logical View::Performance tests::CVectorTest"
+				quidu      	"40B7174901C4")))
+		    (object Class "CRSAVerifyVector"
+			quid       	"40B71C34002E"
+			superclasses 	(list inheritance_relationship_list
+			    (object Inheritance_Relationship
+				quid       	"40B71C7002BE"
+				supplier   	"Logical View::Performance tests::CVectorTest"
+				quidu      	"40B7174901C4"))))
+		logical_presentations 	(list unit_reference_list
+		    (object ClassDiagram "Performance tests"
+			quid       	"40B7162D03D7"
+			title      	"Performance tests"
+			zoom       	80
+			max_height 	28350
+			max_width  	21600
+			origin_x   	0
+			origin_y   	0
+			items      	(list diagram_item_list
+			    (object ClassView "Class" "Logical View::Performance tests::CTestActions" @1
+				ShowCompartmentStereotypes 	TRUE
+				IncludeAttribute 	TRUE
+				IncludeOperation 	TRUE
+				location   	(1232, 112)
+				label      	(object ItemLabel
+				    Parent_View 	@1
+				    location   	(1056, 57)
+				    fill_color 	13434879
+				    nlines     	1
+				    max_width  	352
+				    justify    	0
+				    label      	"CTestActions")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"40B716540157"
+				width      	370
+				height     	135
+				annotation 	8
+				autoResize 	TRUE)
+			    (object ClassView "Class" "Logical View::Performance tests::CRSASignFB" @2
+				ShowCompartmentStereotypes 	TRUE
+				IncludeAttribute 	TRUE
+				IncludeOperation 	TRUE
+				location   	(832, 480)
+				label      	(object ItemLabel
+				    Parent_View 	@2
+				    location   	(685, 429)
+				    fill_color 	13434879
+				    nlines     	1
+				    max_width  	294
+				    justify    	0
+				    label      	"CRSASignFB")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"40B716D10389"
+				width      	312
+				height     	126
+				annotation 	8
+				autoResize 	TRUE)
+			    (object InheritView "" @3
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"40B716EA02DD"
+				client     	@2
+				supplier   	@1
+				line_style 	0)
+			    (object ClassView "Class" "Logical View::Performance tests::CVectorTest" @4
+				ShowCompartmentStereotypes 	TRUE
+				IncludeAttribute 	TRUE
+				IncludeOperation 	TRUE
+				location   	(1232, 480)
+				label      	(object ItemLabel
+				    Parent_View 	@4
+				    location   	(1102, 429)
+				    fill_color 	13434879
+				    nlines     	1
+				    max_width  	260
+				    justify    	0
+				    label      	"CVectorTest")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"40B7174901C4"
+				width      	278
+				height     	126
+				annotation 	8
+				autoResize 	TRUE)
+			    (object ClassView "Class" "Logical View::Performance tests::CDHVector" @5
+				ShowCompartmentStereotypes 	TRUE
+				IncludeAttribute 	TRUE
+				IncludeOperation 	TRUE
+				location   	(1936, 896)
+				label      	(object ItemLabel
+				    Parent_View 	@5
+				    location   	(1815, 845)
+				    fill_color 	13434879
+				    nlines     	1
+				    max_width  	242
+				    justify    	0
+				    label      	"CDHVector")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"40B71760033B"
+				width      	260
+				height     	126
+				annotation 	8
+				autoResize 	TRUE)
+			    (object InheritView "" @6
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"40B7176A0176"
+				client     	@5
+				supplier   	@4
+				line_style 	0)
+			    (object InheritView "" @7
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"40B717810260"
+				client     	@4
+				supplier   	@1
+				line_style 	0)
+			    (object ClassView "Class" "Logical View::Performance tests::CRSAEncryptFB" @8
+				ShowCompartmentStereotypes 	TRUE
+				IncludeAttribute 	TRUE
+				IncludeOperation 	TRUE
+				location   	(1696, 480)
+				label      	(object ItemLabel
+				    Parent_View 	@8
+				    location   	(1524, 429)
+				    fill_color 	13434879
+				    nlines     	1
+				    max_width  	344
+				    justify    	0
+				    label      	"CRSAEncryptFB")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"40B7199701B4"
+				width      	362
+				height     	126
+				annotation 	8
+				autoResize 	TRUE)
+			    (object InheritView "" @9
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"40B719AB02CE"
+				client     	@8
+				supplier   	@1
+				line_style 	0)
+			    (object ClassView "Class" "Logical View::Performance tests::CRSAEncryptVector" @10
+				ShowCompartmentStereotypes 	TRUE
+				IncludeAttribute 	TRUE
+				IncludeOperation 	TRUE
+				location   	(624, 896)
+				label      	(object ItemLabel
+				    Parent_View 	@10
+				    location   	(431, 845)
+				    fill_color 	13434879
+				    nlines     	1
+				    max_width  	386
+				    justify    	0
+				    label      	"CRSAEncryptVector")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"40B71BE10118"
+				width      	404
+				height     	126
+				annotation 	8
+				autoResize 	TRUE)
+			    (object ClassView "Class" "Logical View::Performance tests::CRSADecryptVector" @11
+				ShowCompartmentStereotypes 	TRUE
+				IncludeAttribute 	TRUE
+				IncludeOperation 	TRUE
+				location   	(1056, 896)
+				label      	(object ItemLabel
+				    Parent_View 	@11
+				    location   	(853, 845)
+				    fill_color 	13434879
+				    nlines     	1
+				    max_width  	406
+				    justify    	0
+				    label      	"CRSADecryptVector")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"40B71BEE000F"
+				width      	424
+				height     	126
+				annotation 	8
+				autoResize 	TRUE)
+			    (object ClassView "Class" "Logical View::Performance tests::CRSADecryptVectorCRT" @12
+				ShowCompartmentStereotypes 	TRUE
+				IncludeAttribute 	TRUE
+				IncludeOperation 	TRUE
+				location   	(1536, 896)
+				label      	(object ItemLabel
+				    Parent_View 	@12
+				    location   	(1293, 845)
+				    fill_color 	13434879
+				    nlines     	1
+				    max_width  	486
+				    justify    	0
+				    label      	"CRSADecryptVectorCRT")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"40B71BFC03B8"
+				width      	504
+				height     	126
+				annotation 	8
+				autoResize 	TRUE)
+			    (object ClassView "Class" "Logical View::Performance tests::CRSASignVector" @13
+				ShowCompartmentStereotypes 	TRUE
+				IncludeAttribute 	TRUE
+				IncludeOperation 	TRUE
+				location   	(2272, 896)
+				label      	(object ItemLabel
+				    Parent_View 	@13
+				    location   	(2097, 845)
+				    fill_color 	13434879
+				    nlines     	1
+				    max_width  	350
+				    justify    	0
+				    label      	"CRSASignVector")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"40B71C0D002E"
+				width      	368
+				height     	126
+				annotation 	8
+				autoResize 	TRUE)
+			    (object ClassView "Class" "Logical View::Performance tests::CRSASignVectorCRT" @14
+				ShowCompartmentStereotypes 	TRUE
+				IncludeAttribute 	TRUE
+				IncludeOperation 	TRUE
+				location   	(2688, 896)
+				label      	(object ItemLabel
+				    Parent_View 	@14
+				    location   	(2477, 845)
+				    fill_color 	13434879
+				    nlines     	1
+				    max_width  	422
+				    justify    	0
+				    label      	"CRSASignVectorCRT")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"40B71C280399"
+				width      	440
+				height     	126
+				annotation 	8
+				autoResize 	TRUE)
+			    (object ClassView "Class" "Logical View::Performance tests::CRSAVerifyVector" @15
+				ShowCompartmentStereotypes 	TRUE
+				IncludeAttribute 	TRUE
+				IncludeOperation 	TRUE
+				location   	(208, 896)
+				label      	(object ItemLabel
+				    Parent_View 	@15
+				    location   	(30, 845)
+				    fill_color 	13434879
+				    nlines     	1
+				    max_width  	356
+				    justify    	0
+				    label      	"CRSAVerifyVector")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"40B71C34002E"
+				width      	374
+				height     	126
+				annotation 	8
+				autoResize 	TRUE)
+			    (object InheritView "" @16
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"40B71C7002BE"
+				client     	@15
+				supplier   	@4
+				line_style 	0)
+			    (object InheritView "" @17
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"40B71C8E036A"
+				client     	@10
+				supplier   	@4
+				line_style 	0)
+			    (object InheritView "" @18
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"40B71C9900F9"
+				client     	@11
+				supplier   	@4
+				line_style 	0)
+			    (object InheritView "" @19
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"40B71C9D0186"
+				client     	@14
+				supplier   	@4
+				line_style 	0)
+			    (object InheritView "" @20
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"40B71CA2002E"
+				client     	@13
+				supplier   	@4
+				line_style 	0)
+			    (object InheritView "" @21
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"40B71CA6002E"
+				client     	@12
+				supplier   	@4
+				line_style 	0))))))
+	logical_presentations 	(list unit_reference_list
+	    (object ClassDiagram "Main"
+		quid       	"40B7147401A5"
+		title      	"Main"
+		zoom       	100
+		max_height 	28350
+		max_width  	21600
+		origin_x   	0
+		origin_y   	0
+		items      	(list diagram_item_list))))
+    root_subsystem 	(object SubSystem "Component View"
+	quid       	"40B71472007F"
+	physical_models 	(list unit_reference_list)
+	physical_presentations 	(list unit_reference_list
+	    (object Module_Diagram "Main"
+		quid       	"40B714740195"
+		title      	"Main"
+		zoom       	100
+		max_height 	28350
+		max_width  	21600
+		origin_x   	0
+		origin_y   	0
+		items      	(list diagram_item_list))))
+    process_structure 	(object Processes
+	quid       	"40B714720080"
+	ProcsNDevs 	(list
+	    (object Process_Diagram "Deployment View"
+		quid       	"40B7147200DA"
+		title      	"Deployment View"
+		zoom       	100
+		max_height 	28350
+		max_width  	21600
+		origin_x   	0
+		origin_y   	0
+		items      	(list diagram_item_list))))
+    properties 	(object Properties
+	attributes 	(list Attribute_Set
+	    (object Attribute
+		tool       	"DDL"
+		name       	"propertyId"
+		value      	"809135966")
+	    (object Attribute
+		tool       	"DDL"
+		name       	"default__Project"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"DDL"
+			name       	"Directory"
+			value      	"AUTO GENERATE")
+		    (object Attribute
+			tool       	"DDL"
+			name       	"DataBase"
+			value      	("DataBaseSet" 800))
+		    (object Attribute
+			tool       	"DDL"
+			name       	"DataBaseSet"
+			value      	(list Attribute_Set
+			    (object Attribute
+				tool       	"DDL"
+				name       	"ANSI"
+				value      	800)
+			    (object Attribute
+				tool       	"DDL"
+				name       	"Oracle"
+				value      	801)
+			    (object Attribute
+				tool       	"DDL"
+				name       	"SQLServer"
+				value      	802)
+			    (object Attribute
+				tool       	"DDL"
+				name       	"Sybase"
+				value      	803)
+			    (object Attribute
+				tool       	"DDL"
+				name       	"Watcom"
+				value      	804)))
+		    (object Attribute
+			tool       	"DDL"
+			name       	"PrimaryKeyColumnName"
+			value      	"Id")
+		    (object Attribute
+			tool       	"DDL"
+			name       	"PrimaryKeyColumnType"
+			value      	"NUMBER(5)")
+		    (object Attribute
+			tool       	"DDL"
+			name       	"ViewName"
+			value      	"V_")
+		    (object Attribute
+			tool       	"DDL"
+			name       	"TableName"
+			value      	"T_")
+		    (object Attribute
+			tool       	"DDL"
+			name       	"InheritSuffix"
+			value      	"_V")
+		    (object Attribute
+			tool       	"DDL"
+			name       	"DropClause"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"DDL"
+			name       	"BaseViews"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"DDL"
+			name       	"DDLScriptFilename"
+			value      	"DDL1.SQL")))
+	    (object Attribute
+		tool       	"DDL"
+		name       	"default__Attribute"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"DDL"
+			name       	"ColumnType"
+			value      	"VARCHAR")
+		    (object Attribute
+			tool       	"DDL"
+			name       	"Length"
+			value      	"")
+		    (object Attribute
+			tool       	"DDL"
+			name       	"NullsOK"
+			value      	TRUE)
+		    (object Attribute
+			tool       	"DDL"
+			name       	"PrimaryKey"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"DDL"
+			name       	"Unique"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"DDL"
+			name       	"CompositeUnique"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"DDL"
+			name       	"CheckConstraint"
+			value      	"")))
+	    (object Attribute
+		tool       	"DDL"
+		name       	"HiddenTool"
+		value      	FALSE)
+	    (object Attribute
+		tool       	"RequisitePro"
+		name       	"HiddenTool"
+		value      	FALSE)
+	    (object Attribute
+		tool       	"Rose Model Integrator"
+		name       	"HiddenTool"
+		value      	FALSE)
+	    (object Attribute
+		tool       	"Version Control"
+		name       	"HiddenTool"
+		value      	FALSE))
+	quid       	"40B714720081"))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/run_tests.bat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,25 @@
+@rem
+@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+@rem All rights reserved.
+@rem This component and the accompanying materials are made available
+@rem under the terms of the License "Eclipse Public License v1.0"
+@rem which accompanies this distribution, and is available
+@rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
+@rem
+@rem Initial Contributors:
+@rem Nokia Corporation - initial contribution.
+@rem
+@rem Contributors:
+@rem
+@rem Description: 
+@rem
+
+@ECHO OFF
+rem Runs this component's tests for udeb and cleans up afterwards, results stored in \logs\winscw\.  
+rem This script requires ExecTimeOut.exe to be downloaded through Perforce from //PR/share/DABSRelease/buildscripts/ and the environment variable SECURITYSOURCEDIR to be set (though this should have been set prior to a build) to the root of the security source tree.
+rem See test_launcher.pl -help for more information.
+IF (%SECURITYSOURCEDIR%)==() (
+ECHO ERROR: Environment variable SECURITYSOURCEDIR has not been set.  This should point to the root of your Security source tree.
+) ELSE (
+%SECURITYSOURCEDIR%\os\security\cryptomgmtlibs\securitytestfw\test\autotesting\test_launcher.pl -components crypto -testreleases udeb -exectimeout \ExecTimeOut.exe -resultsoutput \logs\winscw
+)
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tasymmetric/cryptopp/exponentiate.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,200 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+/**
+ @file
+*/
+
+#include "modarith.h"
+#include "nbtheory.h"
+#include <iostream.h>
+
+USING_NAMESPACE(CryptoPP)
+
+void CheckEPOCDecrypt(Integer& e, Integer& p, Integer& q, Integer& cipher, Integer& expectedPlaintext);
+
+void TestRSASigning()
+{
+	const Integer m("AA36ABCE88ACFDFF55523C7FC4523F90EFA00DF3774A259F2E62B4C5D99CB5ADB300A0285E5301930E0C70FB6876939CE616CE624A11E0086D341EBCACA0A1F5h");
+	const Integer d("0A033748626487695F5F30BC38B98B44C2CD2DFF434098CD20D8A138D090BF64797C3FA7A2CDCB3CD1E0BDBA2654B4F9DF8E8AE59D733D9F33B301624AFD1D51h");
+	const Integer e(17);
+
+//	Take EPOC padded plain text, sign and verify
+	const Integer plain("01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0054859B342C49EA2Ah");
+	const Integer expectedSig("786C08484F59280886A19919BECA53711819B2D2DD82D702E2F6DE991DC89CB968C01B1315A742B5BE783A781B5B1286F46DAFE29DE675C64A3BA4781DEF8F19h");
+	
+//	Private Encrypt (Sign) signedText = (digest ^ d) mod m
+	Integer cipher_privateEncrypt = a_exp_b_mod_c(plain, d, m);
+	assert(cipher_privateEncrypt==expectedSig);
+		
+//	Public Decrypt (Decrypt) = (signedText ^ e) mod m
+	Integer verified = a_exp_b_mod_c(cipher_privateEncrypt, e, m);
+	assert(verified==plain);
+		
+//	Now reverse operations (as in previous bugged asymmetric) and check results...
+//	Do a private decrypt for bad signing
+	Integer badSign = a_exp_b_mod_c(plain, d, m);
+	assert(badSign==expectedSig);
+
+//	And verify (public encryption)
+	Integer badVerify = a_exp_b_mod_c(badSign, e, m);
+	assert(badVerify==plain);
+
+}
+
+void TestRSADecryptValues()
+{
+//	First test a good set
+/*	<modulus>BBF82F090682CE9C2338AC2B9DA871F7368D07EED41043A440D6B6F07454F51FB8DFBAAF035C02AB61EA48CEEB6FCD4876ED520D60E1EC4619719D8A5B8B807FAFB8E0A3DFC737723EE6B4B7D93A2584EE6A649D060953748834B2454598394EE0AAB12D7B61A51F527A9A41F6C1687FE2537298CA2A8F5946F8E5FD091DBDCB</modulus>
+	<P>EECFAE81B1B9B3C908810B10A1B5600199EB9F44AEF4FDA493B81A9E3D84F632124EF0236E5D1E3B7E28FAE7AA040A2D5B252176459D1F397541BA2A58FB6599</P>
+	<Q>C97FB1F027F453F6341233EAAAD1D9353F6C42D08866B1D05A0F2035028B9D869840B41666B42E92EA0DA3B43204B5CFCE3352524D0416A5A441E700AF461503</Q>
+	<dP>54494CA63EBA0337E4E24023FCD69A5AEB07DDDC0183A4D0AC9B54B051F2B13ED9490975EAB77414FF59C1F7692E9A2E202B38FC910A474174ADC93C1F67C981</dP>
+	<dQ>471E0290FF0AF0750351B7F878864CA961ADBD3A8A7E991C5C0556A94C3146A7F9803F8F6F8AE342E931FD8AE47A220D1B99A495849807FE39F9245A9836DA3D</dQ>
+	<qInv>B06C4FDABB6301198D265BDBAE9423B380F271F73453885093077FCD39E2119FC98632154F5883B167A967BF402B4E9E2E0F9656E698EA3666EDFB25798039F7</qInv>
+	<plaintext>D436E99569FD32A7C8A05BBC90D32C49</plaintext>
+	<ciphertext>4B9C35BC3CA99B3908EF91C91F4D661544B5462CB3079D7B7A610B90039602F080417B049B7F31BAF16A87B59986620EC1BBD791AD30774309C05F0AFA24B0BF1EA1FEAA3A8EFA2C24F5626B8A9C9A157C1018DA54D314E728E2DB75E84FB5E99082561D904139B95C4DA70A5AB6412527B97CEDA04C6FB00BE1E44537706FF2</ciphertext>
+*/
+	Integer e1 = Integer(17);
+	Integer p1 = Integer("EECFAE81B1B9B3C908810B10A1B5600199EB9F44AEF4FDA493B81A9E3D84F632124EF0236E5D1E3B7E28FAE7AA040A2D5B252176459D1F397541BA2A58FB6599h");
+	Integer q1 = Integer("C97FB1F027F453F6341233EAAAD1D9353F6C42D08866B1D05A0F2035028B9D869840B41666B42E92EA0DA3B43204B5CFCE3352524D0416A5A441E700AF461503h");
+	Integer cipher1 = Integer("4B9C35BC3CA99B3908EF91C91F4D661544B5462CB3079D7B7A610B90039602F080417B049B7F31BAF16A87B59986620EC1BBD791AD30774309C05F0AFA24B0BF1EA1FEAA3A8EFA2C24F5626B8A9C9A157C1018DA54D314E728E2DB75E84FB5E99082561D904139B95C4DA70A5AB6412527B97CEDA04C6FB00BE1E44537706FF2h");
+	Integer ePlaintext1 = Integer("D436E99569FD32A7C8A05BBC90D32C49h"); 
+
+	CheckEPOCDecrypt(e1, p1, q1, cipher1, ePlaintext1); 
+
+//	Now test a bad set
+/*
+	<input>123456789ABCDEF123456789ABCDEF</input>
+	<P>ED49CE92ABF0509006E412AC7F28EEA7626107C3F2456FA18E6513153D6F6003</P>
+	<Q>ED12B5B118CBA1154DC24AE05AAB1E3A33B5E47A3715861697498824E5BCA331</Q>
+	----------- e -----------
+01 00 01 
+	 ----------- P -----------
+ed 49 ce 92 ab f0 50 90 06 e4 12 ac 7f 28 ee a7 62 61 07 c3 f2 45 6f a1 8e 65 13 15 3d 6f 60 03 
+	 ----------- Q -----------
+ed 12 b5 b1 18 cb a1 15 4d c2 4a e0 5a ab 1e 3a 33 b5 e4 7a 37 15 86 16 97 49 88 24 e5 bc a3 31 
+	 ----------- DP -----------
+dc e0 33 15 7c 4e f9 ee d7 3b 3d d6 ab 97 22 6f 54 b8 15 4e 64 1a 16 4b 40 0c fd b2 6b b9 5c 99 
+	 ----------- DQ -----------
+27 65 a3 92 11 a7 cd 56 27 fc f0 ca 85 e6 c7 f8 2e 1d bd 21 5e 44 12 6b 70 aa c4 98 35 21 7b 11 
+	 ----------- QInv -----------
+76 2f 0a 8c fa 16 d8 a6 df 53 0b 1c fa 5f ff 4c 55 a4 4f 52 e1 b6 28 89 1f c9 c9 10 1c d9 73 2d 
+	 ----------- N -----------
+db be ab d7 a5 8e c2 a8 83 17 83 86 9a 2e 07 12 03 1a 5c 0f 87 a8 4b d3 fe 3c 21 91 df 49 4e 2b e4 fa 8d a8 65 e5 c8 c7 49 4d fa c5 5c 6a d2 fc e6 96 2e 3b de 1b 38 28 94 93 04 47 dd a7 49 93 
+	 ----------- ciphertext -----------
+69 3a 72 26 39 cc 70 9c 89 ac dc 24 8c 52 ef 01 dd f7 5a c3 8e bf f9 8d eb ed 25 5e 11 f0 d9 b1 43 de 14 97 d2 34 65 a6 2c 11 13 6e f8 c4 37 81 01 d5 8e 8d ea 0b 33 f2 9f e2 df 68 c4 c7 34 2c 
+
+*/
+//	Two primes: p, q
+	Integer e2 = Integer(65537);
+	Integer p2 = Integer("ED49CE92ABF0509006E412AC7F28EEA7626107C3F2456FA18E6513153D6F6003h");
+	Integer q2 = Integer("ED12B5B118CBA1154DC24AE05AAB1E3A33B5E47A3715861697498824E5BCA331h");
+	Integer cipher2 = Integer("693A722639CC709C89ACDC248C52EF01DDF75AC38EBFF98DEBED255E11F0D9B143DE1497D23465A62C11136EF8C4378101D58E8DEA0B33F29FE2DF68C4C7342Ch");
+	Integer ePlaintext2 = Integer("123456789ABCDEF123456789ABCDEFh"); 
+	
+	CheckEPOCDecrypt(e2, p2, q2, cipher2, ePlaintext2);
+
+/*
+<modulus>EF6419DC54EC49B7D0524BA675727F6D895A66A9940F3C76B6220A5B9073357D70702C9FC2D6ECA41448356CE562F7FFAF1DA64BA947274BA0D372F5866B69CB</modulus>
+<P>FB4F79F4E8C816B816A817120901AED45D0FD72F3DC4BA6946F790776E8A5845</P>
+<Q>F3DBAF51B232E334964581AE27DE17BFF90A66AE84C2BE95574082880BFF82CF</Q>
+<dP>63D8A1C5B22EBD080AC861D2228DEE9E251344155ADF2C88E34F3CB096D49459</dP>
+<dQ>F145A87EC23B0B059AB08690132DF07DA61F9E5C894A4D5A610B989A9694658D</dQ>
+<qInv>4B8869676360EDC92F0B02F0B93580A570686E7EA3C7D39A5E572AB79314CCBD</qInv>
+<ciphertext>2EAEAE1F07AAD1D3A14C2178397DFECD91C92E963511BE5CDDE8BCA79B47ECEF68F8DD2F8240DE2E05E90E2A75FAA6495CE903DE413D332CFDD2DD83BC8244C5</ciphertext>
+<plaintext>123456789ABCDEF123456789ABCDEF123456789ABCDEF123456789ABCDEF</plaintext>
+*/
+	Integer e3 = Integer(65537);
+	Integer p3 = Integer("FB4F79F4E8C816B816A817120901AED45D0FD72F3DC4BA6946F790776E8A5845h");
+	Integer q3 = Integer("F3DBAF51B232E334964581AE27DE17BFF90A66AE84C2BE95574082880BFF82CFh");
+	Integer cipher3 = Integer("2EAEAE1F07AAD1D3A14C2178397DFECD91C92E963511BE5CDDE8BCA79B47ECEF68F8DD2F8240DE2E05E90E2A75FAA6495CE903DE413D332CFDD2DD83BC8244C5h");
+	Integer ePlaintext3 = Integer("123456789ABCDEF123456789ABCDEF123456789ABCDEF123456789ABCDEFh");
+
+	CheckEPOCDecrypt(e3, p3, q3, cipher3, ePlaintext3);
+}
+
+void CheckEPOCDecrypt(Integer& e, Integer& p, Integer& q, Integer& cipher, Integer& expectedPlaintext)
+{
+//////////////////////////////////
+//	Key generation
+//////////////////////////////////
+
+//	calculate n = p * q 
+	Integer n=p*q;
+
+	Integer r1 = p;
+    r1-=1;		//	r1 = p-1
+    
+	Integer r2=q;
+    r2-=1;		//	r2 = q-1
+    
+	Integer r0=r1;
+    r0*=r2;	//	r0 = (p-1)(q-1)
+
+//	e * d = 1 mod ((p-1)(q-1)) 
+//	d = e^(-1) mod ((p-1)(q-1))
+//! calculate multiplicative inverse of *this mod n
+//	Integer InverseMod(const Integer &n) const;
+	Integer d = e;
+	d = d.InverseMod(r0);
+
+//	calculate dP = d mod (p-1) 
+	Integer dP=d;
+	dP%=r1;
+
+//	calculate dQ = d mod (q-1) 
+	Integer dQ=d;
+	dQ%=r2;
+
+//	calculate inverse of qInv = q^(-1)mod(p)
+    Integer qInv=q;
+	qInv = qInv.InverseMod(p);
+
+
+//////////////////////////////////
+//	Decryption
+//////////////////////////////////
+
+//	m1 = c^(dP) mod(p)
+	Integer m1 = ModularExponentiation((cipher % p), dP, p);
+	
+//	m2 = c^(dQ) mod(Q)
+	Integer m2 = ModularExponentiation((cipher % q), dQ, q);
+
+//	Calculate CRT
+//	h = (m1-m2) qInv mod(p)	
+	Integer plainRes = m1 - m2;
+	plainRes *= qInv;
+	plainRes %= p;
+
+//	output = m2 + q * plainRes	
+	plainRes *= q;
+	plainRes += m2;
+
+//	assert(expectedPlaintext==plainRes);	//	Not true because ciphertext includes
+}											//	padding and plaintext doesn't. Though
+											//	it's possible to compare the first chunk
+											//	of plainRes with expectedPlaintext
+
+int main(int argc, char** argv)
+{
+//	TestRSASigning();
+	TestRSADecryptValues();
+	return 0;
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tasymmetric/cryptopp/exponentiate32.dsp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,101 @@
+# Microsoft Developer Studio Project File - Name="exponentiate32" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=exponentiate32 - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE 
+!MESSAGE NMAKE /f "exponentiate32.mak".
+!MESSAGE 
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE 
+!MESSAGE NMAKE /f "exponentiate32.mak" CFG="exponentiate32 - Win32 Debug"
+!MESSAGE 
+!MESSAGE Possible choices for configuration are:
+!MESSAGE 
+!MESSAGE "exponentiate32 - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "exponentiate32 - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE 
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName "exponentiate32"
+# PROP Scc_LocalPath "."
+CPP=cl.exe
+RSC=rc.exe
+
+!IF  "$(CFG)" == "exponentiate32 - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /I "z:\cryptopp\\" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+
+!ELSEIF  "$(CFG)" == "exponentiate32 - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "d:\cryptopp\\" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /YX /FD /GZ /c
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib cryptlib.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"d:\cryptopp\debug"
+
+!ENDIF 
+
+# Begin Target
+
+# Name "exponentiate32 - Win32 Release"
+# Name "exponentiate32 - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\exponentiate.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# End Target
+# End Project
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tasymmetric/cryptopp/exponentiate32.dsw	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,41 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "cryptlib"=..\..\..\..\..\..\cryptopp\cryptlib.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "exponentiate32"=.\exponentiate32.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tasymmetric/performancetest.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,124 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+/**
+ @file
+*/
+
+#include "performancetest.h"
+#include "t_input.h"
+#include "tvectorutils.h"
+
+_LIT8(KPerformanceTestStart, "<KPerformanceTesting>");
+_LIT8(KPerformanceTestEnd, "</KPerformanceTesting>");
+
+/*static*/ CPerformance* CPerformance::iPerformanceTester = NULL;
+
+/*static*/ CPerformance* CPerformance::NewL()
+{
+	if (!iPerformanceTester)
+	{
+		iPerformanceTester = new (ELeave) CPerformance();
+	}
+
+	return (iPerformanceTester);
+}
+
+/*static*/ CPerformance* CPerformance::PerformanceTester()
+{
+	ASSERT(iPerformanceTester);
+	return (iPerformanceTester);
+}
+
+/*static*/ void CPerformance::ClosePerformanceTester()
+{
+	delete iPerformanceTester;
+	iPerformanceTester = NULL;
+}
+
+
+CPerformance::CPerformance()
+:	iTestingPerformance(EFalse)	//	Default to no performance testing
+{}
+
+CPerformance::~CPerformance()
+{}
+
+////////////////////////////////////////////////////////////////////////
+//	Use this class as a place holder to turn performance testing on/off
+////////////////////////////////////////////////////////////////////////
+	
+CTestAction* CPerformanceTest::NewL(RFs& aFs, CConsoleBase& aConsole, Output& aOut, const TTestActionSpec& aTestActionSpec)
+{
+	CTestAction* me = CPerformanceTest::NewLC(aFs, aConsole, aOut, aTestActionSpec);
+	CleanupStack::Pop(me);
+	return (me);
+}
+
+CTestAction* CPerformanceTest::NewLC(RFs& /*aFs*/, CConsoleBase& aConsole, Output& aOut, const TTestActionSpec& aTestActionSpec)
+{
+	CPerformanceTest* me = new (ELeave) CPerformanceTest(aConsole, aOut);
+	CleanupStack::PushL(me);
+	me->ConstructL(aTestActionSpec);
+	return (static_cast<CTestAction*>(me));
+}
+
+
+CPerformanceTest::CPerformanceTest(CConsoleBase& aConsole, Output& aOut)
+    : CTestAction(aConsole, aOut)
+    {
+    }
+
+CPerformanceTest::~CPerformanceTest()
+    {
+    }
+
+void CPerformanceTest::ConstructL(const TTestActionSpec& aTestActionSpec)
+{
+	CTestAction::ConstructL(aTestActionSpec);
+
+//	Switch on performance testing?    
+	TPtrC8 enablePtr = Input::ParseElement(aTestActionSpec.iActionBody, KPerformanceTestStart, KPerformanceTestEnd);
+    TBool enablePerformance = VectorUtils::ParseBoolL(enablePtr);
+	CPerformance::PerformanceTester()->SetTestingPerformance(enablePerformance);
+	
+	iExpectedResult = KErrNone;
+}
+
+void CPerformanceTest::DoPerformPrerequisite(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+	User::RequestComplete(status, KErrNone);
+	iActionState = CTestAction::EAction;
+	}
+
+void CPerformanceTest::DoPerformPostrequisite(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+	iFinished = ETrue;
+	User::RequestComplete(status, KErrNone);
+	}
+
+void CPerformanceTest::PerformAction(TRequestStatus& aStatus)
+{
+	iResult = ETrue;
+	iFinished = ETrue;
+	TRequestStatus* status = &aStatus;
+	User::RequestComplete(status, KErrNone);	
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tasymmetric/performancetest.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,89 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+
+/**
+ @file
+*/
+
+#ifndef __PERFORMANCETEST_H__
+#define __PERFORMANCETEST_H__
+#include <f32file.h>
+#include "t_testaction.h"
+#include "t_testsetup.h"
+#include <e32std.h>
+
+const TInt KMaxIterations = 500;
+
+_LIT8(KIterationsStart, "<iterations>");
+_LIT8(KIterationsEnd, "</iterations>");
+_LIT8(KTypeOfCryptoStart, "<cryptotype>");
+_LIT8(KTypeOfCryptoEnd, "</cryptotype>");
+_LIT8(KRSAStandard, "EStandard");
+_LIT8(KRSAStandardCRT, "EStandardCRT");
+
+//	This class can be used to switch on/off performance testing
+//	It inherits from CTestAction so it can be used in the script
+//	but otherwise doesn't carry out any test.
+//	When in a script and enabled, the performance tester singleton
+//	is initialised and can then be used by all following tests in
+//	various performance operations
+
+class CPerformanceTest : public CTestAction
+{
+public:
+	static CTestAction* NewL(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	static CTestAction* NewLC(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+public:
+	virtual ~CPerformanceTest();
+	virtual void PerformAction(TRequestStatus& aStatus);
+protected:
+    CPerformanceTest(CConsoleBase& aConsole, Output& aOut);  
+	virtual void ConstructL(const TTestActionSpec& aTestActionSpec);
+	virtual void DoPerformPrerequisite(TRequestStatus& aStatus);
+	virtual void DoPerformPostrequisite(TRequestStatus& aStatus);
+	virtual void DoReportAction(void){};
+	virtual void DoCheckResult(TInt){};
+};
+
+//	static singleton tracks performance testing and provides
+//	standard operations for all performance tests
+
+class CPerformance : public CBase
+{
+public:
+	static CPerformance* NewL();
+public:
+	static CPerformance* PerformanceTester();
+	static void ClosePerformanceTester();
+public:
+	inline void SetTestingPerformance(TBool aTestPerformance) {iTestingPerformance=aTestPerformance;};
+	inline TBool IsTestingPerformance() const {return (iTestingPerformance);};
+private:
+	CPerformance();
+	~CPerformance();
+private:
+	static CPerformance* iPerformanceTester;
+private:
+	TBool iTestingPerformance;
+};
+
+#endif	//	__PERFORMANCETEST_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tasymmetric/script_gen/Makefile	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,21 @@
+## Makefile for vector generation code.
+
+all:		rsa_test dsa_test gen_random gen_rsakey gen_dsakey
+
+rsa_test:	rsa_test.c keys.c keys.h utils.c utils.h
+			gcc rsa_test.c keys.c utils.c -o rsa_test -lcrypto
+
+dsa_test:	dsa_test.c utils.c utils.h
+			gcc dsa_test.c utils.c -o dsa_test -lcrypto
+
+gen_random:	gen_random.c
+			gcc gen_random.c -o gen_random -lcrypto
+
+gen_rsakey: gen_rsakey.c utils.c utils.h
+			gcc gen_rsakey.c utils.c -o gen_rsakey -lcrypto
+
+gen_dsakey: gen_dsakey.c utils.c utils.h
+			gcc gen_dsakey.c utils.c -o gen_dsakey -lcrypto
+
+clean:
+			rm -f rsa_test dsa_test gen_random gen_dsakey
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tasymmetric/script_gen/dsa_test.c	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,305 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* Generates DSA test vectors.
+*
+*/
+
+
+
+
+/**
+ @file
+*/
+
+#include <stdio.h>
+#include <openssl/crypto.h>
+#include <openssl/rand.h>
+#include <openssl/dsa.h>
+#include "utils.h"
+
+/*
+ * The DSA keys have been choosen from randomly generated ones so that either
+ * the 2nd or 3rd most significant bit of q is set - this is so that a
+ * particular path is followed when the signing procedure generates k, for which
+ * our function that generates a random number in a certain range is equivalent
+ * to the openssl one.
+ *
+ * This is nasty, but it means we don't have to change the openssl code.
+ */
+
+static DSA* createDSAKey1()
+	{
+	unsigned char p_data[] =
+		"\x8d\xf2\xa4\x94\x49\x22\x76\xaa\x3d\x25\x75\x9b\xb0\x68\x69\xcb"
+		"\xea\xc0\xd8\x3a\xfb\x8d\x0c\xf7\xcb\xb8\x32\x4f\x0d\x78\x82\xe5"
+		"\xd0\x76\x2f\xc5\xb7\x21\x0e\xaf\xc2\xe9\xad\xac\x32\xab\x7a\xac"
+		"\x49\x69\x3d\xfb\xf8\x37\x24\xc2\xec\x07\x36\xee\x31\xc8\x02\x91";
+
+	int p_data_len = 64;
+
+	unsigned char q_data[] =
+		"\xc7\x73\x21\x8c\x73\x7e\xc8\xee\x99\x3b\x4f\x2d\xed\x30\xf4\x8e"
+		"\xda\xce\x91\x5f";
+
+	int q_data_len = 20;
+
+	unsigned char g_data[] =
+		"\x62\x6d\x02\x78\x39\xea\x0a\x13\x41\x31\x63\xa5\x5b\x4c\xb5\x00"
+		"\x29\x9d\x55\x22\x95\x6c\xef\xcb\x3b\xff\x10\xf3\x99\xce\x2c\x2e"
+		"\x71\xcb\x9d\xe5\xfa\x24\xba\xbf\x58\xe5\xb7\x95\x21\x92\x5c\x9c"
+		"\xc4\x2e\x9f\x6f\x46\x4b\x08\x8c\xc5\x72\xaf\x53\xe6\xd7\x88\x02";
+
+	int g_data_len = 64;
+
+	unsigned char priv_key_data[] =
+		"\xc2\x5f\xb4\x81\xd7\x9c\x07\x30\x97\xc2\x1d\x0c\xb1\xd7\x07\x2f"
+		"\x04\x1d\xbb\x89";
+
+	int priv_key_data_len = 20;
+
+	unsigned char pub_key_data[] =
+		"\x2d\x52\x1e\x27\x37\xe7\xdb\xdb\xd1\xe4\x7a\xb6\x79\xc5\xae\x69"
+		"\xe1\x25\x37\xe9\x96\xb1\x81\xba\xf0\xb8\x85\x0f\x84\xc8\x2b\x9e"
+		"\xf5\xb8\xb6\xc2\xb2\x22\x1b\xb5\xa9\xd0\x58\x66\x32\x5a\xb1\x62"
+		"\xae\xb7\x13\x68\xbd\xe4\xca\xa0\xf6\x68\x96\x3c\x7d\x1a\x43\x52";
+
+	int pub_key_data_len = 64;
+
+	DSA* key = DSA_new();
+	key->p = BN_new();
+	key->q = BN_new();
+	key->g = BN_new();
+	key->priv_key = BN_new();
+	key->pub_key = BN_new();
+
+	BN_bin2bn(p_data, p_data_len, key->p);
+	BN_bin2bn(q_data, q_data_len, key->q);
+	BN_bin2bn(g_data, g_data_len, key->g);
+	BN_bin2bn(pub_key_data, pub_key_data_len, key->pub_key);
+	BN_bin2bn(priv_key_data, priv_key_data_len, key->priv_key);
+
+	return key;
+	}
+
+static DSA* createDSAKey2()
+	{
+	unsigned char p_data[] =
+		"\x8d\xf2\xa4\x94\x49\x22\x76\xaa\x3d\x25\x75\x9b\xb0\x68\x69\xcb"
+		"\xea\xc0\xd8\x3a\xfb\x8d\x0c\xf7\xcb\xb8\x32\x4f\x0d\x78\x82\xe5"
+		"\xd0\x76\x2f\xc5\xb7\x21\x0e\xaf\xc2\xe9\xad\xac\x32\xab\x7a\xac"
+		"\x49\x69\x3d\xfb\xf8\x37\x24\xc2\xec\x07\x36\xee\x31\xc8\x02\x91";
+
+	int p_data_len = 64;
+
+	unsigned char q_data[] =
+		"\xc7\x73\x21\x8c\x73\x7e\xc8\xee\x99\x3b\x4f\x2d\xed\x30\xf4\x8e"
+		"\xda\xce\x91\x5f";
+
+	int q_data_len = 20;
+
+	unsigned char g_data[] =
+		"\x62\x6d\x02\x78\x39\xea\x0a\x13\x41\x31\x63\xa5\x5b\x4c\xb5\x00"
+		"\x29\x9d\x55\x22\x95\x6c\xef\xcb\x3b\xff\x10\xf3\x99\xce\x2c\x2e"
+		"\x71\xcb\x9d\xe5\xfa\x24\xba\xbf\x58\xe5\xb7\x95\x21\x92\x5c\x9c"
+		"\xc4\x2e\x9f\x6f\x46\x4b\x08\x8c\xc5\x72\xaf\x53\xe6\xd7\x88\x02";
+
+	int g_data_len = 64;
+
+	unsigned char priv_key_data[] =
+		"\x0f\x36\x53\xf7\x51\xa7\x04\x6e\x0b\x52\x30\xfe\x15\x7c\xa3\x3e"
+		"\x03\xf0\x84\x73";
+
+	int priv_key_data_len = 20;
+
+	unsigned char pub_key_data[] =
+		"\x7f\x9a\xd6\x6d\x4d\xa9\xb0\x0e\x71\x76\x04\xc4\xdb\x3b\x96\x93"
+		"\x6b\x6c\xa6\x16\xa5\x6b\xb6\xe6\x23\x26\xc7\xf5\xd4\xd6\x5b\x06"
+		"\x6c\x10\x47\x0a\xc2\xf2\x1d\xc1\x7b\x39\x54\x6d\x84\x99\x40\xd1"
+		"\x7e\xb0\xb5\x17\xc1\x17\xcd\xa0\x78\x0c\xc1\x67\xf1\x57\x83\x2c";
+
+	int pub_key_data_len = 64;
+
+	DSA* key = DSA_new();
+	key->p = BN_new();
+	key->q = BN_new();
+	key->g = BN_new();
+	key->priv_key = BN_new();
+	key->pub_key = BN_new();
+
+	BN_bin2bn(p_data, p_data_len, key->p);
+	BN_bin2bn(q_data, q_data_len, key->q);
+	BN_bin2bn(g_data, g_data_len, key->g);
+	BN_bin2bn(pub_key_data, pub_key_data_len, key->pub_key);
+	BN_bin2bn(priv_key_data, priv_key_data_len, key->priv_key);
+
+	return key;
+	}
+
+static DSA* createDSAKey3()
+	{
+	unsigned char p_data[] =
+		"\xcf\x62\x62\xfb\x7e\x7d\xc9\xc3\x7b\x4b\xa3\x62\x02\x1c\xfd\xb0"
+		"\xcc\xd7\xbe\x39\xba\x89\xfc\x86\xf4\x9b\x29\xee\xe8\xee\x47\x23"
+		"\xa8\x36\xd5\xbc\x3f\x31\xfe\x75\xc9\xcc\xc2\xa4\x49\x1d\x44\xc2"
+		"\xb2\x7a\x71\x45\xd8\xcd\x84\x41\xe5\x8a\x94\xaa\x02\x0f\xd9\x03";
+
+	int p_data_len = 64;
+
+	unsigned char q_data[] =
+		"\xfe\xf0\xae\xe8\x2a\x1c\x4b\xdb\xbb\xd7\xdf\x3b\xfa\xc9\x63\xfb"
+		"\x6d\xfc\x1e\xe7";
+
+	int q_data_len = 20;
+
+	unsigned char g_data[] =
+		"\x3b\x48\xa9\x2d\x82\xde\x8c\x21\x81\x09\xf8\x78\xae\xfc\x6a\xf5"
+		"\x0e\x2a\x90\x3d\xfb\x64\x90\x6f\x0d\xbc\xfd\x67\x4e\x2c\x56\x00"
+		"\xa3\x80\x25\x8a\x00\x26\x62\x10\xdc\xb6\xaa\x11\xa6\x36\x8c\x19"
+		"\xb9\x2a\xcc\x00\xca\x84\xd5\xeb\x8f\x9b\x50\x08\x2d\x56\x4b\x37";
+
+	int g_data_len = 64;
+
+	unsigned char priv_key_data[] =
+		"\x8f\xf4\xb0\xe8\x16\x94\xcb\x45\xaf\x26\xfa\x3b\x52\x96\xb3\xe9"
+		"\xc9\x41\xce\x18";
+
+	int priv_key_data_len = 20;
+
+	unsigned char pub_key_data[] =
+		"\x4e\x31\xab\x0e\x9b\xd5\x16\xaf\xf5\xc7\xf8\xe3\x1d\x01\x20\x90"
+		"\x3e\x11\x11\x5f\xf2\x22\x46\x5f\x08\xbb\x9e\x36\x82\xdc\xfb\x33"
+		"\xf9\xaa\xa5\xe9\xa0\x12\x16\x65\xc4\xbc\x7c\x6a\xf8\xb3\xc8\x8c"
+		"\x2e\x45\xcc\x00\xaa\x7b\x4d\xae\xae\x9a\x1d\x37\x75\xb2\xe6\x86";
+
+	int pub_key_data_len = 64;
+
+	DSA* key = DSA_new();
+	key->p = BN_new();
+	key->q = BN_new();
+	key->g = BN_new();
+	key->priv_key = BN_new();
+	key->pub_key = BN_new();
+
+	BN_bin2bn(p_data, p_data_len, key->p);
+	BN_bin2bn(q_data, q_data_len, key->q);
+	BN_bin2bn(g_data, g_data_len, key->g);
+	BN_bin2bn(pub_key_data, pub_key_data_len, key->pub_key);
+	BN_bin2bn(priv_key_data, priv_key_data_len, key->priv_key);
+
+	return key;
+	}
+
+static int digest_len = 20;
+
+static unsigned char digest1[]="12345678901234567890";
+
+static unsigned char digest2[] =
+        "\xb1\xcd\x52\x66\x6d\x22\x60\x16\xd3\x75\x8e\x96\xa1\xff\xfa\xbc"
+        "\x1b\x9a\xe2\xd7";
+
+static unsigned char digest3[] =
+        "\x39\x86\x53\xec\xae\xf6\xd7\x7a\x8a\x67\x8a\x74\x20\x30\x3b\xc9"
+        "\xda\xc9\xf3\xa7";
+/**
+ * Print DSA public key.
+ */
+
+void printDSAPublicKey(DSA* key)
+    {    
+    printBNElement("keyP", key->p);
+    printBNElement("keyQ", key->q);
+    printBNElement("keyG", key->g);
+    printBNElement("keyY", key->pub_key);
+    }
+
+/**
+ * Print DSA private key.
+ */
+
+void printDSAPrivateKey(DSA* key)
+    {    
+    printBNElement("keyP", key->p);
+    printBNElement("keyQ", key->q);
+    printBNElement("keyG", key->g);
+    printBNElement("keyX", key->priv_key);
+    }
+
+/**
+ * Sign a message - DSA deals with generating a digest for us.
+ */
+
+static void generateSignatureVector(DSA* key, unsigned char* mess, int len, BOOL passes)
+    {
+    unsigned char buf[len];
+	unsigned int siglen;
+    int err;
+    DSA_SIG* sig;
+ 
+	Mem::Copy(buf, mess, len);
+
+    setOurRandom();
+    sig = DSA_do_sign(buf, len, key);
+    if (sig == NULL)
+        processError();
+
+    if (!passes)
+        scramble(buf, len);
+
+    printActionHeader("DSA test vector", "DSASignVector");
+    printDSAPrivateKey(key);
+    printHexElement("digest", buf, len);
+    printBNElement("sigR", sig->r);
+    printBNElement("sigS", sig->s);
+    printActionFooter(passes);
+
+    printActionHeader("DSA test vector", "DSAVerifyVector");
+    printDSAPublicKey(key);
+    printHexElement("digest", buf, len);
+    printBNElement("sigR", sig->r);
+    printBNElement("sigS", sig->s);
+    printActionFooter(passes);
+
+    DSA_SIG_free(sig);
+    }
+
+
+int main(int argc, char **argv)
+	{
+	DSA* key1 = createDSAKey1();
+	DSA* key2 = createDSAKey2();
+	DSA* key3 = createDSAKey3();
+
+    setOurRandom();
+    testOurRandom();
+
+    generateSignatureVector(key1, digest1, digest_len, TRUE);
+    generateSignatureVector(key2, digest1, digest_len, TRUE);
+    generateSignatureVector(key3, digest1, digest_len, TRUE);
+
+    generateSignatureVector(key1, digest2, digest_len, TRUE);
+    generateSignatureVector(key2, digest2, digest_len, TRUE);
+    generateSignatureVector(key3, digest2, digest_len, TRUE);
+
+    generateSignatureVector(key1, digest3, digest_len, TRUE);
+    generateSignatureVector(key2, digest3, digest_len, TRUE);
+    generateSignatureVector(key3, digest3, digest_len, TRUE);
+
+    generateSignatureVector(key1, digest1, digest_len, FALSE);
+    generateSignatureVector(key2, digest1, digest_len, FALSE);
+    generateSignatureVector(key3, digest1, digest_len, FALSE);
+
+	return 0;
+	}
+ 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tasymmetric/script_gen/gen_dsakey.c	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,117 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* Generate a DSA key.
+*
+*/
+
+
+
+
+/**
+ @file
+*/
+
+#include <stdio.h>
+#include <openssl/crypto.h>
+#include <openssl/rand.h>
+#include <openssl/dsa.h>
+#include <openssl/bn.h>
+#include "utils.h"
+
+#ifndef BOOL
+#define BOOL int
+#define TRUE 1
+#define FALSE 0
+#endif
+
+static void printDSAKey(DSA* key)
+    {
+    printf("static DSA* createDSAKey()\n");
+    printf("\t{\n");
+
+    printCBN("p_data", key->p);
+    printCBN("q_data", key->q);
+    printCBN("g_data", key->g);
+    printCBN("priv_key_data", key->priv_key);
+    printCBN("pub_key_data", key->pub_key);
+
+    printf("\tDSA* key = DSA_new();\n");
+    printf("\tkey->p = BN_new();\n");
+    printf("\tkey->q = BN_new();\n");
+    printf("\tkey->g = BN_new();\n");
+    printf("\tkey->priv_key = BN_new();\n");
+    printf("\tkey->pub_key = BN_new();\n\n");
+
+    printf("\tBN_bin2bn(p_data, p_data_len, key->p);\n");
+    printf("\tBN_bin2bn(q_data, q_data_len, key->q);\n");
+    printf("\tBN_bin2bn(g_data, g_data_len, key->g);\n");
+    printf("\tBN_bin2bn(pub_key_data, pub_key_data_len, key->pub_key);\n");
+    printf("\tBN_bin2bn(priv_key_data, priv_key_data_len, key->priv_key);\n\n");
+     
+    printf("\treturn key;\n");
+
+    printf("\t}\n");
+    }
+
+/*
+ * This is the seed used in the openssl test code.  Using it (by
+ * specifying the -use_seed option) makes this program generate the
+ * same key used in the openssl test code
+ *
+ * It comes from the updated Appendix 5 to FIPS PUB 186.
+ */
+
+static unsigned char seed[20]={
+	0xd5,0x01,0x4e,0x4b,0x60,0xef,0x2b,0xa8,0xb6,0x21,0x1b,0x40,
+	0x62,0xba,0x32,0x24,0xe0,0x42,0x7d,0xd3,
+	};
+
+static const char rnd_seed[] = "string to make the random number generator think it has entropy";
+
+static void badUsage()
+    {
+    printf("usage: gen_dsakey [ -use_seed ]\n");
+    exit(1);
+    }
+
+int main(int argc, char **argv)
+	{
+	DSA *dsa=NULL;
+	int counter,ret=0,i,j;
+	unsigned char buf[256];
+	unsigned long h;
+	unsigned char sig[256];
+	unsigned int siglen;
+    BOOL useSeed = FALSE;
+
+    if (argc > 2)
+        badUsage();
+    else if (argc == 2)
+        {
+        if (strcmp(argv[1], "-use_seed") != 0)
+            badUsage();
+        useSeed = TRUE;
+        }
+    
+	RAND_seed(rnd_seed, sizeof rnd_seed);
+
+	dsa=DSA_generate_parameters(512,useSeed ? seed : NULL,20,&counter,&h,NULL,NULL);
+
+	DSA_generate_key(dsa);
+
+    printDSAKey(dsa);
+
+	return 0;
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tasymmetric/script_gen/gen_random.c	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,70 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* Generates C code that initialises a variable to hold some random data.
+*
+*/
+
+
+
+
+/**
+ @file
+*/
+
+#include <openssl/rand.h>
+
+static void gen_random(int len)
+    {
+    unsigned char data[len];
+    int i, j;
+
+    RAND_bytes(data, len);
+
+    printf("unsigned char random[] =");
+    for (i = 0 ; i < sizeof(data) ; i += 16)
+        {
+        printf("\n\t\"");
+        for (j = i ; j < sizeof(data) && j < (i + 16) ; ++j)
+            {
+            printf("\\x%02x", data[j]);
+            }
+        printf("\"");
+        }
+
+    printf(";\n");
+    }
+
+static void badUsage()
+    {
+    printf("gen_random [BYTES]\n");
+    exit(1);
+    }
+
+int main(int argc, char* argv[])
+    {
+    int bytes = 256;
+
+    if (argc > 2)
+        badUsage();
+    else if (argc == 2)
+        {
+        bytes = atoi(argv[1]);
+        if (bytes < 1)
+            badUsage();
+        }
+
+    gen_random(bytes);
+    return 0;
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tasymmetric/script_gen/gen_rsakey.c	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,86 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* Generate an RSA key.
+*
+*/
+
+
+
+
+/**
+ @file
+*/
+
+#include <stdio.h>
+#include <openssl/crypto.h>
+#include <openssl/rand.h>
+#include <openssl/rsa.h>
+#include <openssl/bn.h>
+#include "utils.h"
+
+#ifndef BOOL
+#define BOOL int
+#define TRUE 1
+#define FALSE 0
+#endif
+
+static void printRSAKey(RSA* key)
+    {
+    printf("static RSA* createRSAKey()\n");
+    printf("\t{\n");
+
+    printCBN("n_data", key->n);
+    printCBN("e_data", key->e);
+    printCBN("d_data", key->d);
+
+    printf("\tRSA* key = RSA_new();\n");
+    printf("\tkey->n = BN_new();\n");
+    printf("\tkey->e = BN_new();\n");
+    printf("\tkey->d = BN_new();\n");
+
+    printf("\tBN_bin2bn(n_data, n_data_len, key->n);\n");
+    printf("\tBN_bin2bn(e_data, e_data_len, key->e);\n");
+    printf("\tBN_bin2bn(d_data, d_data_len, key->d);\n");
+     
+    printf("\treturn key;\n");
+
+    printf("\t}\n");
+    }
+
+static const char rnd_seed[] = "string to make the random number generator think it has entropy";
+
+static void badUsage()
+    {
+    printf("usage: gen_rsakey\n");
+    exit(1);
+    }
+
+int main(int argc, char **argv)
+	{
+	RSA *rsa;
+	int modulus_size = 1024;
+	int exponent = 65537;	
+
+    if (argc > 1)
+        badUsage();
+    
+	RAND_seed(rnd_seed, sizeof rnd_seed);
+
+	rsa = RSA_generate_key(modulus_size, exponent, NULL, NULL);
+
+    printRSAKey(rsa);
+
+	return 0;
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tasymmetric/script_gen/keys.c	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,174 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* Some RSA key pairs.
+*
+*/
+
+
+
+
+/**
+ @file
+*/
+
+#include "keys.h"
+
+RSA* key1;    /* modulus is 64 bytes */
+RSA* key2;    /* modulus is 50 bytes */
+RSA* key3;    /* modulus is 128 bytes */
+
+#define SetKey \
+  key->n = BN_bin2bn(n, sizeof(n)-1, key->n); \
+  key->e = BN_bin2bn(e, sizeof(e)-1, key->e); \
+  key->d = BN_bin2bn(d, sizeof(d)-1, key->d); \
+  key->p = BN_bin2bn(p, sizeof(p)-1, key->p); \
+  key->q = BN_bin2bn(q, sizeof(q)-1, key->q); \
+  key->dmp1 = BN_bin2bn(dmp1, sizeof(dmp1)-1, key->dmp1); \
+  key->dmq1 = BN_bin2bn(dmq1, sizeof(dmq1)-1, key->dmq1); \
+  key->iqmp = BN_bin2bn(iqmp, sizeof(iqmp)-1, key->iqmp);
+
+static void setKey1(RSA *key)
+    {
+    static unsigned char n[] =
+"\x00\xAA\x36\xAB\xCE\x88\xAC\xFD\xFF\x55\x52\x3C\x7F\xC4\x52\x3F"
+"\x90\xEF\xA0\x0D\xF3\x77\x4A\x25\x9F\x2E\x62\xB4\xC5\xD9\x9C\xB5"
+"\xAD\xB3\x00\xA0\x28\x5E\x53\x01\x93\x0E\x0C\x70\xFB\x68\x76\x93"
+"\x9C\xE6\x16\xCE\x62\x4A\x11\xE0\x08\x6D\x34\x1E\xBC\xAC\xA0\xA1"
+"\xF5";
+
+    static unsigned char e[] = "\x11";
+
+    static unsigned char d[] =
+"\x0A\x03\x37\x48\x62\x64\x87\x69\x5F\x5F\x30\xBC\x38\xB9\x8B\x44"
+"\xC2\xCD\x2D\xFF\x43\x40\x98\xCD\x20\xD8\xA1\x38\xD0\x90\xBF\x64"
+"\x79\x7C\x3F\xA7\xA2\xCD\xCB\x3C\xD1\xE0\xBD\xBA\x26\x54\xB4\xF9"
+"\xDF\x8E\x8A\xE5\x9D\x73\x3D\x9F\x33\xB3\x01\x62\x4A\xFD\x1D\x51";
+
+    static unsigned char p[] =
+"\x00\xD8\x40\xB4\x16\x66\xB4\x2E\x92\xEA\x0D\xA3\xB4\x32\x04\xB5"
+"\xCF\xCE\x33\x52\x52\x4D\x04\x16\xA5\xA4\x41\xE7\x00\xAF\x46\x12"
+"\x0D";
+    
+    static unsigned char q[] =
+"\x00\xC9\x7F\xB1\xF0\x27\xF4\x53\xF6\x34\x12\x33\xEA\xAA\xD1\xD9"
+"\x35\x3F\x6C\x42\xD0\x88\x66\xB1\xD0\x5A\x0F\x20\x35\x02\x8B\x9D"
+"\x89";
+
+    static unsigned char dmp1[] =
+"\x59\x0B\x95\x72\xA2\xC2\xA9\xC4\x06\x05\x9D\xC2\xAB\x2F\x1D\xAF"
+"\xEB\x7E\x8B\x4F\x10\xA7\x54\x9E\x8E\xED\xF5\xB4\xFC\xE0\x9E\x05";
+
+    static unsigned char dmq1[] =
+"\x00\x8E\x3C\x05\x21\xFE\x15\xE0\xEA\x06\xA3\x6F\xF0\xF1\x0C\x99"
+"\x52\xC3\x5B\x7A\x75\x14\xFD\x32\x38\xB8\x0A\xAD\x52\x98\x62\x8D"
+"\x51";
+
+    static unsigned char iqmp[] =
+"\x36\x3F\xF7\x18\x9D\xA8\xE9\x0B\x1D\x34\x1F\x71\xD0\x9B\x76\xA8"
+"\xA9\x43\xE1\x1D\x10\xB2\x4D\x24\x9F\x2D\xEA\xFE\xF8\x0C\x18\x26";
+
+    SetKey;
+    }
+
+static void setKey2(RSA *key)
+    {
+    static unsigned char n[] =
+"\x00\xA3\x07\x9A\x90\xDF\x0D\xFD\x72\xAC\x09\x0C\xCC\x2A\x78\xB8"
+"\x74\x13\x13\x3E\x40\x75\x9C\x98\xFA\xF8\x20\x4F\x35\x8A\x0B\x26"
+"\x3C\x67\x70\xE7\x83\xA9\x3B\x69\x71\xB7\x37\x79\xD2\x71\x7B\xE8"
+"\x34\x77\xCF";
+
+    static unsigned char e[] = "\x3";
+
+    static unsigned char d[] =
+"\x6C\xAF\xBC\x60\x94\xB3\xFE\x4C\x72\xB0\xB3\x32\xC6\xFB\x25\xA2"
+"\xB7\x62\x29\x80\x4E\x68\x65\xFC\xA4\x5A\x74\xDF\x0F\x8F\xB8\x41"
+"\x3B\x52\xC0\xD0\xE5\x3D\x9B\x59\x0F\xF1\x9B\xE7\x9F\x49\xDD\x21"
+"\xE5\xEB";
+
+    static unsigned char p[] =
+"\x00\xCF\x20\x35\x02\x8B\x9D\x86\x98\x40\xB4\x16\x66\xB4\x2E\x92"
+"\xEA\x0D\xA3\xB4\x32\x04\xB5\xCF\xCE\x91";
+
+    static unsigned char q[] =
+"\x00\xC9\x7F\xB1\xF0\x27\xF4\x53\xF6\x34\x12\x33\xEA\xAA\xD1\xD9"
+"\x35\x3F\x6C\x42\xD0\x88\x66\xB1\xD0\x5F";
+    
+    static unsigned char dmp1[] =
+"\x00\x8A\x15\x78\xAC\x5D\x13\xAF\x10\x2B\x22\xB9\x99\xCD\x74\x61"
+"\xF1\x5E\x6D\x22\xCC\x03\x23\xDF\xDF\x0B";
+
+    static unsigned char dmq1[] =
+"\x00\x86\x55\x21\x4A\xC5\x4D\x8D\x4E\xCD\x61\x77\xF1\xC7\x36\x90"
+"\xCE\x2A\x48\x2C\x8B\x05\x99\xCB\xE0\x3F";
+
+    static unsigned char iqmp[] =
+"\x00\x83\xEF\xEF\xB8\xA9\xA4\x0D\x1D\xB6\xED\x98\xAD\x84\xED\x13"
+"\x35\xDC\xC1\x08\xF3\x22\xD0\x57\xCF\x8D";
+
+    SetKey;
+    }
+
+static RSA* createRSAKey3()
+	{
+	unsigned char n_data[] =
+		"\xa3\x50\x45\x34\xc2\x9c\x59\xca\x9a\x34\xcb\xb9\x5a\x18\xd4\x35"
+		"\xfe\x66\xfb\xc7\xde\xcd\x57\x2b\x91\xc8\x0f\x72\xee\x07\x86\xd4"
+		"\xdd\x92\xf8\xb8\x41\x6d\x54\xbd\xe1\x2d\xf2\xe8\x3f\x8d\xc9\xb1"
+		"\x64\x29\x80\xbd\x31\x85\x26\x50\xa5\xa8\xf6\xd6\xd8\xc6\xa9\xbe"
+		"\x96\x5b\x34\xfe\x76\x59\xac\x5d\xd3\x72\xab\x91\x27\x7b\x2c\x9c"
+		"\xeb\x79\x7c\x4b\x4b\x58\x88\xe3\x3c\x0d\x2c\xfb\xe9\xaa\xd5\x3e"
+		"\x15\x84\x75\xed\x88\x88\x4d\x5d\xcc\x66\x3a\xf5\xaa\xa6\x20\x30"
+		"\xe3\x79\x9f\xaa\x1f\xa4\x7a\xb2\x66\x52\x08\x59\x7f\x35\x84\x97";
+
+	int n_data_len = 128;
+
+	unsigned char e_data[] =
+		"\x01\x00\x01";
+
+	int e_data_len = 3;
+
+	unsigned char d_data[] =
+		"\x85\xb3\xb3\xd4\xeb\xf6\xc0\xf4\x43\xa7\x31\x9a\x7f\x8e\x90\x3d"
+		"\xdc\x17\x47\xce\x6c\x33\xc4\x47\xe1\x43\xde\x92\x03\x19\x9a\x63"
+		"\x2f\x3b\xa1\xf0\x87\x70\x10\xce\x9b\x49\xd8\xf2\x17\x05\xe7\xb8"
+		"\x18\xfe\x79\x6d\x6a\xdb\x4d\x70\xfd\x0f\x05\x77\x03\x66\x31\x94"
+		"\x8d\xd2\x1f\xfe\x77\x15\x7a\xaf\x97\x88\x57\xe4\x35\x8d\xed\x82"
+		"\xb5\x8c\xc8\x5f\x5e\xf7\x04\x80\xff\xd7\xbe\x08\x48\xda\xfb\x98"
+		"\x35\x43\xb2\xe8\x67\xf8\x31\x55\x08\x4d\x85\x41\xa1\x4b\x5e\xa6"
+		"\xcf\x5f\xcb\x65\x11\x27\xb2\xc6\x43\x83\x11\x4f\x02\xa1\x4c\xb1";
+
+	int d_data_len = 128;
+
+	RSA* key = RSA_new();
+	key->n = BN_new();
+	key->e = BN_new();
+	key->d = BN_new();
+	BN_bin2bn(n_data, n_data_len, key->n);
+	BN_bin2bn(e_data, e_data_len, key->e);
+	BN_bin2bn(d_data, d_data_len, key->d);
+	return key;
+	}
+
+void initKeys()
+    {
+	key1 = RSA_new();
+	key2 = RSA_new();
+
+    setKey1(key1);
+    setKey2(key2);
+
+	key3 = createRSAKey3();
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tasymmetric/script_gen/keys.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,37 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* Some RSA key pairs.
+*
+*/
+
+
+
+
+/**
+ @file
+*/
+
+#ifndef __keys_h
+#define __keys_h
+
+#include <openssl/rsa.h>
+
+extern RSA* key1;
+extern RSA* key2;
+extern RSA* key3;
+
+extern void initKeys();
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tasymmetric/script_gen/rsa_test.c	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,236 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* Generates RSA test vectors.
+*
+*/
+
+
+
+
+/**
+ @file
+*/
+
+#include <stdio.h>
+#include <string.h>
+
+#include "openssl/e_os.h"
+
+#include <openssl/crypto.h>
+#include <openssl/rsa.h>
+
+#include "utils.h"
+#include "keys.h"
+
+void printPublicKey(RSA* key)
+    {    
+    printf("\t\t<modulus>");
+    printBN(key->n);
+    printf("</modulus>\n");
+    printf("\t\t<publicExponent>");
+    printBN(key->e);
+    printf("</publicExponent>\n");
+    }
+
+void printPrivateKey(RSA* key)
+    {    
+    printf("\t\t<modulus>");
+    printBN(key->n);
+    printf("</modulus>\n");
+    printf("\t\t<privateExponent>");
+    printBN(key->d);
+    printf("</privateExponent>\n");
+    }
+
+/**
+ * Generate encrypt and decrypt vectors for a plaintext.
+ */
+
+static void generateEncryptionVector(RSA* key, unsigned char* ptext_ex, int plen, BOOL passes)
+    {
+    unsigned char ctext[RSA_size(key)];
+    int num;
+
+    setOurRandom();
+	num = RSA_public_encrypt(plen, ptext_ex, ctext, key, RSA_PKCS1_PADDING);
+    if (num == -1)
+        processError();
+
+    if (!passes)
+        scramble(ctext, num);
+
+    printActionHeader("RSA test vector", "RSAEncryptVector");
+    printPublicKey(key);
+    printHexElement("plaintext", ptext_ex, plen);
+    printHexElement("ciphertext", ctext, num);
+    printActionFooter(passes);
+
+    printActionHeader("RSA test vector", "RSADecryptVector");
+    printPrivateKey(key);
+    printHexElement("ciphertext", ctext, num);
+    printHexElement("plaintext", ptext_ex, plen);
+    printActionFooter(passes);
+    }
+
+/**
+ * Sign a digest - the digest is unformatted, ie we're not dealing with
+ * algotrithm identifiers here.
+ */
+
+static void generateSignatureVector(RSA* key, unsigned char* ptext_ex, int plen, BOOL passes)
+    {
+    unsigned char ctext[RSA_size(key)];
+    int num;
+
+	num = RSA_private_encrypt(plen, ptext_ex, ctext, key, RSA_PKCS1_PADDING);
+    if (num == -1)
+        processError();
+
+    if (!passes)
+        scramble(ctext, num);
+
+    printActionHeader("RSA test vector", "RSASignVector");
+    printPrivateKey(key);
+    printHexElement("digestInfo", ptext_ex, plen);
+    printHexElement("signature", ctext, num);
+    printActionFooter(passes);
+
+    printActionHeader("RSA test vector", "RSAVerifyVector");
+    printPublicKey(key);
+    printHexElement("digestInfo", ptext_ex, plen);
+    printHexElement("signature", ctext, num);
+    printActionFooter(passes);
+    }
+
+/* Plaintext from openssl test code. */
+static unsigned char ptext1[] = "\x54\x85\x9b\x34\x2c\x49\xea\x2a";
+static int plen1 = sizeof(ptext1) - 1;
+
+/* 16 byte random plaintext. */
+static unsigned char ptext2[] =
+        "\x47\xab\x92\x76\x09\xfd\x75\xa7\xe2\x08\x85\xeb\x7e\x4c\xff\x0a";
+static int plen2 = sizeof(ptext2) - 1;
+
+/* 32 byte random plaintext. */
+static unsigned char ptext3[] =
+        "\x0b\x0a\x7c\xeb\x6c\x17\x45\x53\x1d\xa7\x24\xad\x43\x8b\xf7\x46"
+        "\x89\xc3\x9f\x09\x5e\x88\x3e\xd8\x8e\x04\x36\x38\x49\xc0\x0f\x41";
+static int plen3 = sizeof(ptext3) - 1;
+
+/* One byte plaintext. */
+static unsigned char short_ptext[] = "\x23";
+static int short_plen = sizeof(short_ptext) - 1;
+
+/* Longest possible plaintexts, one for each key. */
+static unsigned char long_ptext1[] =
+        "\x66\x79\xf3\x84\x82\x06\x99\x06\xcd\xf1\xdf\x3f\xdd\xb5\x37\x74"
+        "\x46\x76\xba\x0d\xb8\xd6\x82\xb6\x82\x6f\x31\xb1\xd8\x23\x0c\xca"
+        "\x4e\x39\x28\x77\x05\x3f\xac\x5a\x13\xff\x3a\x39\x35\x2e\xaf\xb1"
+        "\x85\xe4\xd0\x60\xf4";
+
+static int long_plen1 = sizeof(long_ptext1) - 1;
+
+static unsigned char long_ptext2[] =
+        "\xcd\xa2\x2c\x4b\x6a\x20\x00\x0e\xad\xad\x74\xbd\xb3\x04\xbd\xc5"
+        "\x72\x73\x02\x11\x9d\x6d\x37\x75\x66\x5a\xf2\xe6\x47\x65\x79\x80"
+        "\x7c\x92\xec\x09\xf5\x33\xea";
+
+static int long_plen2 = sizeof(long_ptext2) - 1;
+
+static unsigned char long_ptext3[] =
+        "\x0e\x25\x61\xaf\x55\xeb\x9c\x10\x90\x4f\xd4\x27\xfd\x0d\x1d\xf4"
+        "\x38\xbd\x9e\xd0\xc7\x1c\x48\x0b\x50\xa1\xd3\xf1\xb4\xdb\xba\x2d"
+        "\x00\x81\x59\x6e\x61\x43\x35\x50\xf9\x5f\x70\x20\xb2\x47\x48\x7f"
+        "\x32\xf7\xe8\x2e\x50\xc1\x80\x45\x4b\x5c\xf8\x45\x6a\xa0\x0f\x33"
+        "\xf1\xec\x9a\xb1\x79\xf5\xcc\x92\x1c\x30\x12\xb0\x55\x7b\x49\x06"
+        "\x93\xa8\x30\x5a\x68\x79\x8a\x21\x9a\xd7\x68\x70\xf8\xa1\xf1\x0a"
+        "\x52\x85\x75\xf9\x2d\x26\xd3\x1b\x37\xdc\xdc\x60\x87\x77\xcb\x97"
+        "\x57\x00\x4f\xf1\x81";
+
+static int long_plen3 = sizeof(long_ptext3) - 1;
+
+int main(int argc, char *argv[])
+    {
+    initKeys();
+
+    setOurRandom();
+    testOurRandom();
+
+    /** Public encryption: */
+
+    /** Encrypt openssl test plaintext with each key. */
+    generateEncryptionVector(key1, ptext1, plen1, TRUE);
+    generateEncryptionVector(key2, ptext1, plen1, TRUE);
+    generateEncryptionVector(key3, ptext1, plen1, TRUE);
+
+    /** Encrypt 16 byte test plaintext with each key. */
+    generateEncryptionVector(key1, ptext2, plen2, TRUE);
+    generateEncryptionVector(key2, ptext2, plen2, TRUE);
+    generateEncryptionVector(key3, ptext2, plen2, TRUE);
+
+    /** Encrypt 32 byte test plaintext with each key. */
+    generateEncryptionVector(key1, ptext3, plen3, TRUE);
+    generateEncryptionVector(key2, ptext3, plen3, TRUE);
+    generateEncryptionVector(key3, ptext3, plen3, TRUE);
+
+    /** Encypt one byte plaintext with each key. */
+    generateEncryptionVector(key1, short_ptext, short_plen, TRUE);
+    generateEncryptionVector(key2, short_ptext, short_plen, TRUE);
+    generateEncryptionVector(key3, short_ptext, short_plen, TRUE);
+
+    /** Encrypt longest possible plaintext for each key. */
+    generateEncryptionVector(key1, long_ptext1, long_plen1, TRUE);
+    generateEncryptionVector(key2, long_ptext2, long_plen2, TRUE);
+    generateEncryptionVector(key3, long_ptext3, long_plen3, TRUE);
+
+    /** Negative encryption vectors. */
+    generateEncryptionVector(key1, ptext1, plen1, FALSE);
+    generateEncryptionVector(key2, ptext1, plen1, FALSE);
+    generateEncryptionVector(key3, ptext1, plen1, FALSE);
+
+    /** Signing: */
+
+    /** Sign openssl test plaintext with each key. */
+    generateSignatureVector(key1, ptext1, plen1, TRUE);
+    generateSignatureVector(key2, ptext1, plen1, TRUE);
+    generateSignatureVector(key3, ptext1, plen1, TRUE);
+
+    /** Sign 16 byte digest with each key. */
+    generateSignatureVector(key1, ptext2, plen2, TRUE);
+    generateSignatureVector(key2, ptext2, plen2, TRUE);
+    generateSignatureVector(key3, ptext2, plen2, TRUE);
+
+    /** Sign 32 byte digest with each key. */
+    generateSignatureVector(key1, ptext3, plen3, TRUE);
+    generateSignatureVector(key2, ptext3, plen3, TRUE);
+    generateSignatureVector(key3, ptext3, plen3, TRUE);
+
+    /** Sign one byte digest with each key. */
+    generateSignatureVector(key1, short_ptext, short_plen, TRUE);
+    generateSignatureVector(key2, short_ptext, short_plen, TRUE);
+    generateSignatureVector(key3, short_ptext, short_plen, TRUE);
+
+    /** Sign longest possible digests for each key. */
+    generateSignatureVector(key1, long_ptext1, long_plen1, TRUE);
+    generateSignatureVector(key2, long_ptext2, long_plen2, TRUE);
+    generateSignatureVector(key3, long_ptext3, long_plen3, TRUE);
+
+    /** Negative signature vectors. */
+    generateSignatureVector(key1, ptext1, plen1, FALSE);
+    generateSignatureVector(key2, ptext1, plen1, FALSE);
+    generateSignatureVector(key3, ptext1, plen1, FALSE);
+
+    return 0;
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tasymmetric/script_gen/utils.c	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,208 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+
+/**
+ @file
+*/
+
+#include "utils.h"
+#include <openssl/crypto.h>
+#include <openssl/err.h>
+#include <openssl/rand.h>
+
+void printBN(BIGNUM* bn)
+    {
+    char* text = BN_bn2hex(bn);
+    printf("%s", text);
+    OPENSSL_free(text);
+    }
+
+void printBin(char* data, int len)
+    {
+    BIGNUM* bn = BN_new();
+    bn = BN_bin2bn(data, len, bn);
+    printBN(bn);
+    BN_free(bn);
+    }
+
+static int vectorNumber = 1;
+
+/**
+ * Print the first few lines of the action block.
+ */
+
+void printActionHeader(char* name, char* type)
+    {
+    printf("<action>\n");
+    printf("\t<actionname>%s %i (%s)</actionname>\n", name, vectorNumber++, type);
+    printf("\t<actiontype>%s</actiontype>\n", type);
+    printf("\t<actionbody>\n");
+    } 
+
+/**
+ * Print the last few lines of the action block.
+ */
+
+void printActionFooter(BOOL passes)
+    {
+    printf("\t</actionbody>\n");
+    printf("\t<actionresult>\n");
+    printf("\t\t<result>%s</result>\n", passes ? "ETrue" : "EFalse");
+    printf("\t</actionresult>\n");
+    printf("</action>\n");
+    }
+
+/**
+ * Print an element containg hex data.
+ */
+
+void printHexElement(char* name, unsigned char* data, int len)
+    {
+    printf("\t\t<%s>", name);
+    printBin(data, len);
+    printf("</%s>\n", name);
+    }
+
+/**
+ * Print an element containg hex data.
+ */
+
+void printBNElement(char* name, BIGNUM* num)
+    {
+    printf("\t\t<%s>", name);
+    printBN(num);
+    printf("</%s>\n", name);
+    }
+
+/**
+ * Scramble some data - used for generating tests that we expect to fail.
+ */
+
+void scramble(unsigned char* data, int len)
+    {
+    int i;
+    for (i = 0 ; i < len ; ++ i)
+        data[i] ^= i;
+    }
+
+/**
+ * Print an openssl error and exit.
+ */
+
+void processError()
+    {
+    unsigned long err = ERR_get_error();
+    ERR_load_crypto_strings();
+    printf("Openssl error: %s\n", ERR_error_string(err, NULL));
+    exit(1);
+    }
+
+////////////////////////////////////////////////////////////////////////////////
+// Random stuff
+////////////////////////////////////////////////////////////////////////////////
+
+int random_value = 1;
+
+void random_seed(const void* buf, int num)
+    {
+    }
+
+int random_bytes(unsigned char *buf, int num)
+    {
+    int i;
+    for (i=0; i<num; i++)
+			buf[i]=random_value++;
+
+    return(1);
+    }
+
+void random_cleanup(void)
+    {
+    }
+
+void random_add(const void *buf, int num, double entropy)
+    {
+    }
+
+int random_pseudorand(unsigned char *buf, int num)
+    {
+    return 1;
+    }
+
+int random_status(void)
+    {
+    return 1;
+    }
+
+RAND_METHOD ourRNG = {random_seed, random_bytes, random_cleanup, random_add, random_pseudorand, random_status};
+
+void testOurRandom()
+    {
+    char data[16];
+    int i;
+
+    RAND_bytes(data, 16);
+
+    for (i = 0 ; i < 16 ; ++i)
+        {
+        if (data[i] != i + 1)
+            {
+            printf("Random number generator not crippled\n");
+            exit(1);
+            }
+        }
+    }
+
+void setOurRandom()
+    {
+    random_value = 1;
+    RAND_set_rand_method(&ourRNG);
+    }
+
+/** Print C source for assinging binary data to a variable. */
+void printCBin(char* varname, unsigned char* data, int len)
+    {
+    int i, j;
+
+    printf("\tunsigned char %s[] =", varname);
+    for (i = 0 ; i < len ; i += 16)
+        {
+        printf("\n\t\t\"");
+        for (j = i ; j < len && j < (i + 16) ; ++j)
+            {
+            printf("\\x%02x", data[j]);
+            }
+        printf("\"");
+        }
+
+    printf(";\n\n");
+
+    printf("\tint %s_len = %i;\n\n", varname, len);
+    }
+
+/** Print C source for assigning the binary form of a BIGNUM to a variable. */
+void printCBN(char* varname, BIGNUM* bignum)
+    {
+    int len = BN_num_bytes(bignum);
+    unsigned char buffer[len];
+
+    BN_bn2bin(bignum, buffer);
+    printCBin(varname, buffer, len);
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tasymmetric/script_gen/utils.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,49 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+
+/**
+ @file
+*/
+
+#ifndef __utils_h
+#define __utils_h
+
+#include <openssl/bn.h>
+
+#ifndef BOOL
+#define BOOL int
+#define TRUE 1
+#define FALSE 0
+#endif
+
+void printBN(BIGNUM* bn);
+void printBin(char* data, int len);
+void printActionHeader(char* name, char* type);
+void printActionFooter(BOOL passes);
+void printHexElement(char* name, unsigned char* data, int len);
+void printBNElement(char* name, BIGNUM* num);
+void scramble(unsigned char* data, int len);
+void processError();
+void setOurRandom();
+void testOurRandom();
+void printCBin(char* varname, unsigned char* data, int len);
+void printCBN(char* varname, BIGNUM* bignum);
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tasymmetric/scripts/asymmetricPerformance.txt	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,1228 @@
+/////////////////////////////////////////////////////////////////////////
+//	Switch on performance testing
+//////////////////////////////////////////////////////////////////////////
+
+<action>
+	<actionname>Switch on performance testing</actionname>
+	<actiontype>PerformanceTestSettings</actiontype>
+	<actionbody>
+		<KPerformanceTesting>ETrue</KPerformanceTesting>
+		<iterations>5</iterations>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+
+
+/////////////////////////////////////////////////////////////////////////
+// It should be noted that the time period specified denotes one of
+// the three steps key creation, signing and verification of keys.
+// So total execution time can be three times as long.
+// <iterations> is actually the amount of time the test will run
+// and should perhaps be changed to something like <iterationtime>.
+/////////////////////////////////////////////////////////////////////////
+
+//////////////////////////////////////////////////////////////////////////
+//	Forward-backward self tests (standard and CRT)
+//////////////////////////////////////////////////////////////////////////
+<action>
+	<actionname>DH key agreement</actionname>
+	<actiontype>DHVector</actiontype>
+	<actionbody>
+		<iterations>10</iterations>
+		<n>DA9A18547FF03B385CC16508C173A7EF4EB61CB40EF8FEF3B31F145051676166BCDC3FE6B799FC394D08C26385F9413F896E09117E46209D6923602683CEA100924A6EE695281775C619DAA94EA8CB3691B4275B0183F1D39639EBC92995FE645D6C1BC28D409E585549BBD2C5DCDD6C208B04EADD8B7A6D997F72CBAD88390F</n>
+		<g>02</g>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Forward-backward self test RSA encrypt&decrypt: 512 bit key, standard, 15 sec</actionname>
+	<actiontype>RSAEncryptStandardAndCRTFB</actiontype>
+	<actionbody>
+			<iterations>15</iterations>
+			<cryptotype>EStandard</cryptotype>
+			<keybits>512</keybits>
+			<input>123456789ABCDEFEDCBA987654321123456789ABCDEFEDCBA987654321123456789ABCDEFEDCBA987654321123456789ABCDEFEDCB</input>			
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Forward-backward self test RSA encrypt&decrypt: 1024 bit key, standard, 30 sec</actionname>
+	<actiontype>RSAEncryptStandardAndCRTFB</actiontype>
+	<actionbody>
+			<iterations>30</iterations>
+			<cryptotype>EStandard</cryptotype>
+			<keybits>1024</keybits>
+			<input>123456789ABCDEFEDCBA987654321123456789ABCDEFEDCBA987654321123456789ABCDEFEDCBA987654321123456789ABCDEFEDCBA987654321</input>			
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Forward-backward self test RSA encrypt&decrypt: 2048 bit key, standard, 60 sec</actionname>
+	<actiontype>RSAEncryptStandardAndCRTFB</actiontype>
+	<actionbody>
+			<iterations>60</iterations>
+			<cryptotype>EStandard</cryptotype>
+			<keybits>2048</keybits>
+			<input>123456789ABCDEFEDCBA987654321123456789ABCDEFEDCBA987654321123456789ABCDEFEDCBA987654321123456789ABCDEFEDCBA987654321</input>			
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Forward-backward self test RSA encrypt&decrypt: 512 bit key, CRT, 10 sec</actionname>
+	<actiontype>RSAEncryptStandardAndCRTFB</actiontype>
+	<actionbody>
+			<iterations>10</iterations>
+			<cryptotype>EStandardCRT</cryptotype>
+			<keybits>512</keybits>
+			<input>123456789ABCDEFEDCBA987654321123456789ABCDEFEDCBA987654321123456789ABCDEFEDCBA987654321123456789ABCDEFEDCB</input>			
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Forward-backward self test RSA encrypt&decrypt: 1024 bit key, CRT, 30 sec</actionname>
+	<actiontype>RSAEncryptStandardAndCRTFB</actiontype>
+	<actionbody>
+			<iterations>30</iterations>
+			<cryptotype>EStandardCRT</cryptotype>
+			<keybits>1024</keybits>
+			<input>123456789ABCDEFEDCBA987654321123456789ABCDEFEDCBA987654321123456789ABCDEFEDCBA987654321123456789ABCDEFEDCBA987654321</input>			
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Forward-backward self test RSA encrypt&decrypt: 2048 bit key, CRT, 60 sec</actionname>
+	<actiontype>RSAEncryptStandardAndCRTFB</actiontype>
+	<actionbody>
+			<iterations>60</iterations>
+			<cryptotype>EStandardCRT</cryptotype>
+			<keybits>2048</keybits>
+			<input>123456789ABCDEFEDCBA987654321123456789ABCDEFEDCBA987654321123456789ABCDEFEDCBA987654321123456789ABCDEFEDCBA987654321</input>			
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Forward-backward self test RSA sign&verify: 512 bit key, standard, 10 seconds</actionname>
+	<actiontype>RSASignStandardAndCRTFB</actiontype>
+	<actionbody>
+			<iterations>10</iterations>
+			<cryptotype>EStandard</cryptotype>
+			<keybits>512</keybits>
+			<input>123456789ABCDEF123456789ABCDEF</input>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Forward-backward self test RSA sign&verify: 1024 bit key, standard, 15 seconds</actionname>
+	<actiontype>RSASignStandardAndCRTFB</actiontype>
+	<actionbody>
+			<iterations>15</iterations>
+			<cryptotype>EStandard</cryptotype>
+			<keybits>1024</keybits>
+			<input>123456789ABCDEF123456789ABCDEF</input>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Forward-backward self test RSA sign&verify: 2048 bit key, standard, 30 seconds</actionname>
+	<actiontype>RSASignStandardAndCRTFB</actiontype>
+	<actionbody>
+			<iterations>30</iterations>
+			<cryptotype>EStandard</cryptotype>
+			<keybits>2048</keybits>
+			<input>123456789ABCDEF123456789ABCDEF</input>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Forward-backward self test RSA sign&verify : 512 bit key, CRT, 10 seconds</actionname>
+	<actiontype>RSASignStandardAndCRTFB</actiontype>
+	<actionbody>
+			<iterations>10</iterations>
+			<cryptotype>EStandardCRT</cryptotype>
+			<keybits>512</keybits>
+			<input>123456789ABCDEF123456789ABCDEF123456789ABCDEF123456789ABCDEF</input>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Forward-backward self test RSA sign&verify : 1024 bit key, CRT, 15 seconds</actionname>
+	<actiontype>RSASignStandardAndCRTFB</actiontype>
+	<actionbody>
+			<iterations>15</iterations>
+			<cryptotype>EStandardCRT</cryptotype>
+			<keybits>1024</keybits>
+			<input>123456789ABCDEF123456789ABCDEF123456789ABCDEF123456789ABCDEF</input>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Forward-backward self test RSA sign&verify : 2048 bit key, CRT, 30 seconds</actionname>
+	<actiontype>RSASignStandardAndCRTFB</actiontype>
+	<actionbody>
+			<iterations>30</iterations>
+			<cryptotype>EStandardCRT</cryptotype>
+			<keybits>2048</keybits>
+			<input>123456789ABCDEF123456789ABCDEF123456789ABCDEF123456789ABCDEF</input>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+
+
+//////////////////////////////////////////////////////////////////////////
+//	Vector Test RSA: encrypt
+//////////////////////////////////////////////////////////////////////////
+<action>
+	<actionname>Vector Test RSA: Encrypt e = 0x3, 512 bit key, standard, 1 sec</actionname>
+	<actiontype>RSAEncryptVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>A3079A90DF0DFD72AC090CCC2A78B87413133E40759C98FAF8204F358A0B263C6770E783A93B6971B73779D2717BE83477CF</modulus>
+		<publicExponent>03</publicExponent>
+		<plaintext>54859B342C49EA2A</plaintext>
+		<ciphertext>6A572306B13C00C2D442E1B45A1719F21DC6A3B9810CD6BBA8B945A031054BC2E47BAB0DBB9BFBD3540D5745BF8EDE7B88A9</ciphertext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test RSA: Encrypt e = 0x11, 512 bit key, standard, 1 sec</actionname>
+	<actiontype>RSAEncryptVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>AA36ABCE88ACFDFF55523C7FC4523F90EFA00DF3774A259F2E62B4C5D99CB5ADB300A0285E5301930E0C70FB6876939CE616CE624A11E0086D341EBCACA0A1F5</modulus>
+		<publicExponent>11</publicExponent>
+		<plaintext>54859B342C49EA2A</plaintext>
+		<ciphertext>1C1AF0EF61C813383F7204D64A56E4BDF903D25D2A2B3A393DD8447E6CB81B6F0AC0E670DEE1505AC2E526D2429C2355A27E9BE18E9A5A54CF4BE8D89756A039</ciphertext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test RSA: Encrypt e = 0x010001, 512 bit key, standard, 1 sec</actionname>
+	<actiontype>RSAEncryptVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>A3504534C29C59CA9A34CBB95A18D435FE66FBC7DECD572B91C80F72EE0786D4DD92F8B8416D54BDE12DF2E83F8DC9B1642980BD31852650A5A8F6D6D8C6A9BE965B34FE7659AC5DD372AB91277B2C9CEB797C4B4B5888E33C0D2CFBE9AAD53E158475ED88884D5DCC663AF5AAA62030E3799FAA1FA47AB2665208597F358497</modulus>
+		<publicExponent>010001</publicExponent>
+		<plaintext>54859B342C49EA2A</plaintext>
+		<ciphertext>31A8C19C6BF5FBB637B4523016DB47C2FB596D60F0465A49C8854F461DE2ACE0A84598E6B3792612DE30032C0A7BAB75D0F3C6A0F83CBA5B36BDFCDD3B6BDDDEA8BCCB7ADBBB0FE332B4E897B5EEC85514A654709653A956410F13C86CB2E7F27EA09EB8D169844D1C1909A34DA43F752B24338157C64216F98535B58334CD7A</ciphertext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+
+//////////////////////////////////////////////////////////////////////////
+//	Vector Test RSA: standard decrypt
+//////////////////////////////////////////////////////////////////////////
+<action>
+	<actionname>Vector Test RSA: Decrypt, 512 bit key, standard, 1 sec</actionname>
+	<actiontype>RSADecryptVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>A3504534C29C59CA9A34CBB95A18D435FE66FBC7DECD572B91C80F72EE0786D4DD92F8B8416D54BDE12DF2E83F8DC9B1642980BD31852650A5A8F6D6D8C6A9BE965B34FE7659AC5DD372AB91277B2C9CEB797C4B4B5888E33C0D2CFBE9AAD53E158475ED88884D5DCC663AF5AAA62030E3799FAA1FA47AB2665208597F358497</modulus>
+		<privateExponent>85B3B3D4EBF6C0F443A7319A7F8E903DDC1747CE6C33C447E143DE9203199A632F3BA1F0877010CE9B49D8F21705E7B818FE796D6ADB4D70FD0F0577036631948DD21FFE77157AAF978857E4358DED82B58CC85F5EF70480FFD7BE0848DAFB983543B2E867F83155084D8541A14B5EA6CF5FCB651127B2C64383114F02A14CB1</privateExponent>
+		<ciphertext>2D3CD1EAE8BC3AF7D85B57937CBBBEC362486FA1FD7161F7085597D0670AFF84DE33ADEE71AEC4AA3717876E12FBF76286E0AB0428729169977EE6FEDF108CC37BB991AC059B8E80323199CDA22FB29CA7FD93CFD1416B94D6491FCF63C39B715B129101251E295E0A089450163D8470A8573EF459492C135C2BE9B0C5D48D96</ciphertext>
+		<plaintext>0E2561AF55EB9C10904FD427FD0D1DF438BD9ED0C71C480B50A1D3F1B4DBBA2D0081596E61433550F95F7020B247487F32F7E82E50C180454B5CF8456AA00F33F1EC9AB179F5CC921C3012B0557B490693A8305A68798A219AD76870F8A1F10A528575F92D26D31B37DCDC608777CB9757004FF181</plaintext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+
+//////////////////////////////////////////////////////////////////////////
+//	Vector Test RSA: CRT decrypt
+//////////////////////////////////////////////////////////////////////////
+<action>
+	<actionname>Vector Test RSA: Decrypt, 512 bit key, CRT, 1 sec</actionname>
+	<actiontype>RSADecryptVectorCRT</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>BBF82F090682CE9C2338AC2B9DA871F7368D07EED41043A440D6B6F07454F51FB8DFBAAF035C02AB61EA48CEEB6FCD4876ED520D60E1EC4619719D8A5B8B807FAFB8E0A3DFC737723EE6B4B7D93A2584EE6A649D060953748834B2454598394EE0AAB12D7B61A51F527A9A41F6C1687FE2537298CA2A8F5946F8E5FD091DBDCB</modulus>
+		<P>EECFAE81B1B9B3C908810B10A1B5600199EB9F44AEF4FDA493B81A9E3D84F632124EF0236E5D1E3B7E28FAE7AA040A2D5B252176459D1F397541BA2A58FB6599</P>
+		<Q>C97FB1F027F453F6341233EAAAD1D9353F6C42D08866B1D05A0F2035028B9D869840B41666B42E92EA0DA3B43204B5CFCE3352524D0416A5A441E700AF461503</Q>
+		<dP>54494CA63EBA0337E4E24023FCD69A5AEB07DDDC0183A4D0AC9B54B051F2B13ED9490975EAB77414FF59C1F7692E9A2E202B38FC910A474174ADC93C1F67C981</dP>
+		<dQ>471E0290FF0AF0750351B7F878864CA961ADBD3A8A7E991C5C0556A94C3146A7F9803F8F6F8AE342E931FD8AE47A220D1B99A495849807FE39F9245A9836DA3D</dQ>
+		<qInv>B06C4FDABB6301198D265BDBAE9423B380F271F73453885093077FCD39E2119FC98632154F5883B167A967BF402B4E9E2E0F9656E698EA3666EDFB25798039F7</qInv>
+		<ciphertext>4B9C35BC3CA99B3908EF91C91F4D661544B5462CB3079D7B7A610B90039602F080417B049B7F31BAF16A87B59986620EC1BBD791AD30774309C05F0AFA24B0BF1EA1FEAA3A8EFA2C24F5626B8A9C9A157C1018DA54D314E728E2DB75E84FB5E99082561D904139B95C4DA70A5AB6412527B97CEDA04C6FB00BE1E44537706FF2</ciphertext>
+		<plaintext>D436E99569FD32A7C8A05BBC90D32C49</plaintext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+
+//////////////////////////////////////////////////////////////////////////
+//	More Vector Tests RSA: standard encrypt & decrypt
+//////////////////////////////////////////////////////////////////////////
+<action>
+	<actionname>Vector Test 2 RSA: Encrypt e = 0x3, 512 bit key, standard, 1 sec</actionname>
+	<actiontype>RSAEncryptVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>A3079A90DF0DFD72AC090CCC2A78B87413133E40759C98FAF8204F358A0B263C6770E783A93B6971B73779D2717BE83477CF</modulus>
+		<publicExponent>03</publicExponent>
+		<plaintext>23</plaintext>
+		<ciphertext>41DDDCD534E5716F20C21FED7F93B64802A55180E8896D2B770721A48FC4C2C3E67E5CDCD552C8F5782D8CA318A338170648</ciphertext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 3 RSA: Encrypt e = 0x3, 512 bit key, standard, 1 sec</actionname>
+	<actiontype>RSAEncryptVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>A3079A90DF0DFD72AC090CCC2A78B87413133E40759C98FAF8204F358A0B263C6770E783A93B6971B73779D2717BE83477CF</modulus>
+		<publicExponent>03</publicExponent>
+		<plaintext>CDA22C4B6A20000EADAD74BDB304BDC5727302119D6D3775665AF2E6476579807C92EC09F533EA</plaintext>
+		<ciphertext>0C2EF71B3106368FEB8CA6B0542480372423058C40BDE47C7DD5E828A8E16DE588324DE8C4035AF6CAE44F24B89097324FBF</ciphertext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 4 RSA: Encrypt e = 0x3, 512 bit key, standard, 1 sec</actionname>
+	<actiontype>RSAEncryptVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>A3079A90DF0DFD72AC090CCC2A78B87413133E40759C98FAF8204F358A0B263C6770E783A93B6971B73779D2717BE83477CF</modulus>
+		<publicExponent>03</publicExponent>
+		<plaintext>0B0A7CEB6C1745531DA724AD438BF74689C39F095E883ED88E04363849C00F41</plaintext>
+		<ciphertext>9BFEE36BFB6A5B5A06D8F75F4C36F88BB53A30192968EEB8F0CA9A083766A218DF68A719C1D142990522545B6154C3F3E206</ciphertext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 5 RSA: Encrypt e = 0x3, 512 bit key, standard, 1 sec</actionname>
+	<actiontype>RSAEncryptVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>A3079A90DF0DFD72AC090CCC2A78B87413133E40759C98FAF8204F358A0B263C6770E783A93B6971B73779D2717BE83477CF</modulus>
+		<publicExponent>03</publicExponent>
+		<plaintext>47AB927609FD75A7E20885EB7E4CFF0A</plaintext>
+		<ciphertext>811E3047119584FE1810535AD29127F8469EE8249EAB8ED422CAE21816CF1C2B430F800016BAC3A82E25FA730616243787CD</ciphertext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 6 RSA: Encrypt e = 0x11, 512 bit key, standard, 1 sec</actionname>
+	<actiontype>RSAEncryptVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>AA36ABCE88ACFDFF55523C7FC4523F90EFA00DF3774A259F2E62B4C5D99CB5ADB300A0285E5301930E0C70FB6876939CE616CE624A11E0086D341EBCACA0A1F5</modulus>
+		<publicExponent>11</publicExponent>
+		<plaintext>54859B342C49EA2A</plaintext>
+		<ciphertext>1C1AF0EF61C813383F7204D64A56E4BDF903D25D2A2B3A393DD8447E6CB81B6F0AC0E670DEE1505AC2E526D2429C2355A27E9BE18E9A5A54CF4BE8D89756A039</ciphertext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 7 RSA: Encrypt e = 0x11, 512 bit key, standard, 1 sec</actionname>
+	<actiontype>RSAEncryptVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>AA36ABCE88ACFDFF55523C7FC4523F90EFA00DF3774A259F2E62B4C5D99CB5ADB300A0285E5301930E0C70FB6876939CE616CE624A11E0086D341EBCACA0A1F5</modulus>
+		<publicExponent>11</publicExponent>
+		<plaintext>47AB927609FD75A7E20885EB7E4CFF0A</plaintext>
+		<ciphertext>3E479CDAE2775909FF36C72BB0E49C9368DE432DD4819789633FA3117AEDE13AAFEC7D0AC49FF5269C4E9581D951DC07CFDCA0A29D3FAB61EF7B3B71A24FE0CD</ciphertext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 8 RSA: Encrypt e = 0x11, 512 bit key, standard, 1 sec</actionname>
+	<actiontype>RSAEncryptVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>AA36ABCE88ACFDFF55523C7FC4523F90EFA00DF3774A259F2E62B4C5D99CB5ADB300A0285E5301930E0C70FB6876939CE616CE624A11E0086D341EBCACA0A1F5</modulus>
+		<publicExponent>11</publicExponent>
+		<plaintext>0B0A7CEB6C1745531DA724AD438BF74689C39F095E883ED88E04363849C00F41</plaintext>
+		<ciphertext>939AF059CF096A38F696ABF7E903FEE9931059018839AF59F12FD404A56A4A3417339C87BC8EB1A3C9911969948A4C50EF2CE29118AA98DDC0C57F5DD7452E22</ciphertext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 9 RSA: Encrypt e = 0x11, 512 bit key, standard, 1 sec</actionname>
+	<actiontype>RSAEncryptVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>AA36ABCE88ACFDFF55523C7FC4523F90EFA00DF3774A259F2E62B4C5D99CB5ADB300A0285E5301930E0C70FB6876939CE616CE624A11E0086D341EBCACA0A1F5</modulus>
+		<publicExponent>11</publicExponent>
+		<plaintext>23</plaintext>
+		<ciphertext>72BA7B987C4DBF1611B781F321498FDBA3962E0B62F502A726B17CE511984B771F474C23F9F6532A1FDC30C160596D83A13198CCCE6EC4E22A204977682FDD2D</ciphertext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 10 RSA: Encrypt e = 0x11, 512 bit key, standard, 1 sec</actionname>
+	<actiontype>RSAEncryptVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>AA36ABCE88ACFDFF55523C7FC4523F90EFA00DF3774A259F2E62B4C5D99CB5ADB300A0285E5301930E0C70FB6876939CE616CE624A11E0086D341EBCACA0A1F5</modulus>
+		<publicExponent>11</publicExponent>
+		<plaintext>6679F38482069906CDF1DF3FDDB537744676BA0DB8D682B6826F31B1D8230CCA4E392877053FAC5A13FF3A39352EAFB185E4D060F4</plaintext>
+		<ciphertext>403325E9263F5CDBD03FAE2E5D6CDF884E8B2F5AE8D0AEBD27C950E4D69C9499B0A5435B0024CE35B92383F1E864C6426A97AC6DAC42EA70AEE000C7B9ECA83F</ciphertext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 11 RSA: Encrypt e = 0x010001, 512 bit key, standard, 1 sec</actionname>
+	<actiontype>RSAEncryptVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>A3504534C29C59CA9A34CBB95A18D435FE66FBC7DECD572B91C80F72EE0786D4DD92F8B8416D54BDE12DF2E83F8DC9B1642980BD31852650A5A8F6D6D8C6A9BE965B34FE7659AC5DD372AB91277B2C9CEB797C4B4B5888E33C0D2CFBE9AAD53E158475ED88884D5DCC663AF5AAA62030E3799FAA1FA47AB2665208597F358497</modulus>
+		<publicExponent>010001</publicExponent>
+		<plaintext>0E2561AF55EB9C10904FD427FD0D1DF438BD9ED0C71C480B50A1D3F1B4DBBA2D0081596E61433550F95F7020B247487F32F7E82E50C180454B5CF8456AA00F33F1EC9AB179F5CC921C3012B0557B490693A8305A68798A219AD76870F8A1F10A528575F92D26D31B37DCDC608777CB9757004FF181</plaintext>
+		<ciphertext>2D3CD1EAE8BC3AF7D85B57937CBBBEC362486FA1FD7161F7085597D0670AFF84DE33ADEE71AEC4AA3717876E12FBF76286E0AB0428729169977EE6FEDF108CC37BB991AC059B8E80323199CDA22FB29CA7FD93CFD1416B94D6491FCF63C39B715B129101251E295E0A089450163D8470A8573EF459492C135C2BE9B0C5D48D96</ciphertext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 12 RSA: Encrypt e = 0x010001, 512 bit key, standard, 1 sec</actionname>
+	<actiontype>RSAEncryptVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>A3504534C29C59CA9A34CBB95A18D435FE66FBC7DECD572B91C80F72EE0786D4DD92F8B8416D54BDE12DF2E83F8DC9B1642980BD31852650A5A8F6D6D8C6A9BE965B34FE7659AC5DD372AB91277B2C9CEB797C4B4B5888E33C0D2CFBE9AAD53E158475ED88884D5DCC663AF5AAA62030E3799FAA1FA47AB2665208597F358497</modulus>
+		<publicExponent>010001</publicExponent>
+		<plaintext>54859B342C49EA2A</plaintext>
+		<ciphertext>31A8C19C6BF5FBB637B4523016DB47C2FB596D60F0465A49C8854F461DE2ACE0A84598E6B3792612DE30032C0A7BAB75D0F3C6A0F83CBA5B36BDFCDD3B6BDDDEA8BCCB7ADBBB0FE332B4E897B5EEC85514A654709653A956410F13C86CB2E7F27EA09EB8D169844D1C1909A34DA43F752B24338157C64216F98535B58334CD7A</ciphertext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 13 RSA: Encrypt e = 0x010001, 512 bit key, standard, 1 sec</actionname>
+	<actiontype>RSAEncryptVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>A3504534C29C59CA9A34CBB95A18D435FE66FBC7DECD572B91C80F72EE0786D4DD92F8B8416D54BDE12DF2E83F8DC9B1642980BD31852650A5A8F6D6D8C6A9BE965B34FE7659AC5DD372AB91277B2C9CEB797C4B4B5888E33C0D2CFBE9AAD53E158475ED88884D5DCC663AF5AAA62030E3799FAA1FA47AB2665208597F358497</modulus>
+		<publicExponent>010001</publicExponent>
+		<plaintext>47AB927609FD75A7E20885EB7E4CFF0A</plaintext>
+		<ciphertext>397C86C824FDC6F1D0B966BD21A829D6F62C40F23A9B345486B8EF6C0BCC5EC9A21ECC12BDF477617B0E3E6EE1988B0918092DE46B78B74FD8EF8B1B42C1E32744DAF0D94FBC46D4523271BEE029B1BEF43136EDE8D86A8D1F65CBBCA80538E968F32C1B0F6D1888F3A83514969994CBA8128251D31BBC2C506F9DDEE6B53FD3</ciphertext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 14 RSA: Encrypt e = 0x010001, 512 bit key, standard, 1 sec</actionname>
+	<actiontype>RSAEncryptVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>A3504534C29C59CA9A34CBB95A18D435FE66FBC7DECD572B91C80F72EE0786D4DD92F8B8416D54BDE12DF2E83F8DC9B1642980BD31852650A5A8F6D6D8C6A9BE965B34FE7659AC5DD372AB91277B2C9CEB797C4B4B5888E33C0D2CFBE9AAD53E158475ED88884D5DCC663AF5AAA62030E3799FAA1FA47AB2665208597F358497</modulus>
+		<publicExponent>010001</publicExponent>
+		<plaintext>23</plaintext>
+		<ciphertext>59B7E7F8DB3D1E9BD58E1AB534F5D2CB9D28CF03BF8FC468F488940380CDF853DA52B10BAB8D0046A296E5EC98830EC350605185EF6A4C290A087DEEB4BD990996733B7161685C2A8971B6214B8F84A521B0AB5709A21C8C9D7A847C73E34865AFC3CA8B5EF85D720AE370E6147FC22206ACA77CFCE5A0FC46ACD9F446DE537A</ciphertext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 15 RSA: Encrypt e = 0x010001, 512 bit key, standard, 1 sec</actionname>
+	<actiontype>RSAEncryptVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>A3504534C29C59CA9A34CBB95A18D435FE66FBC7DECD572B91C80F72EE0786D4DD92F8B8416D54BDE12DF2E83F8DC9B1642980BD31852650A5A8F6D6D8C6A9BE965B34FE7659AC5DD372AB91277B2C9CEB797C4B4B5888E33C0D2CFBE9AAD53E158475ED88884D5DCC663AF5AAA62030E3799FAA1FA47AB2665208597F358497</modulus>
+		<publicExponent>010001</publicExponent>
+		<plaintext>0B0A7CEB6C1745531DA724AD438BF74689C39F095E883ED88E04363849C00F41</plaintext>
+		<ciphertext>9B20439E8572CFFC1218B6CCFBEEB46BEAE8F53C49BA2CE09E9023F3C5E3B73ECC9B5B388972BA018FE4D34F12B7674239A4EAF76A7D712B2B67EFDA0A0C992438B0A25CE7C9ED56F5E8AF6AABC7B94C55D0F4524750B9194E7C2210239448A90C59AC4AECBEE1660D02F24B2AA46B6C8C3D61344049327C964A137D4FBA91DF</ciphertext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 2 RSA: Decrypt, 512 bit key, standard, 1 sec</actionname>
+	<actiontype>RSADecryptVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>AA36ABCE88ACFDFF55523C7FC4523F90EFA00DF3774A259F2E62B4C5D99CB5ADB300A0285E5301930E0C70FB6876939CE616CE624A11E0086D341EBCACA0A1F5</modulus>
+		<privateExponent>0A033748626487695F5F30BC38B98B44C2CD2DFF434098CD20D8A138D090BF64797C3FA7A2CDCB3CD1E0BDBA2654B4F9DF8E8AE59D733D9F33B301624AFD1D51</privateExponent>
+		<ciphertext>1C1AF0EF61C813383F7204D64A56E4BDF903D25D2A2B3A393DD8447E6CB81B6F0AC0E670DEE1505AC2E526D2429C2355A27E9BE18E9A5A54CF4BE8D89756A039</ciphertext>
+		<plaintext>54859B342C49EA2A</plaintext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 3 RSA: Decrypt, 512 bit key, standard, 1 sec</actionname>
+	<actiontype>RSADecryptVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>A3079A90DF0DFD72AC090CCC2A78B87413133E40759C98FAF8204F358A0B263C6770E783A93B6971B73779D2717BE83477CF</modulus>
+		<privateExponent>6CAFBC6094B3FE4C72B0B332C6FB25A2B76229804E6865FCA45A74DF0F8FB8413B52C0D0E53D9B590FF19BE79F49DD21E5EB</privateExponent>
+		<ciphertext>6A572306B13C00C2D442E1B45A1719F21DC6A3B9810CD6BBA8B945A031054BC2E47BAB0DBB9BFBD3540D5745BF8EDE7B88A9</ciphertext>
+		<plaintext>54859B342C49EA2A</plaintext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 4 RSA: Decrypt, 512 bit key, standard, 1 sec</actionname>
+	<actiontype>RSADecryptVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>A3504534C29C59CA9A34CBB95A18D435FE66FBC7DECD572B91C80F72EE0786D4DD92F8B8416D54BDE12DF2E83F8DC9B1642980BD31852650A5A8F6D6D8C6A9BE965B34FE7659AC5DD372AB91277B2C9CEB797C4B4B5888E33C0D2CFBE9AAD53E158475ED88884D5DCC663AF5AAA62030E3799FAA1FA47AB2665208597F358497</modulus>
+		<privateExponent>85B3B3D4EBF6C0F443A7319A7F8E903DDC1747CE6C33C447E143DE9203199A632F3BA1F0877010CE9B49D8F21705E7B818FE796D6ADB4D70FD0F0577036631948DD21FFE77157AAF978857E4358DED82B58CC85F5EF70480FFD7BE0848DAFB983543B2E867F83155084D8541A14B5EA6CF5FCB651127B2C64383114F02A14CB1</privateExponent>
+		<ciphertext>31A8C19C6BF5FBB637B4523016DB47C2FB596D60F0465A49C8854F461DE2ACE0A84598E6B3792612DE30032C0A7BAB75D0F3C6A0F83CBA5B36BDFCDD3B6BDDDEA8BCCB7ADBBB0FE332B4E897B5EEC85514A654709653A956410F13C86CB2E7F27EA09EB8D169844D1C1909A34DA43F752B24338157C64216F98535B58334CD7A</ciphertext>
+		<plaintext>54859B342C49EA2A</plaintext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 5 RSA: Decrypt, 512 bit key, standard, 1 sec</actionname>
+	<actiontype>RSADecryptVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>AA36ABCE88ACFDFF55523C7FC4523F90EFA00DF3774A259F2E62B4C5D99CB5ADB300A0285E5301930E0C70FB6876939CE616CE624A11E0086D341EBCACA0A1F5</modulus>
+		<privateExponent>0A033748626487695F5F30BC38B98B44C2CD2DFF434098CD20D8A138D090BF64797C3FA7A2CDCB3CD1E0BDBA2654B4F9DF8E8AE59D733D9F33B301624AFD1D51</privateExponent>
+		<ciphertext>3E479CDAE2775909FF36C72BB0E49C9368DE432DD4819789633FA3117AEDE13AAFEC7D0AC49FF5269C4E9581D951DC07CFDCA0A29D3FAB61EF7B3B71A24FE0CD</ciphertext>
+		<plaintext>47AB927609FD75A7E20885EB7E4CFF0A</plaintext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 6 RSA: Decrypt, 512 bit key, standard, 1 sec</actionname>
+	<actiontype>RSADecryptVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>A3079A90DF0DFD72AC090CCC2A78B87413133E40759C98FAF8204F358A0B263C6770E783A93B6971B73779D2717BE83477CF</modulus>
+		<privateExponent>6CAFBC6094B3FE4C72B0B332C6FB25A2B76229804E6865FCA45A74DF0F8FB8413B52C0D0E53D9B590FF19BE79F49DD21E5EB</privateExponent>
+		<ciphertext>811E3047119584FE1810535AD29127F8469EE8249EAB8ED422CAE21816CF1C2B430F800016BAC3A82E25FA730616243787CD</ciphertext>
+		<plaintext>47AB927609FD75A7E20885EB7E4CFF0A</plaintext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 7 RSA: Decrypt, 512 bit key, standard, 1 sec</actionname>
+	<actiontype>RSADecryptVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>A3504534C29C59CA9A34CBB95A18D435FE66FBC7DECD572B91C80F72EE0786D4DD92F8B8416D54BDE12DF2E83F8DC9B1642980BD31852650A5A8F6D6D8C6A9BE965B34FE7659AC5DD372AB91277B2C9CEB797C4B4B5888E33C0D2CFBE9AAD53E158475ED88884D5DCC663AF5AAA62030E3799FAA1FA47AB2665208597F358497</modulus>
+		<privateExponent>85B3B3D4EBF6C0F443A7319A7F8E903DDC1747CE6C33C447E143DE9203199A632F3BA1F0877010CE9B49D8F21705E7B818FE796D6ADB4D70FD0F0577036631948DD21FFE77157AAF978857E4358DED82B58CC85F5EF70480FFD7BE0848DAFB983543B2E867F83155084D8541A14B5EA6CF5FCB651127B2C64383114F02A14CB1</privateExponent>
+		<ciphertext>397C86C824FDC6F1D0B966BD21A829D6F62C40F23A9B345486B8EF6C0BCC5EC9A21ECC12BDF477617B0E3E6EE1988B0918092DE46B78B74FD8EF8B1B42C1E32744DAF0D94FBC46D4523271BEE029B1BEF43136EDE8D86A8D1F65CBBCA80538E968F32C1B0F6D1888F3A83514969994CBA8128251D31BBC2C506F9DDEE6B53FD3</ciphertext>
+		<plaintext>47AB927609FD75A7E20885EB7E4CFF0A</plaintext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 8 RSA: Decrypt, 512 bit key, standard, 1 sec</actionname>
+	<actiontype>RSADecryptVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>AA36ABCE88ACFDFF55523C7FC4523F90EFA00DF3774A259F2E62B4C5D99CB5ADB300A0285E5301930E0C70FB6876939CE616CE624A11E0086D341EBCACA0A1F5</modulus>
+		<privateExponent>0A033748626487695F5F30BC38B98B44C2CD2DFF434098CD20D8A138D090BF64797C3FA7A2CDCB3CD1E0BDBA2654B4F9DF8E8AE59D733D9F33B301624AFD1D51</privateExponent>
+		<ciphertext>939AF059CF096A38F696ABF7E903FEE9931059018839AF59F12FD404A56A4A3417339C87BC8EB1A3C9911969948A4C50EF2CE29118AA98DDC0C57F5DD7452E22</ciphertext>
+		<plaintext>0B0A7CEB6C1745531DA724AD438BF74689C39F095E883ED88E04363849C00F41</plaintext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 9 RSA: Decrypt, 512 bit key, standard, 1 sec</actionname>
+	<actiontype>RSADecryptVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>A3079A90DF0DFD72AC090CCC2A78B87413133E40759C98FAF8204F358A0B263C6770E783A93B6971B73779D2717BE83477CF</modulus>
+		<privateExponent>6CAFBC6094B3FE4C72B0B332C6FB25A2B76229804E6865FCA45A74DF0F8FB8413B52C0D0E53D9B590FF19BE79F49DD21E5EB</privateExponent>
+		<ciphertext>9BFEE36BFB6A5B5A06D8F75F4C36F88BB53A30192968EEB8F0CA9A083766A218DF68A719C1D142990522545B6154C3F3E206</ciphertext>
+		<plaintext>0B0A7CEB6C1745531DA724AD438BF74689C39F095E883ED88E04363849C00F41</plaintext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 10 RSA: Decrypt, 512 bit key, standard, 1 sec</actionname>
+	<actiontype>RSADecryptVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>A3504534C29C59CA9A34CBB95A18D435FE66FBC7DECD572B91C80F72EE0786D4DD92F8B8416D54BDE12DF2E83F8DC9B1642980BD31852650A5A8F6D6D8C6A9BE965B34FE7659AC5DD372AB91277B2C9CEB797C4B4B5888E33C0D2CFBE9AAD53E158475ED88884D5DCC663AF5AAA62030E3799FAA1FA47AB2665208597F358497</modulus>
+		<privateExponent>85B3B3D4EBF6C0F443A7319A7F8E903DDC1747CE6C33C447E143DE9203199A632F3BA1F0877010CE9B49D8F21705E7B818FE796D6ADB4D70FD0F0577036631948DD21FFE77157AAF978857E4358DED82B58CC85F5EF70480FFD7BE0848DAFB983543B2E867F83155084D8541A14B5EA6CF5FCB651127B2C64383114F02A14CB1</privateExponent>
+		<ciphertext>9B20439E8572CFFC1218B6CCFBEEB46BEAE8F53C49BA2CE09E9023F3C5E3B73ECC9B5B388972BA018FE4D34F12B7674239A4EAF76A7D712B2B67EFDA0A0C992438B0A25CE7C9ED56F5E8AF6AABC7B94C55D0F4524750B9194E7C2210239448A90C59AC4AECBEE1660D02F24B2AA46B6C8C3D61344049327C964A137D4FBA91DF</ciphertext>
+		<plaintext>0B0A7CEB6C1745531DA724AD438BF74689C39F095E883ED88E04363849C00F41</plaintext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 11 RSA: Decrypt, 512 bit key, standard, 1 sec</actionname>
+	<actiontype>RSADecryptVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>AA36ABCE88ACFDFF55523C7FC4523F90EFA00DF3774A259F2E62B4C5D99CB5ADB300A0285E5301930E0C70FB6876939CE616CE624A11E0086D341EBCACA0A1F5</modulus>
+		<privateExponent>0A033748626487695F5F30BC38B98B44C2CD2DFF434098CD20D8A138D090BF64797C3FA7A2CDCB3CD1E0BDBA2654B4F9DF8E8AE59D733D9F33B301624AFD1D51</privateExponent>
+		<ciphertext>72BA7B987C4DBF1611B781F321498FDBA3962E0B62F502A726B17CE511984B771F474C23F9F6532A1FDC30C160596D83A13198CCCE6EC4E22A204977682FDD2D</ciphertext>
+		<plaintext>23</plaintext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 12 RSA: Decrypt, 512 bit key, standard, 1 sec</actionname>
+	<actiontype>RSADecryptVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>A3079A90DF0DFD72AC090CCC2A78B87413133E40759C98FAF8204F358A0B263C6770E783A93B6971B73779D2717BE83477CF</modulus>
+		<privateExponent>6CAFBC6094B3FE4C72B0B332C6FB25A2B76229804E6865FCA45A74DF0F8FB8413B52C0D0E53D9B590FF19BE79F49DD21E5EB</privateExponent>
+		<ciphertext>41DDDCD534E5716F20C21FED7F93B64802A55180E8896D2B770721A48FC4C2C3E67E5CDCD552C8F5782D8CA318A338170648</ciphertext>
+		<plaintext>23</plaintext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 13 RSA: Decrypt, 512 bit key, standard, 1 sec</actionname>
+	<actiontype>RSADecryptVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>A3504534C29C59CA9A34CBB95A18D435FE66FBC7DECD572B91C80F72EE0786D4DD92F8B8416D54BDE12DF2E83F8DC9B1642980BD31852650A5A8F6D6D8C6A9BE965B34FE7659AC5DD372AB91277B2C9CEB797C4B4B5888E33C0D2CFBE9AAD53E158475ED88884D5DCC663AF5AAA62030E3799FAA1FA47AB2665208597F358497</modulus>
+		<privateExponent>85B3B3D4EBF6C0F443A7319A7F8E903DDC1747CE6C33C447E143DE9203199A632F3BA1F0877010CE9B49D8F21705E7B818FE796D6ADB4D70FD0F0577036631948DD21FFE77157AAF978857E4358DED82B58CC85F5EF70480FFD7BE0848DAFB983543B2E867F83155084D8541A14B5EA6CF5FCB651127B2C64383114F02A14CB1</privateExponent>
+		<ciphertext>59B7E7F8DB3D1E9BD58E1AB534F5D2CB9D28CF03BF8FC468F488940380CDF853DA52B10BAB8D0046A296E5EC98830EC350605185EF6A4C290A087DEEB4BD990996733B7161685C2A8971B6214B8F84A521B0AB5709A21C8C9D7A847C73E34865AFC3CA8B5EF85D720AE370E6147FC22206ACA77CFCE5A0FC46ACD9F446DE537A</ciphertext>
+		<plaintext>23</plaintext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 14 RSA: Decrypt, 512 bit key, standard, 1 sec</actionname>
+	<actiontype>RSADecryptVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>AA36ABCE88ACFDFF55523C7FC4523F90EFA00DF3774A259F2E62B4C5D99CB5ADB300A0285E5301930E0C70FB6876939CE616CE624A11E0086D341EBCACA0A1F5</modulus>
+		<privateExponent>0A033748626487695F5F30BC38B98B44C2CD2DFF434098CD20D8A138D090BF64797C3FA7A2CDCB3CD1E0BDBA2654B4F9DF8E8AE59D733D9F33B301624AFD1D51</privateExponent>
+		<ciphertext>403325E9263F5CDBD03FAE2E5D6CDF884E8B2F5AE8D0AEBD27C950E4D69C9499B0A5435B0024CE35B92383F1E864C6426A97AC6DAC42EA70AEE000C7B9ECA83F</ciphertext>
+		<plaintext>6679F38482069906CDF1DF3FDDB537744676BA0DB8D682B6826F31B1D8230CCA4E392877053FAC5A13FF3A39352EAFB185E4D060F4</plaintext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 15 RSA: Decrypt, 512 bit key, standard, 1 sec</actionname>
+	<actiontype>RSADecryptVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>A3079A90DF0DFD72AC090CCC2A78B87413133E40759C98FAF8204F358A0B263C6770E783A93B6971B73779D2717BE83477CF</modulus>
+		<privateExponent>6CAFBC6094B3FE4C72B0B332C6FB25A2B76229804E6865FCA45A74DF0F8FB8413B52C0D0E53D9B590FF19BE79F49DD21E5EB</privateExponent>
+		<ciphertext>0C2EF71B3106368FEB8CA6B0542480372423058C40BDE47C7DD5E828A8E16DE588324DE8C4035AF6CAE44F24B89097324FBF</ciphertext>
+		<plaintext>CDA22C4B6A20000EADAD74BDB304BDC5727302119D6D3775665AF2E6476579807C92EC09F533EA</plaintext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+
+
+//////////////////////////////////////////////////////////////////////////
+//	Vector Test RSA: Standard Sign
+//////////////////////////////////////////////////////////////////////////
+<action>
+	<actionname>Vector Test RSA: Sign, 512 bit key, Standard, 1 sec</actionname>
+	<actiontype>RSASignVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>AA36ABCE88ACFDFF55523C7FC4523F90EFA00DF3774A259F2E62B4C5D99CB5ADB300A0285E5301930E0C70FB6876939CE616CE624A11E0086D341EBCACA0A1F5</modulus>
+		<privateExponent>0A033748626487695F5F30BC38B98B44C2CD2DFF434098CD20D8A138D090BF64797C3FA7A2CDCB3CD1E0BDBA2654B4F9DF8E8AE59D733D9F33B301624AFD1D51</privateExponent>
+		<digestInfo>54859B342C49EA2A</digestInfo>
+		<signature>786C08484F59280886A19919BECA53711819B2D2DD82D702E2F6DE991DC89CB968C01B1315A742B5BE783A781B5B1286F46DAFE29DE675C64A3BA4781DEF8F19</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+
+//////////////////////////////////////////////////////////////////////////
+//	Vector Test RSA: CRT Sign
+//////////////////////////////////////////////////////////////////////////
+//	Test vector from cryptopp "Everybody gets Friday off"
+<action>
+	<actionname>Vector Test RSA: Sign, 512 bit key, CRT, 1 sec</actionname>
+	<actiontype>RSASignVectorCRT</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>0A66791DC6988168DE7AB77419BB7FB0C001C62710270075142942E19A8D8C51D053B3E3782A1DE5DC5AF4EBE99468170114A1DFE67CDC9A9AF55D655620BBAB</modulus>
+		<P>33D48445C859E52340DE704BCDDA065FBB4058D740BD1D67D29E9C146C11CF61</P>
+		<Q>335E8408866B0FD38DC7002D3F972C67389A65D5D8306566D5C4F2A5AA52628B</Q>
+		<dP>045EC90071525325D3D46DB79695E9AFACC4523964360E02B119BAA366316241</dP>
+		<dQ>15EB327360C7B60D12E5E2D16BDCD97981D17FBA6B70DB13B20B436E24EADA59</dQ>
+		<qInv>2CA6366D72781DFA24D34A9A24CBC2AE927A9958AF426563FF63FB11658A461D</qInv>
+		<digestInfo>3020300C06082A864886F70D0202050004101D32DE009F9C56EA4636D39AAFFDAEA1</digestInfo>
+		<signature>05FA6A812FC7DF8BF4F2542509E03E846E11B9C620BE2009EFB440EFBCC669216994AC04F341B57D05202D428FB2A27B5C77DFD9B15BFC3D559353503410C1E1</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+
+//////////////////////////////////////////////////////////////////////////
+//	Vector Test RSA: Verify
+//////////////////////////////////////////////////////////////////////////
+<action>
+	<actionname>Vector Test RSA: Verify, e = 0x3 512 bit key, 1 sec</actionname>
+	<actiontype>RSAVerifyVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>A3079A90DF0DFD72AC090CCC2A78B87413133E40759C98FAF8204F358A0B263C6770E783A93B6971B73779D2717BE83477CF</modulus>
+		<publicExponent>03</publicExponent>
+		<digestInfo>54859B342C49EA2A</digestInfo>
+		<signature>6268EE3023E0CCC02FDF5896C4E1C87EEEE82EFE5C87EFC3C41D3E976FD286F35A0678ED0157DC06F3F889B15CAF91C783EF</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test RSA: Verify, e = 0x11 512 bit key, 1 sec</actionname>
+	<actiontype>RSAVerifyVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>AA36ABCE88ACFDFF55523C7FC4523F90EFA00DF3774A259F2E62B4C5D99CB5ADB300A0285E5301930E0C70FB6876939CE616CE624A11E0086D341EBCACA0A1F5</modulus>
+		<publicExponent>11</publicExponent>
+		<digestInfo>47AB927609FD75A7E20885EB7E4CFF0A</digestInfo>
+		<signature>32BCB348294467EA925B0B8E0420E3B6482A9F12C42081B4A0EB76A807D4A35CBB8E49C5BB958300D5713A15748660AF8EDD1EDDF674AFECD270813BB2420550</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test RSA: Verify, e = 0x10001 512 bit key, 1 sec</actionname>
+	<actiontype>RSAVerifyVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>0A66791DC6988168DE7AB77419BB7FB0C001C62710270075142942E19A8D8C51D053B3E3782A1DE5DC5AF4EBE99468170114A1DFE67CDC9A9AF55D655620BBAB</modulus>
+		<publicExponent>010001</publicExponent>
+		<digestInfo>3020300C06082A864886F70D0202050004101D32DE009F9C56EA4636D39AAFFDAEA1</digestInfo>
+		<signature>05FA6A812FC7DF8BF4F2542509E03E846E11B9C620BE2009EFB440EFBCC669216994AC04F341B57D05202D428FB2A27B5C77DFD9B15BFC3D559353503410C1E1</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+
+//////////////////////////////////////////////////////////////////////////
+//	More Vector Tests RSA: standard sign & verify
+//////////////////////////////////////////////////////////////////////////
+<action>
+	<actionname>Vector Test 2 RSA: Sign, 512 bit key, Standard, 1 sec</actionname>
+	<actiontype>RSASignVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>0A66791DC6988168DE7AB77419BB7FB0C001C62710270075142942E19A8D8C51D053B3E3782A1DE5DC5AF4EBE99468170114A1DFE67CDC9A9AF55D655620BBAB</modulus>
+		<privateExponent>0123C5B61BA36EDB1D3679904199A89EA80C09B9122E1400C09ADCF7784676D01D23356A7D44D6BD8BD50E94BFC723FA87D8862B75177691C11D757692DF8881</privateExponent>
+		<digestInfo>3020300C06082A864886F70D0202050004101D32DE009F9C56EA4636D39AAFFDAEA1</digestInfo>
+		<signature>05FA6A812FC7DF8BF4F2542509E03E846E11B9C620BE2009EFB440EFBCC669216994AC04F341B57D05202D428FB2A27B5C77DFD9B15BFC3D559353503410C1E1</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 3 RSA: Sign, 512 bit key, Standard, 1 sec</actionname>
+	<actiontype>RSASignVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>A3504534C29C59CA9A34CBB95A18D435FE66FBC7DECD572B91C80F72EE0786D4DD92F8B8416D54BDE12DF2E83F8DC9B1642980BD31852650A5A8F6D6D8C6A9BE965B34FE7659AC5DD372AB91277B2C9CEB797C4B4B5888E33C0D2CFBE9AAD53E158475ED88884D5DCC663AF5AAA62030E3799FAA1FA47AB2665208597F358497</modulus>
+		<privateExponent>85B3B3D4EBF6C0F443A7319A7F8E903DDC1747CE6C33C447E143DE9203199A632F3BA1F0877010CE9B49D8F21705E7B818FE796D6ADB4D70FD0F0577036631948DD21FFE77157AAF978857E4358DED82B58CC85F5EF70480FFD7BE0848DAFB983543B2E867F83155084D8541A14B5EA6CF5FCB651127B2C64383114F02A14CB1</privateExponent>
+		<digestInfo>54859B342C49EA2A</digestInfo>
+		<signature>A2B1465F0B5271A8C700D60A0717C38A48ECB67CE2592ADAFC5C672F6AA21319477CFB3A407587F7A2BF004BB709273051F1D81DC3B5E7409DFEB0E2B8DEE9780FBD0045E999A2D9C8313887BF16E380533E8E505DB231C22DCC72A5AF4B92E5D7EB1F3F37E6763C2C650A9F641992ABD858AB40AAADDAB598F9A81C4C99E68D</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 4 RSA: Sign, 512 bit key, Standard, 1 sec</actionname>
+	<actiontype>RSASignVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>AA36ABCE88ACFDFF55523C7FC4523F90EFA00DF3774A259F2E62B4C5D99CB5ADB300A0285E5301930E0C70FB6876939CE616CE624A11E0086D341EBCACA0A1F5</modulus>
+		<privateExponent>0A033748626487695F5F30BC38B98B44C2CD2DFF434098CD20D8A138D090BF64797C3FA7A2CDCB3CD1E0BDBA2654B4F9DF8E8AE59D733D9F33B301624AFD1D51</privateExponent>
+		<digestInfo>47AB927609FD75A7E20885EB7E4CFF0A</digestInfo>
+		<signature>32BCB348294467EA925B0B8E0420E3B6482A9F12C42081B4A0EB76A807D4A35CBB8E49C5BB958300D5713A15748660AF8EDD1EDDF674AFECD270813BB2420550</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 5 RSA: Sign, 512 bit key, Standard, 1 sec</actionname>
+	<actiontype>RSASignVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>A3079A90DF0DFD72AC090CCC2A78B87413133E40759C98FAF8204F358A0B263C6770E783A93B6971B73779D2717BE83477CF</modulus>
+		<privateExponent>6CAFBC6094B3FE4C72B0B332C6FB25A2B76229804E6865FCA45A74DF0F8FB8413B52C0D0E53D9B590FF19BE79F49DD21E5EB</privateExponent>
+		<digestInfo>47AB927609FD75A7E20885EB7E4CFF0A</digestInfo>
+		<signature>301786087160F4EEB99B005A56457792FC9264E28549F2AC4C65982BC1AF797C09E3ACFABE703F5C72754BD58D0403D4433C</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 6 RSA: Sign, 512 bit key, Standard, 1 sec</actionname>
+	<actiontype>RSASignVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>A3504534C29C59CA9A34CBB95A18D435FE66FBC7DECD572B91C80F72EE0786D4DD92F8B8416D54BDE12DF2E83F8DC9B1642980BD31852650A5A8F6D6D8C6A9BE965B34FE7659AC5DD372AB91277B2C9CEB797C4B4B5888E33C0D2CFBE9AAD53E158475ED88884D5DCC663AF5AAA62030E3799FAA1FA47AB2665208597F358497</modulus>
+		<privateExponent>85B3B3D4EBF6C0F443A7319A7F8E903DDC1747CE6C33C447E143DE9203199A632F3BA1F0877010CE9B49D8F21705E7B818FE796D6ADB4D70FD0F0577036631948DD21FFE77157AAF978857E4358DED82B58CC85F5EF70480FFD7BE0848DAFB983543B2E867F83155084D8541A14B5EA6CF5FCB651127B2C64383114F02A14CB1</privateExponent>
+		<digestInfo>47AB927609FD75A7E20885EB7E4CFF0A</digestInfo>
+		<signature>6B68F9744C7F6535B4AE3A09133FB573C73DECB13ABACB0D3E31CDECC206F5023A91F7634F46350EF06D840420CAEB8029DAC5DCFF1C1A0C7EB33D60E348FC079A4CF478DAB02BEFCA8242FE5CBF52BE39CAB47B16D61C77A1B36B52D371C846BA330A4B21B73C0E1D7D6732EFBA08B06AB4B4FB07E19D89A5B9398A8D093A40</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 7 RSA: Sign, 512 bit key, Standard, 1 sec</actionname>
+	<actiontype>RSASignVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>AA36ABCE88ACFDFF55523C7FC4523F90EFA00DF3774A259F2E62B4C5D99CB5ADB300A0285E5301930E0C70FB6876939CE616CE624A11E0086D341EBCACA0A1F5</modulus>
+		<privateExponent>0A033748626487695F5F30BC38B98B44C2CD2DFF434098CD20D8A138D090BF64797C3FA7A2CDCB3CD1E0BDBA2654B4F9DF8E8AE59D733D9F33B301624AFD1D51</privateExponent>
+		<digestInfo>0B0A7CEB6C1745531DA724AD438BF74689C39F095E883ED88E04363849C00F41</digestInfo>
+		<signature>069D76426B5096CDFB1F37F4ABABFBD9C2786174D35F32A83250EB22600A493C742135F811122899A9D1060CBB4DE0DA41C8073B6DC1DC401DD2536A514EE966</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 8 RSA: Sign, 512 bit key, Standard, 1 sec</actionname>
+	<actiontype>RSASignVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>A3079A90DF0DFD72AC090CCC2A78B87413133E40759C98FAF8204F358A0B263C6770E783A93B6971B73779D2717BE83477CF</modulus>
+		<privateExponent>6CAFBC6094B3FE4C72B0B332C6FB25A2B76229804E6865FCA45A74DF0F8FB8413B52C0D0E53D9B590FF19BE79F49DD21E5EB</privateExponent>
+		<digestInfo>0B0A7CEB6C1745531DA724AD438BF74689C39F095E883ED88E04363849C00F41</digestInfo>
+		<signature>56CB9D7521600FAC739A7BA2F64C8833EFA9B631970F8C80AC56F5D06B48C9DE98BEBBAEAA71908BF4ECB3BD9CA074EFE491</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 9 RSA: Sign, 512 bit key, Standard, 1 sec</actionname>
+	<actiontype>RSASignVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>A3504534C29C59CA9A34CBB95A18D435FE66FBC7DECD572B91C80F72EE0786D4DD92F8B8416D54BDE12DF2E83F8DC9B1642980BD31852650A5A8F6D6D8C6A9BE965B34FE7659AC5DD372AB91277B2C9CEB797C4B4B5888E33C0D2CFBE9AAD53E158475ED88884D5DCC663AF5AAA62030E3799FAA1FA47AB2665208597F358497</modulus>
+		<privateExponent>85B3B3D4EBF6C0F443A7319A7F8E903DDC1747CE6C33C447E143DE9203199A632F3BA1F0877010CE9B49D8F21705E7B818FE796D6ADB4D70FD0F0577036631948DD21FFE77157AAF978857E4358DED82B58CC85F5EF70480FFD7BE0848DAFB983543B2E867F83155084D8541A14B5EA6CF5FCB651127B2C64383114F02A14CB1</privateExponent>
+		<digestInfo>0B0A7CEB6C1745531DA724AD438BF74689C39F095E883ED88E04363849C00F41</digestInfo>
+		<signature>4F2A49D3F53D380CF3812A21F4CA61CA39920C4F5E7D16757C8BBC9C3EB9FCF3146EF9FCCF3E674B9792B764CC7486342760D42DC08C94BC9126B7601C7287BE98CAE6D1FFB9B2CBA28536C87D84B12B6F8913F6A373399CA7BA3AE507DCA8054575030D192DBC52CC28F54AFCCE7A0370C577548088709634B2B332EF429C10</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 10 RSA: Sign, 512 bit key, Standard, 1 sec</actionname>
+	<actiontype>RSASignVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>AA36ABCE88ACFDFF55523C7FC4523F90EFA00DF3774A259F2E62B4C5D99CB5ADB300A0285E5301930E0C70FB6876939CE616CE624A11E0086D341EBCACA0A1F5</modulus>
+		<privateExponent>0A033748626487695F5F30BC38B98B44C2CD2DFF434098CD20D8A138D090BF64797C3FA7A2CDCB3CD1E0BDBA2654B4F9DF8E8AE59D733D9F33B301624AFD1D51</privateExponent>
+		<digestInfo>23</digestInfo>
+		<signature>242272B19E612D4E1B1702CBE2EE64945A4DC1F8EE3C84D1FDA317517DB723D84712A0FD13E898E578E979DFAEC3FCB7B3F0CEDC3B859E287AA2F3C22768B18D</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 11 RSA: Sign, 512 bit key, Standard, 1 sec</actionname>
+	<actiontype>RSASignVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>A3079A90DF0DFD72AC090CCC2A78B87413133E40759C98FAF8204F358A0B263C6770E783A93B6971B73779D2717BE83477CF</modulus>
+		<privateExponent>6CAFBC6094B3FE4C72B0B332C6FB25A2B76229804E6865FCA45A74DF0F8FB8413B52C0D0E53D9B590FF19BE79F49DD21E5EB</privateExponent>
+		<digestInfo>23</digestInfo>
+		<signature>9D12DA842EE999C9EDE51E1C7130C2B61AAD5CEBD85C38F20345D0ABAEAAC651FB34B35C8D983CABC985CD0F29EAB1EEFD46</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 12 RSA: Sign, 512 bit key, Standard, 1 sec</actionname>
+	<actiontype>RSASignVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>A3504534C29C59CA9A34CBB95A18D435FE66FBC7DECD572B91C80F72EE0786D4DD92F8B8416D54BDE12DF2E83F8DC9B1642980BD31852650A5A8F6D6D8C6A9BE965B34FE7659AC5DD372AB91277B2C9CEB797C4B4B5888E33C0D2CFBE9AAD53E158475ED88884D5DCC663AF5AAA62030E3799FAA1FA47AB2665208597F358497</modulus>
+		<privateExponent>85B3B3D4EBF6C0F443A7319A7F8E903DDC1747CE6C33C447E143DE9203199A632F3BA1F0877010CE9B49D8F21705E7B818FE796D6ADB4D70FD0F0577036631948DD21FFE77157AAF978857E4358DED82B58CC85F5EF70480FFD7BE0848DAFB983543B2E867F83155084D8541A14B5EA6CF5FCB651127B2C64383114F02A14CB1</privateExponent>
+		<digestInfo>23</digestInfo>
+		<signature>1938080C595F1C2278818BB3B6D9D400FBF6DD7FD6B1E5A1E568DAF69A1A538158F74866916C1A19386D09284F2478BAB8D6C932F2F5756596449FB55E72B103AB68D17592A3928AE46D2350673C8E9BD69F36E96090D30A02AB72E7F4C35D815D2DEE660B2C4098367815B5E10B9008FA701AFF9E1D2B756564064455FCE4A1</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 13 RSA: Sign, 512 bit key, Standard, 1 sec</actionname>
+	<actiontype>RSASignVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>AA36ABCE88ACFDFF55523C7FC4523F90EFA00DF3774A259F2E62B4C5D99CB5ADB300A0285E5301930E0C70FB6876939CE616CE624A11E0086D341EBCACA0A1F5</modulus>
+		<privateExponent>0A033748626487695F5F30BC38B98B44C2CD2DFF434098CD20D8A138D090BF64797C3FA7A2CDCB3CD1E0BDBA2654B4F9DF8E8AE59D733D9F33B301624AFD1D51</privateExponent>
+		<digestInfo>6679F38482069906CDF1DF3FDDB537744676BA0DB8D682B6826F31B1D8230CCA4E392877053FAC5A13FF3A39352EAFB185E4D060F4</digestInfo>
+		<signature>07AE66D658801E68EF06A8F448DE504F5492457B2891F491AAB3C1DAFBE61F5ADB478E77A06F42F7985E2854A83980A70FA394AA955AF279D00215D778482997</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 14 RSA: Sign, 512 bit key, Standard, 1 sec</actionname>
+	<actiontype>RSASignVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>A3079A90DF0DFD72AC090CCC2A78B87413133E40759C98FAF8204F358A0B263C6770E783A93B6971B73779D2717BE83477CF</modulus>
+		<privateExponent>6CAFBC6094B3FE4C72B0B332C6FB25A2B76229804E6865FCA45A74DF0F8FB8413B52C0D0E53D9B590FF19BE79F49DD21E5EB</privateExponent>
+		<digestInfo>CDA22C4B6A20000EADAD74BDB304BDC5727302119D6D3775665AF2E6476579807C92EC09F533EA</digestInfo>
+		<signature>7AA56CFBA701353E0402AAC8B71DF6E33DB3F7E2D1B96385D566FCAEF7243AB7170778FE4E6544C306003B393AB82F3AA4C3</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 15 RSA: Sign, 512 bit key, Standard, 1 sec</actionname>
+	<actiontype>RSASignVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>A3504534C29C59CA9A34CBB95A18D435FE66FBC7DECD572B91C80F72EE0786D4DD92F8B8416D54BDE12DF2E83F8DC9B1642980BD31852650A5A8F6D6D8C6A9BE965B34FE7659AC5DD372AB91277B2C9CEB797C4B4B5888E33C0D2CFBE9AAD53E158475ED88884D5DCC663AF5AAA62030E3799FAA1FA47AB2665208597F358497</modulus>
+		<privateExponent>85B3B3D4EBF6C0F443A7319A7F8E903DDC1747CE6C33C447E143DE9203199A632F3BA1F0877010CE9B49D8F21705E7B818FE796D6ADB4D70FD0F0577036631948DD21FFE77157AAF978857E4358DED82B58CC85F5EF70480FFD7BE0848DAFB983543B2E867F83155084D8541A14B5EA6CF5FCB651127B2C64383114F02A14CB1</privateExponent>
+		<digestInfo>0E2561AF55EB9C10904FD427FD0D1DF438BD9ED0C71C480B50A1D3F1B4DBBA2D0081596E61433550F95F7020B247487F32F7E82E50C180454B5CF8456AA00F33F1EC9AB179F5CC921C3012B0557B490693A8305A68798A219AD76870F8A1F10A528575F92D26D31B37DCDC608777CB9757004FF181</digestInfo>
+		<signature>363E0A0A5672F9BAB4B4A8EE3F236C12B439D63B6B1893BC025E225AA1DF42C9A09951CFAC8B6AA8098502A347A2C5D8B9FE0D47F34E0848539D24D0B32B79669276597FE082AC24BE8DA961FA184739EF04915ACFDAA172197EED5EB7EB2999FA8B327AF4A9419E64D9D314D67770A006C99C97E90715540880661F9187860A</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 2 RSA: Verify, e = 0x3 512 bit key, 1 sec</actionname>
+	<actiontype>RSAVerifyVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>A3079A90DF0DFD72AC090CCC2A78B87413133E40759C98FAF8204F358A0B263C6770E783A93B6971B73779D2717BE83477CF</modulus>
+		<publicExponent>03</publicExponent>
+		<digestInfo>23</digestInfo>
+		<signature>9D12DA842EE999C9EDE51E1C7130C2B61AAD5CEBD85C38F20345D0ABAEAAC651FB34B35C8D983CABC985CD0F29EAB1EEFD46</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 3 RSA: Verify, e = 0x3 512 bit key, 1 sec</actionname>
+	<actiontype>RSAVerifyVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>A3079A90DF0DFD72AC090CCC2A78B87413133E40759C98FAF8204F358A0B263C6770E783A93B6971B73779D2717BE83477CF</modulus>
+		<publicExponent>03</publicExponent>
+		<digestInfo>CDA22C4B6A20000EADAD74BDB304BDC5727302119D6D3775665AF2E6476579807C92EC09F533EA</digestInfo>
+		<signature>7AA56CFBA701353E0402AAC8B71DF6E33DB3F7E2D1B96385D566FCAEF7243AB7170778FE4E6544C306003B393AB82F3AA4C3</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 4 RSA: Verify, e = 0x3 512 bit key, 1 sec</actionname>
+	<actiontype>RSAVerifyVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>A3079A90DF0DFD72AC090CCC2A78B87413133E40759C98FAF8204F358A0B263C6770E783A93B6971B73779D2717BE83477CF</modulus>
+		<publicExponent>03</publicExponent>
+		<digestInfo>0B0A7CEB6C1745531DA724AD438BF74689C39F095E883ED88E04363849C00F41</digestInfo>
+		<signature>56CB9D7521600FAC739A7BA2F64C8833EFA9B631970F8C80AC56F5D06B48C9DE98BEBBAEAA71908BF4ECB3BD9CA074EFE491</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 5 RSA: Verify, e = 0x3 512 bit key, 1 sec</actionname>
+	<actiontype>RSAVerifyVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>A3079A90DF0DFD72AC090CCC2A78B87413133E40759C98FAF8204F358A0B263C6770E783A93B6971B73779D2717BE83477CF</modulus>
+		<publicExponent>03</publicExponent>
+		<digestInfo>47AB927609FD75A7E20885EB7E4CFF0A</digestInfo>
+		<signature>301786087160F4EEB99B005A56457792FC9264E28549F2AC4C65982BC1AF797C09E3ACFABE703F5C72754BD58D0403D4433C</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 6 RSA: Verify, e = 0x11 512 bit key, 1 sec</actionname>
+	<actiontype>RSAVerifyVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>AA36ABCE88ACFDFF55523C7FC4523F90EFA00DF3774A259F2E62B4C5D99CB5ADB300A0285E5301930E0C70FB6876939CE616CE624A11E0086D341EBCACA0A1F5</modulus>
+		<publicExponent>11</publicExponent>
+		<digestInfo>0B0A7CEB6C1745531DA724AD438BF74689C39F095E883ED88E04363849C00F41</digestInfo>
+		<signature>069D76426B5096CDFB1F37F4ABABFBD9C2786174D35F32A83250EB22600A493C742135F811122899A9D1060CBB4DE0DA41C8073B6DC1DC401DD2536A514EE966</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 7 RSA: Verify, e = 0x11 512 bit key, 1 sec</actionname>
+	<actiontype>RSAVerifyVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>AA36ABCE88ACFDFF55523C7FC4523F90EFA00DF3774A259F2E62B4C5D99CB5ADB300A0285E5301930E0C70FB6876939CE616CE624A11E0086D341EBCACA0A1F5</modulus>
+		<publicExponent>11</publicExponent>
+		<digestInfo>54859B342C49EA2A</digestInfo>
+		<signature>786C08484F59280886A19919BECA53711819B2D2DD82D702E2F6DE991DC89CB968C01B1315A742B5BE783A781B5B1286F46DAFE29DE675C64A3BA4781DEF8F19</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 8 RSA: Verify, e = 0x11 512 bit key, 1 sec</actionname>
+	<actiontype>RSAVerifyVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>AA36ABCE88ACFDFF55523C7FC4523F90EFA00DF3774A259F2E62B4C5D99CB5ADB300A0285E5301930E0C70FB6876939CE616CE624A11E0086D341EBCACA0A1F5</modulus>
+		<publicExponent>11</publicExponent>
+		<digestInfo>23</digestInfo>
+		<signature>242272B19E612D4E1B1702CBE2EE64945A4DC1F8EE3C84D1FDA317517DB723D84712A0FD13E898E578E979DFAEC3FCB7B3F0CEDC3B859E287AA2F3C22768B18D</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 9 RSA: Verify, e = 0x11 512 bit key, 1 sec</actionname>
+	<actiontype>RSAVerifyVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>AA36ABCE88ACFDFF55523C7FC4523F90EFA00DF3774A259F2E62B4C5D99CB5ADB300A0285E5301930E0C70FB6876939CE616CE624A11E0086D341EBCACA0A1F5</modulus>
+		<publicExponent>11</publicExponent>
+		<digestInfo>6679F38482069906CDF1DF3FDDB537744676BA0DB8D682B6826F31B1D8230CCA4E392877053FAC5A13FF3A39352EAFB185E4D060F4</digestInfo>
+		<signature>07AE66D658801E68EF06A8F448DE504F5492457B2891F491AAB3C1DAFBE61F5ADB478E77A06F42F7985E2854A83980A70FA394AA955AF279D00215D778482997</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 10 RSA: Verify, e = 0x10001 512 bit key, 1 sec</actionname>
+	<actiontype>RSAVerifyVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>A3504534C29C59CA9A34CBB95A18D435FE66FBC7DECD572B91C80F72EE0786D4DD92F8B8416D54BDE12DF2E83F8DC9B1642980BD31852650A5A8F6D6D8C6A9BE965B34FE7659AC5DD372AB91277B2C9CEB797C4B4B5888E33C0D2CFBE9AAD53E158475ED88884D5DCC663AF5AAA62030E3799FAA1FA47AB2665208597F358497</modulus>
+		<publicExponent>010001</publicExponent>
+		<digestInfo>23</digestInfo>
+		<signature>1938080C595F1C2278818BB3B6D9D400FBF6DD7FD6B1E5A1E568DAF69A1A538158F74866916C1A19386D09284F2478BAB8D6C932F2F5756596449FB55E72B103AB68D17592A3928AE46D2350673C8E9BD69F36E96090D30A02AB72E7F4C35D815D2DEE660B2C4098367815B5E10B9008FA701AFF9E1D2B756564064455FCE4A1</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 11 RSA: Verify, e = 0x10001 512 bit key, 1 sec</actionname>
+	<actiontype>RSAVerifyVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>A3504534C29C59CA9A34CBB95A18D435FE66FBC7DECD572B91C80F72EE0786D4DD92F8B8416D54BDE12DF2E83F8DC9B1642980BD31852650A5A8F6D6D8C6A9BE965B34FE7659AC5DD372AB91277B2C9CEB797C4B4B5888E33C0D2CFBE9AAD53E158475ED88884D5DCC663AF5AAA62030E3799FAA1FA47AB2665208597F358497</modulus>
+		<publicExponent>010001</publicExponent>
+		<digestInfo>0E2561AF55EB9C10904FD427FD0D1DF438BD9ED0C71C480B50A1D3F1B4DBBA2D0081596E61433550F95F7020B247487F32F7E82E50C180454B5CF8456AA00F33F1EC9AB179F5CC921C3012B0557B490693A8305A68798A219AD76870F8A1F10A528575F92D26D31B37DCDC608777CB9757004FF181</digestInfo>
+		<signature>363E0A0A5672F9BAB4B4A8EE3F236C12B439D63B6B1893BC025E225AA1DF42C9A09951CFAC8B6AA8098502A347A2C5D8B9FE0D47F34E0848539D24D0B32B79669276597FE082AC24BE8DA961FA184739EF04915ACFDAA172197EED5EB7EB2999FA8B327AF4A9419E64D9D314D67770A006C99C97E90715540880661F9187860A</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 12 RSA: Verify, e = 0x10001 512 bit key, 1 sec</actionname>
+	<actiontype>RSAVerifyVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>A3504534C29C59CA9A34CBB95A18D435FE66FBC7DECD572B91C80F72EE0786D4DD92F8B8416D54BDE12DF2E83F8DC9B1642980BD31852650A5A8F6D6D8C6A9BE965B34FE7659AC5DD372AB91277B2C9CEB797C4B4B5888E33C0D2CFBE9AAD53E158475ED88884D5DCC663AF5AAA62030E3799FAA1FA47AB2665208597F358497</modulus>
+		<publicExponent>010001</publicExponent>
+		<digestInfo>0B0A7CEB6C1745531DA724AD438BF74689C39F095E883ED88E04363849C00F41</digestInfo>
+		<signature>4F2A49D3F53D380CF3812A21F4CA61CA39920C4F5E7D16757C8BBC9C3EB9FCF3146EF9FCCF3E674B9792B764CC7486342760D42DC08C94BC9126B7601C7287BE98CAE6D1FFB9B2CBA28536C87D84B12B6F8913F6A373399CA7BA3AE507DCA8054575030D192DBC52CC28F54AFCCE7A0370C577548088709634B2B332EF429C10</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 13 RSA: Verify, e = 0x10001 512 bit key, 1 sec</actionname>
+	<actiontype>RSAVerifyVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>A3504534C29C59CA9A34CBB95A18D435FE66FBC7DECD572B91C80F72EE0786D4DD92F8B8416D54BDE12DF2E83F8DC9B1642980BD31852650A5A8F6D6D8C6A9BE965B34FE7659AC5DD372AB91277B2C9CEB797C4B4B5888E33C0D2CFBE9AAD53E158475ED88884D5DCC663AF5AAA62030E3799FAA1FA47AB2665208597F358497</modulus>
+		<publicExponent>010001</publicExponent>
+		<digestInfo>47AB927609FD75A7E20885EB7E4CFF0A</digestInfo>
+		<signature>6B68F9744C7F6535B4AE3A09133FB573C73DECB13ABACB0D3E31CDECC206F5023A91F7634F46350EF06D840420CAEB8029DAC5DCFF1C1A0C7EB33D60E348FC079A4CF478DAB02BEFCA8242FE5CBF52BE39CAB47B16D61C77A1B36B52D371C846BA330A4B21B73C0E1D7D6732EFBA08B06AB4B4FB07E19D89A5B9398A8D093A40</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>Vector Test 14 RSA: Verify, e = 0x10001 512 bit key, 1 sec</actionname>
+	<actiontype>RSAVerifyVector</actiontype>
+	<actionbody>
+		<iterations>1</iterations>
+		<keybits>512</keybits>
+		<modulus>A3504534C29C59CA9A34CBB95A18D435FE66FBC7DECD572B91C80F72EE0786D4DD92F8B8416D54BDE12DF2E83F8DC9B1642980BD31852650A5A8F6D6D8C6A9BE965B34FE7659AC5DD372AB91277B2C9CEB797C4B4B5888E33C0D2CFBE9AAD53E158475ED88884D5DCC663AF5AAA62030E3799FAA1FA47AB2665208597F358497</modulus>
+		<publicExponent>010001</publicExponent>
+		<digestInfo>54859B342C49EA2A</digestInfo>
+		<signature>A2B1465F0B5271A8C700D60A0717C38A48ECB67CE2592ADAFC5C672F6AA21319477CFB3A407587F7A2BF004BB709273051F1D81DC3B5E7409DFEB0E2B8DEE9780FBD0045E999A2D9C8313887BF16E380533E8E505DB231C22DCC72A5AF4B92E5D7EB1F3F37E6763C2C650A9F641992ABD858AB40AAADDAB598F9A81C4C99E68D</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tasymmetric/scripts/tasymmetrictests.txt	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,1418 @@
+<action>
+	<actionname>RSA CRT test vector 1 (RSAEncryptVector)</actionname>
+	<actiontype>RSAEncryptVector</actiontype>
+	<actionbody>
+		<modulus>BBF82F090682CE9C2338AC2B9DA871F7368D07EED41043A440D6B6F07454F51FB8DFBAAF035C02AB61EA48CEEB6FCD4876ED520D60E1EC4619719D8A5B8B807FAFB8E0A3DFC737723EE6B4B7D93A2584EE6A649D060953748834B2454598394EE0AAB12D7B61A51F527A9A41F6C1687FE2537298CA2A8F5946F8E5FD091DBDCB</modulus>
+		<publicExponent>11</publicExponent>
+		<plaintext>D436E99569FD32A7C8A05BBC90D32C49</plaintext>
+		<ciphertext>4B9C35BC3CA99B3908EF91C91F4D661544B5462CB3079D7B7A610B90039602F080417B049B7F31BAF16A87B59986620EC1BBD791AD30774309C05F0AFA24B0BF1EA1FEAA3A8EFA2C24F5626B8A9C9A157C1018DA54D314E728E2DB75E84FB5E99082561D904139B95C4DA70A5AB6412527B97CEDA04C6FB00BE1E44537706FF2</ciphertext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>RSA CRT test vector 2 (RSADecryptVectorCRT)</actionname>
+	<actiontype>RSADecryptVectorCRT</actiontype>
+	<actionbody>
+		<modulus>BBF82F090682CE9C2338AC2B9DA871F7368D07EED41043A440D6B6F07454F51FB8DFBAAF035C02AB61EA48CEEB6FCD4876ED520D60E1EC4619719D8A5B8B807FAFB8E0A3DFC737723EE6B4B7D93A2584EE6A649D060953748834B2454598394EE0AAB12D7B61A51F527A9A41F6C1687FE2537298CA2A8F5946F8E5FD091DBDCB</modulus>
+		<P>EECFAE81B1B9B3C908810B10A1B5600199EB9F44AEF4FDA493B81A9E3D84F632124EF0236E5D1E3B7E28FAE7AA040A2D5B252176459D1F397541BA2A58FB6599</P>
+		<Q>C97FB1F027F453F6341233EAAAD1D9353F6C42D08866B1D05A0F2035028B9D869840B41666B42E92EA0DA3B43204B5CFCE3352524D0416A5A441E700AF461503</Q>
+		<dP>54494CA63EBA0337E4E24023FCD69A5AEB07DDDC0183A4D0AC9B54B051F2B13ED9490975EAB77414FF59C1F7692E9A2E202B38FC910A474174ADC93C1F67C981</dP>
+		<dQ>471E0290FF0AF0750351B7F878864CA961ADBD3A8A7E991C5C0556A94C3146A7F9803F8F6F8AE342E931FD8AE47A220D1B99A495849807FE39F9245A9836DA3D</dQ>
+		<qInv>B06C4FDABB6301198D265BDBAE9423B380F271F73453885093077FCD39E2119FC98632154F5883B167A967BF402B4E9E2E0F9656E698EA3666EDFB25798039F7</qInv>
+		<ciphertext>4B9C35BC3CA99B3908EF91C91F4D661544B5462CB3079D7B7A610B90039602F080417B049B7F31BAF16A87B59986620EC1BBD791AD30774309C05F0AFA24B0BF1EA1FEAA3A8EFA2C24F5626B8A9C9A157C1018DA54D314E728E2DB75E84FB5E99082561D904139B95C4DA70A5AB6412527B97CEDA04C6FB00BE1E44537706FF2</ciphertext>
+		<plaintext>D436E99569FD32A7C8A05BBC90D32C49</plaintext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+
+///	Not a valid test now CRT is correct. Checked this with cryptopp test case (see exponentiate project for details).
+//<!action>
+//	<!actionname>RSA CRT test vector 2 (RSADecryptVectorCRT) (test a failure)</actionname>
+//	<!actiontype>RSADecryptVectorCRT</actiontype>
+//	<!actionbody>
+//		<!modulus>EF6419DC54EC49B7D0524BA675727F6D895A66A9940F3C76B6220A5B9073357D70702C9FC2D6ECA41448356CE562F7FFAF1DA64BA947274BA0D372F5866B69CB</modulus>
+//		<!P>FB4F79F4E8C816B816A817120901AED45D0FD72F3DC4BA6946F790776E8A5845</P>
+//		<!Q>F3DBAF51B232E334964581AE27DE17BFF90A66AE84C2BE95574082880BFF82CF</Q>
+//		<!dP>63D8A1C5B22EBD080AC861D2228DEE9E251344155ADF2C88E34F3CB096D49459</dP>
+//		<!dQ>F145A87EC23B0B059AB08690132DF07DA61F9E5C894A4D5A610B989A9694658D</dQ>
+//		<!qInv>4B8869676360EDC92F0B02F0B93580A570686E7EA3C7D39A5E572AB79314CCBD</qInv>
+//		<!ciphertext>2EAEAE1F07AAD1D3A14C2178397DFECD91C92E963511BE5CDDE8BCA79B47ECEF68F8DD2F8240DE2E05E90E2A75FAA6495CE903DE413D332CFDD2DD83BC8244C5</ciphertext>
+//		<!plaintext>123456789ABCDEF123456789ABCDEF123456789ABCDEF123456789ABCDEF</plaintext>
+//	<!/actionbody>
+//	<!actionresult>
+//		<!return>KErrCorrupt</return>
+//		<!result>EFalse</result>
+//	<!/actionresult>
+//<!/action>
+
+<action>
+	<actionname>512 bit rsa key, self encrypt test 1</actionname>
+	<actiontype>RSAEncryptStandardAndCRTFB</actiontype>
+	<actionbody>
+			<cryptotype>EStandard</cryptotype>
+			<input>123456789ABCDEF123456789ABCDEF</input>
+			<keybits>512</keybits>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>512 bit rsa key, self encrypt test 2</actionname>
+	<actiontype>RSAEncryptStandardAndCRTFB</actiontype>
+	<actionbody>
+			<cryptotype>EStandard</cryptotype>
+			<input>123456789ABCDEF123456789ABCDEF123456789ABCDEF123456789ABCDEF</input>
+			<keybits>512</keybits>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>512 bit rsa key, self encrypt test 3</actionname>
+	<actiontype>RSAEncryptStandardAndCRTFB</actiontype>
+	<actionbody>
+			<cryptotype>EStandard</cryptotype>
+			<input>123456789ABCDEFEDCBA987654321123456789ABCDEFEDCBA987654321123456789ABCDEFEDCBA987654321123456789ABCDEFEDCB</input>
+			<keybits>512</keybits>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA CRT test vector 3 (RSADecryptVectorCRT) m2 larger than m1 which tests negative division/modulus handling</actionname>
+	<actiontype>RSASignVectorCRT</actiontype>
+	<actionbody>
+		<modulus>AC4D079775B5503FDDE7DF189335DB52A11E0C9981A2C4892BA3BE8D3B5A813F30BAC136C942252E66C68098D6600192A83A78FBFC7BD55DA22F6427359CA279</modulus>
+		<P>E3413E7967388F84C054552833603BAF82339DC5B7B5DDF632183E8B6FAA9307</P>
+		<Q>C21851414A173FF6A37B4097A1FE3D6B5C9ADA3A9C249E2F11B851FD5A0E3E7F</Q>
+		<dP>719D83DB74549DC413D7D5BF44783F3ECECC797B890E3ECB405E489EB39446EF</dP>
+		<dQ>A96CBEA8E63ACB4BC8C292CC89CC3AE2D7B0186466DE13F2745E57BB767BCE93</dQ>
+		<qInv>D868F46433CB12A6EE2C71B3614FE0C9BC99A9FA6EF9196E871115D95DB26E8F</qInv>
+		<digestInfo>3020300C06082A864886F70D0202050004101D32DE009F9C56EA4636D39AAFFDAEA1</digestInfo>
+		<signature>062ED0C392531F86DF4612353CEF902477CBDC30F61D859626EAB8B61F613D5C793C10FB9552CC20EBB34BE1E6C7AA440E5631536203E4111E215A625F2801F5</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>512 bit rsa key, self encrypt test 1 (CRT)</actionname>
+	<actiontype>RSAEncryptStandardAndCRTFB</actiontype>
+	<actionbody>
+			<cryptotype>EStandardCRT</cryptotype>
+			<input>123456789ABCDEF123456789ABCDEF</input>
+			<keybits>512</keybits>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>512 bit rsa key, self encrypt test 2 (CRT)</actionname>
+	<actiontype>RSAEncryptStandardAndCRTFB</actiontype>
+	<actionbody>
+			<cryptotype>EStandardCRT</cryptotype>
+			<input>123456789ABCDEF123456789ABCDEF123456789ABCDEF123456789ABCDEF</input>
+			<keybits>512</keybits>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>512 bit rsa key, self encrypt test 3 (CRT)</actionname>
+	<actiontype>RSAEncryptStandardAndCRTFB</actiontype>
+	<actionbody>
+			<cryptotype>EStandardCRT</cryptotype>
+			<input>123456789ABCDEFEDCBA987654321123456789ABCDEFEDCBA987654321123456789ABCDEFEDCBA987654321123456789ABCDEFEDCB</input>
+			<keybits>512</keybits>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>512 bit rsa key, self sign test 1</actionname>
+	<actiontype>RSASignStandardAndCRTFB</actiontype>
+	<actionbody>
+			<cryptotype>EStandard</cryptotype>
+			<input>123456789ABCDEF123456789ABCDEF</input>
+			<keybits>512</keybits>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>***NEW*** CRT self sign 512 bit rsa key, test 1</actionname>
+	<actiontype>RSASignStandardAndCRTFB</actiontype>
+	<actionbody>
+			<cryptotype>EStandardCRT</cryptotype>
+			<input>123456789ABCDEF123456789ABCDEF</input>
+			<keybits>512</keybits>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>***NEW*** CRT self sign 512 bit rsa key, test 2</actionname>
+	<actiontype>RSASignStandardAndCRTFB</actiontype>
+	<actionbody>
+			<cryptotype>EStandardCRT</cryptotype>
+			<input>123456789ABCDEFFEDCBA987654321</input>
+			<keybits>512</keybits>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>***NEW*** CRT self sign 512 bit rsa key, test 3</actionname>
+	<actiontype>RSASignStandardAndCRTFB</actiontype>
+	<actionbody>
+			<cryptotype>EStandardCRT</cryptotype>
+			<input>123456789ABCDEF123456789ABCDEF123456789ABCDEF123456789ABCDEF</input>
+			<keybits>512</keybits>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>***NEW*** CRT self sign 512 bit rsa key, test 4</actionname>
+	<actiontype>RSASignStandardAndCRTFB</actiontype>
+	<actionbody>
+			<cryptotype>EStandardCRT</cryptotype>
+			<input>123456789ABCDEFEDCBA987654321123456789ABCDEFEDCBA987654321123456789ABCDEFEDCBA987654321123456789ABCDEFEDCBA987654321</input>
+			<keybits>512</keybits>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 1 (RSAEncryptVector)</actionname>
+	<actiontype>RSAEncryptVector</actiontype>
+	<actionbody>
+		<modulus>AA36ABCE88ACFDFF55523C7FC4523F90EFA00DF3774A259F2E62B4C5D99CB5ADB300A0285E5301930E0C70FB6876939CE616CE624A11E0086D341EBCACA0A1F5</modulus>
+		<publicExponent>11</publicExponent>
+		<plaintext>54859B342C49EA2A</plaintext>
+		<ciphertext>1C1AF0EF61C813383F7204D64A56E4BDF903D25D2A2B3A393DD8447E6CB81B6F0AC0E670DEE1505AC2E526D2429C2355A27E9BE18E9A5A54CF4BE8D89756A039</ciphertext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 2 (RSADecryptVector)</actionname>
+	<actiontype>RSADecryptVector</actiontype>
+	<actionbody>
+		<modulus>AA36ABCE88ACFDFF55523C7FC4523F90EFA00DF3774A259F2E62B4C5D99CB5ADB300A0285E5301930E0C70FB6876939CE616CE624A11E0086D341EBCACA0A1F5</modulus>
+		<privateExponent>0A033748626487695F5F30BC38B98B44C2CD2DFF434098CD20D8A138D090BF64797C3FA7A2CDCB3CD1E0BDBA2654B4F9DF8E8AE59D733D9F33B301624AFD1D51</privateExponent>
+		<ciphertext>1C1AF0EF61C813383F7204D64A56E4BDF903D25D2A2B3A393DD8447E6CB81B6F0AC0E670DEE1505AC2E526D2429C2355A27E9BE18E9A5A54CF4BE8D89756A039</ciphertext>
+		<plaintext>54859B342C49EA2A</plaintext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 3 (RSAEncryptVector)</actionname>
+	<actiontype>RSAEncryptVector</actiontype>
+	<actionbody>
+		<modulus>A3079A90DF0DFD72AC090CCC2A78B87413133E40759C98FAF8204F358A0B263C6770E783A93B6971B73779D2717BE83477CF</modulus>
+		<publicExponent>03</publicExponent>
+		<plaintext>54859B342C49EA2A</plaintext>
+		<ciphertext>6A572306B13C00C2D442E1B45A1719F21DC6A3B9810CD6BBA8B945A031054BC2E47BAB0DBB9BFBD3540D5745BF8EDE7B88A9</ciphertext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 4 (RSADecryptVector)</actionname>
+	<actiontype>RSADecryptVector</actiontype>
+	<actionbody>
+		<modulus>A3079A90DF0DFD72AC090CCC2A78B87413133E40759C98FAF8204F358A0B263C6770E783A93B6971B73779D2717BE83477CF</modulus>
+		<privateExponent>6CAFBC6094B3FE4C72B0B332C6FB25A2B76229804E6865FCA45A74DF0F8FB8413B52C0D0E53D9B590FF19BE79F49DD21E5EB</privateExponent>
+		<ciphertext>6A572306B13C00C2D442E1B45A1719F21DC6A3B9810CD6BBA8B945A031054BC2E47BAB0DBB9BFBD3540D5745BF8EDE7B88A9</ciphertext>
+		<plaintext>54859B342C49EA2A</plaintext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 5 (RSAEncryptVector)</actionname>
+	<actiontype>RSAEncryptVector</actiontype>
+	<actionbody>
+		<modulus>A3504534C29C59CA9A34CBB95A18D435FE66FBC7DECD572B91C80F72EE0786D4DD92F8B8416D54BDE12DF2E83F8DC9B1642980BD31852650A5A8F6D6D8C6A9BE965B34FE7659AC5DD372AB91277B2C9CEB797C4B4B5888E33C0D2CFBE9AAD53E158475ED88884D5DCC663AF5AAA62030E3799FAA1FA47AB2665208597F358497</modulus>
+		<publicExponent>010001</publicExponent>
+		<plaintext>54859B342C49EA2A</plaintext>
+		<ciphertext>31A8C19C6BF5FBB637B4523016DB47C2FB596D60F0465A49C8854F461DE2ACE0A84598E6B3792612DE30032C0A7BAB75D0F3C6A0F83CBA5B36BDFCDD3B6BDDDEA8BCCB7ADBBB0FE332B4E897B5EEC85514A654709653A956410F13C86CB2E7F27EA09EB8D169844D1C1909A34DA43F752B24338157C64216F98535B58334CD7A</ciphertext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 6 (RSADecryptVector)</actionname>
+	<actiontype>RSADecryptVector</actiontype>
+	<actionbody>
+		<modulus>A3504534C29C59CA9A34CBB95A18D435FE66FBC7DECD572B91C80F72EE0786D4DD92F8B8416D54BDE12DF2E83F8DC9B1642980BD31852650A5A8F6D6D8C6A9BE965B34FE7659AC5DD372AB91277B2C9CEB797C4B4B5888E33C0D2CFBE9AAD53E158475ED88884D5DCC663AF5AAA62030E3799FAA1FA47AB2665208597F358497</modulus>
+		<privateExponent>85B3B3D4EBF6C0F443A7319A7F8E903DDC1747CE6C33C447E143DE9203199A632F3BA1F0877010CE9B49D8F21705E7B818FE796D6ADB4D70FD0F0577036631948DD21FFE77157AAF978857E4358DED82B58CC85F5EF70480FFD7BE0848DAFB983543B2E867F83155084D8541A14B5EA6CF5FCB651127B2C64383114F02A14CB1</privateExponent>
+		<ciphertext>31A8C19C6BF5FBB637B4523016DB47C2FB596D60F0465A49C8854F461DE2ACE0A84598E6B3792612DE30032C0A7BAB75D0F3C6A0F83CBA5B36BDFCDD3B6BDDDEA8BCCB7ADBBB0FE332B4E897B5EEC85514A654709653A956410F13C86CB2E7F27EA09EB8D169844D1C1909A34DA43F752B24338157C64216F98535B58334CD7A</ciphertext>
+		<plaintext>54859B342C49EA2A</plaintext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 7 (RSAEncryptVector)</actionname>
+	<actiontype>RSAEncryptVector</actiontype>
+	<actionbody>
+		<modulus>AA36ABCE88ACFDFF55523C7FC4523F90EFA00DF3774A259F2E62B4C5D99CB5ADB300A0285E5301930E0C70FB6876939CE616CE624A11E0086D341EBCACA0A1F5</modulus>
+		<publicExponent>11</publicExponent>
+		<plaintext>47AB927609FD75A7E20885EB7E4CFF0A</plaintext>
+		<ciphertext>3E479CDAE2775909FF36C72BB0E49C9368DE432DD4819789633FA3117AEDE13AAFEC7D0AC49FF5269C4E9581D951DC07CFDCA0A29D3FAB61EF7B3B71A24FE0CD</ciphertext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 8 (RSADecryptVector)</actionname>
+	<actiontype>RSADecryptVector</actiontype>
+	<actionbody>
+		<modulus>AA36ABCE88ACFDFF55523C7FC4523F90EFA00DF3774A259F2E62B4C5D99CB5ADB300A0285E5301930E0C70FB6876939CE616CE624A11E0086D341EBCACA0A1F5</modulus>
+		<privateExponent>0A033748626487695F5F30BC38B98B44C2CD2DFF434098CD20D8A138D090BF64797C3FA7A2CDCB3CD1E0BDBA2654B4F9DF8E8AE59D733D9F33B301624AFD1D51</privateExponent>
+		<ciphertext>3E479CDAE2775909FF36C72BB0E49C9368DE432DD4819789633FA3117AEDE13AAFEC7D0AC49FF5269C4E9581D951DC07CFDCA0A29D3FAB61EF7B3B71A24FE0CD</ciphertext>
+		<plaintext>47AB927609FD75A7E20885EB7E4CFF0A</plaintext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 9 (RSAEncryptVector)</actionname>
+	<actiontype>RSAEncryptVector</actiontype>
+	<actionbody>
+		<modulus>A3079A90DF0DFD72AC090CCC2A78B87413133E40759C98FAF8204F358A0B263C6770E783A93B6971B73779D2717BE83477CF</modulus>
+		<publicExponent>03</publicExponent>
+		<plaintext>47AB927609FD75A7E20885EB7E4CFF0A</plaintext>
+		<ciphertext>811E3047119584FE1810535AD29127F8469EE8249EAB8ED422CAE21816CF1C2B430F800016BAC3A82E25FA730616243787CD</ciphertext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 10 (RSADecryptVector)</actionname>
+	<actiontype>RSADecryptVector</actiontype>
+	<actionbody>
+		<modulus>A3079A90DF0DFD72AC090CCC2A78B87413133E40759C98FAF8204F358A0B263C6770E783A93B6971B73779D2717BE83477CF</modulus>
+		<privateExponent>6CAFBC6094B3FE4C72B0B332C6FB25A2B76229804E6865FCA45A74DF0F8FB8413B52C0D0E53D9B590FF19BE79F49DD21E5EB</privateExponent>
+		<ciphertext>811E3047119584FE1810535AD29127F8469EE8249EAB8ED422CAE21816CF1C2B430F800016BAC3A82E25FA730616243787CD</ciphertext>
+		<plaintext>47AB927609FD75A7E20885EB7E4CFF0A</plaintext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 11 (RSAEncryptVector)</actionname>
+	<actiontype>RSAEncryptVector</actiontype>
+	<actionbody>
+		<modulus>A3504534C29C59CA9A34CBB95A18D435FE66FBC7DECD572B91C80F72EE0786D4DD92F8B8416D54BDE12DF2E83F8DC9B1642980BD31852650A5A8F6D6D8C6A9BE965B34FE7659AC5DD372AB91277B2C9CEB797C4B4B5888E33C0D2CFBE9AAD53E158475ED88884D5DCC663AF5AAA62030E3799FAA1FA47AB2665208597F358497</modulus>
+		<publicExponent>010001</publicExponent>
+		<plaintext>47AB927609FD75A7E20885EB7E4CFF0A</plaintext>
+		<ciphertext>397C86C824FDC6F1D0B966BD21A829D6F62C40F23A9B345486B8EF6C0BCC5EC9A21ECC12BDF477617B0E3E6EE1988B0918092DE46B78B74FD8EF8B1B42C1E32744DAF0D94FBC46D4523271BEE029B1BEF43136EDE8D86A8D1F65CBBCA80538E968F32C1B0F6D1888F3A83514969994CBA8128251D31BBC2C506F9DDEE6B53FD3</ciphertext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 12 (RSADecryptVector)</actionname>
+	<actiontype>RSADecryptVector</actiontype>
+	<actionbody>
+		<modulus>A3504534C29C59CA9A34CBB95A18D435FE66FBC7DECD572B91C80F72EE0786D4DD92F8B8416D54BDE12DF2E83F8DC9B1642980BD31852650A5A8F6D6D8C6A9BE965B34FE7659AC5DD372AB91277B2C9CEB797C4B4B5888E33C0D2CFBE9AAD53E158475ED88884D5DCC663AF5AAA62030E3799FAA1FA47AB2665208597F358497</modulus>
+		<privateExponent>85B3B3D4EBF6C0F443A7319A7F8E903DDC1747CE6C33C447E143DE9203199A632F3BA1F0877010CE9B49D8F21705E7B818FE796D6ADB4D70FD0F0577036631948DD21FFE77157AAF978857E4358DED82B58CC85F5EF70480FFD7BE0848DAFB983543B2E867F83155084D8541A14B5EA6CF5FCB651127B2C64383114F02A14CB1</privateExponent>
+		<ciphertext>397C86C824FDC6F1D0B966BD21A829D6F62C40F23A9B345486B8EF6C0BCC5EC9A21ECC12BDF477617B0E3E6EE1988B0918092DE46B78B74FD8EF8B1B42C1E32744DAF0D94FBC46D4523271BEE029B1BEF43136EDE8D86A8D1F65CBBCA80538E968F32C1B0F6D1888F3A83514969994CBA8128251D31BBC2C506F9DDEE6B53FD3</ciphertext>
+		<plaintext>47AB927609FD75A7E20885EB7E4CFF0A</plaintext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 13 (RSAEncryptVector)</actionname>
+	<actiontype>RSAEncryptVector</actiontype>
+	<actionbody>
+		<modulus>AA36ABCE88ACFDFF55523C7FC4523F90EFA00DF3774A259F2E62B4C5D99CB5ADB300A0285E5301930E0C70FB6876939CE616CE624A11E0086D341EBCACA0A1F5</modulus>
+		<publicExponent>11</publicExponent>
+		<plaintext>0B0A7CEB6C1745531DA724AD438BF74689C39F095E883ED88E04363849C00F41</plaintext>
+		<ciphertext>939AF059CF096A38F696ABF7E903FEE9931059018839AF59F12FD404A56A4A3417339C87BC8EB1A3C9911969948A4C50EF2CE29118AA98DDC0C57F5DD7452E22</ciphertext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 14 (RSADecryptVector)</actionname>
+	<actiontype>RSADecryptVector</actiontype>
+	<actionbody>
+		<modulus>AA36ABCE88ACFDFF55523C7FC4523F90EFA00DF3774A259F2E62B4C5D99CB5ADB300A0285E5301930E0C70FB6876939CE616CE624A11E0086D341EBCACA0A1F5</modulus>
+		<privateExponent>0A033748626487695F5F30BC38B98B44C2CD2DFF434098CD20D8A138D090BF64797C3FA7A2CDCB3CD1E0BDBA2654B4F9DF8E8AE59D733D9F33B301624AFD1D51</privateExponent>
+		<ciphertext>939AF059CF096A38F696ABF7E903FEE9931059018839AF59F12FD404A56A4A3417339C87BC8EB1A3C9911969948A4C50EF2CE29118AA98DDC0C57F5DD7452E22</ciphertext>
+		<plaintext>0B0A7CEB6C1745531DA724AD438BF74689C39F095E883ED88E04363849C00F41</plaintext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 15 (RSAEncryptVector)</actionname>
+	<actiontype>RSAEncryptVector</actiontype>
+	<actionbody>
+		<modulus>A3079A90DF0DFD72AC090CCC2A78B87413133E40759C98FAF8204F358A0B263C6770E783A93B6971B73779D2717BE83477CF</modulus>
+		<publicExponent>03</publicExponent>
+		<plaintext>0B0A7CEB6C1745531DA724AD438BF74689C39F095E883ED88E04363849C00F41</plaintext>
+		<ciphertext>9BFEE36BFB6A5B5A06D8F75F4C36F88BB53A30192968EEB8F0CA9A083766A218DF68A719C1D142990522545B6154C3F3E206</ciphertext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 16 (RSADecryptVector)</actionname>
+	<actiontype>RSADecryptVector</actiontype>
+	<actionbody>
+		<modulus>A3079A90DF0DFD72AC090CCC2A78B87413133E40759C98FAF8204F358A0B263C6770E783A93B6971B73779D2717BE83477CF</modulus>
+		<privateExponent>6CAFBC6094B3FE4C72B0B332C6FB25A2B76229804E6865FCA45A74DF0F8FB8413B52C0D0E53D9B590FF19BE79F49DD21E5EB</privateExponent>
+		<ciphertext>9BFEE36BFB6A5B5A06D8F75F4C36F88BB53A30192968EEB8F0CA9A083766A218DF68A719C1D142990522545B6154C3F3E206</ciphertext>
+		<plaintext>0B0A7CEB6C1745531DA724AD438BF74689C39F095E883ED88E04363849C00F41</plaintext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 17 (RSAEncryptVector)</actionname>
+	<actiontype>RSAEncryptVector</actiontype>
+	<actionbody>
+		<modulus>A3504534C29C59CA9A34CBB95A18D435FE66FBC7DECD572B91C80F72EE0786D4DD92F8B8416D54BDE12DF2E83F8DC9B1642980BD31852650A5A8F6D6D8C6A9BE965B34FE7659AC5DD372AB91277B2C9CEB797C4B4B5888E33C0D2CFBE9AAD53E158475ED88884D5DCC663AF5AAA62030E3799FAA1FA47AB2665208597F358497</modulus>
+		<publicExponent>010001</publicExponent>
+		<plaintext>0B0A7CEB6C1745531DA724AD438BF74689C39F095E883ED88E04363849C00F41</plaintext>
+		<ciphertext>9B20439E8572CFFC1218B6CCFBEEB46BEAE8F53C49BA2CE09E9023F3C5E3B73ECC9B5B388972BA018FE4D34F12B7674239A4EAF76A7D712B2B67EFDA0A0C992438B0A25CE7C9ED56F5E8AF6AABC7B94C55D0F4524750B9194E7C2210239448A90C59AC4AECBEE1660D02F24B2AA46B6C8C3D61344049327C964A137D4FBA91DF</ciphertext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 18 (RSADecryptVector)</actionname>
+	<actiontype>RSADecryptVector</actiontype>
+	<actionbody>
+		<modulus>A3504534C29C59CA9A34CBB95A18D435FE66FBC7DECD572B91C80F72EE0786D4DD92F8B8416D54BDE12DF2E83F8DC9B1642980BD31852650A5A8F6D6D8C6A9BE965B34FE7659AC5DD372AB91277B2C9CEB797C4B4B5888E33C0D2CFBE9AAD53E158475ED88884D5DCC663AF5AAA62030E3799FAA1FA47AB2665208597F358497</modulus>
+		<privateExponent>85B3B3D4EBF6C0F443A7319A7F8E903DDC1747CE6C33C447E143DE9203199A632F3BA1F0877010CE9B49D8F21705E7B818FE796D6ADB4D70FD0F0577036631948DD21FFE77157AAF978857E4358DED82B58CC85F5EF70480FFD7BE0848DAFB983543B2E867F83155084D8541A14B5EA6CF5FCB651127B2C64383114F02A14CB1</privateExponent>
+		<ciphertext>9B20439E8572CFFC1218B6CCFBEEB46BEAE8F53C49BA2CE09E9023F3C5E3B73ECC9B5B388972BA018FE4D34F12B7674239A4EAF76A7D712B2B67EFDA0A0C992438B0A25CE7C9ED56F5E8AF6AABC7B94C55D0F4524750B9194E7C2210239448A90C59AC4AECBEE1660D02F24B2AA46B6C8C3D61344049327C964A137D4FBA91DF</ciphertext>
+		<plaintext>0B0A7CEB6C1745531DA724AD438BF74689C39F095E883ED88E04363849C00F41</plaintext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 19 (RSAEncryptVector)</actionname>
+	<actiontype>RSAEncryptVector</actiontype>
+	<actionbody>
+		<modulus>AA36ABCE88ACFDFF55523C7FC4523F90EFA00DF3774A259F2E62B4C5D99CB5ADB300A0285E5301930E0C70FB6876939CE616CE624A11E0086D341EBCACA0A1F5</modulus>
+		<publicExponent>11</publicExponent>
+		<plaintext>23</plaintext>
+		<ciphertext>72BA7B987C4DBF1611B781F321498FDBA3962E0B62F502A726B17CE511984B771F474C23F9F6532A1FDC30C160596D83A13198CCCE6EC4E22A204977682FDD2D</ciphertext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 20 (RSADecryptVector)</actionname>
+	<actiontype>RSADecryptVector</actiontype>
+	<actionbody>
+		<modulus>AA36ABCE88ACFDFF55523C7FC4523F90EFA00DF3774A259F2E62B4C5D99CB5ADB300A0285E5301930E0C70FB6876939CE616CE624A11E0086D341EBCACA0A1F5</modulus>
+		<privateExponent>0A033748626487695F5F30BC38B98B44C2CD2DFF434098CD20D8A138D090BF64797C3FA7A2CDCB3CD1E0BDBA2654B4F9DF8E8AE59D733D9F33B301624AFD1D51</privateExponent>
+		<ciphertext>72BA7B987C4DBF1611B781F321498FDBA3962E0B62F502A726B17CE511984B771F474C23F9F6532A1FDC30C160596D83A13198CCCE6EC4E22A204977682FDD2D</ciphertext>
+		<plaintext>23</plaintext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 21 (RSAEncryptVector)</actionname>
+	<actiontype>RSAEncryptVector</actiontype>
+	<actionbody>
+		<modulus>A3079A90DF0DFD72AC090CCC2A78B87413133E40759C98FAF8204F358A0B263C6770E783A93B6971B73779D2717BE83477CF</modulus>
+		<publicExponent>03</publicExponent>
+		<plaintext>23</plaintext>
+		<ciphertext>41DDDCD534E5716F20C21FED7F93B64802A55180E8896D2B770721A48FC4C2C3E67E5CDCD552C8F5782D8CA318A338170648</ciphertext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 22 (RSADecryptVector)</actionname>
+	<actiontype>RSADecryptVector</actiontype>
+	<actionbody>
+		<modulus>A3079A90DF0DFD72AC090CCC2A78B87413133E40759C98FAF8204F358A0B263C6770E783A93B6971B73779D2717BE83477CF</modulus>
+		<privateExponent>6CAFBC6094B3FE4C72B0B332C6FB25A2B76229804E6865FCA45A74DF0F8FB8413B52C0D0E53D9B590FF19BE79F49DD21E5EB</privateExponent>
+		<ciphertext>41DDDCD534E5716F20C21FED7F93B64802A55180E8896D2B770721A48FC4C2C3E67E5CDCD552C8F5782D8CA318A338170648</ciphertext>
+		<plaintext>23</plaintext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 23 (RSAEncryptVector)</actionname>
+	<actiontype>RSAEncryptVector</actiontype>
+	<actionbody>
+		<modulus>A3504534C29C59CA9A34CBB95A18D435FE66FBC7DECD572B91C80F72EE0786D4DD92F8B8416D54BDE12DF2E83F8DC9B1642980BD31852650A5A8F6D6D8C6A9BE965B34FE7659AC5DD372AB91277B2C9CEB797C4B4B5888E33C0D2CFBE9AAD53E158475ED88884D5DCC663AF5AAA62030E3799FAA1FA47AB2665208597F358497</modulus>
+		<publicExponent>010001</publicExponent>
+		<plaintext>23</plaintext>
+		<ciphertext>59B7E7F8DB3D1E9BD58E1AB534F5D2CB9D28CF03BF8FC468F488940380CDF853DA52B10BAB8D0046A296E5EC98830EC350605185EF6A4C290A087DEEB4BD990996733B7161685C2A8971B6214B8F84A521B0AB5709A21C8C9D7A847C73E34865AFC3CA8B5EF85D720AE370E6147FC22206ACA77CFCE5A0FC46ACD9F446DE537A</ciphertext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 24 (RSADecryptVector)</actionname>
+	<actiontype>RSADecryptVector</actiontype>
+	<actionbody>
+		<modulus>A3504534C29C59CA9A34CBB95A18D435FE66FBC7DECD572B91C80F72EE0786D4DD92F8B8416D54BDE12DF2E83F8DC9B1642980BD31852650A5A8F6D6D8C6A9BE965B34FE7659AC5DD372AB91277B2C9CEB797C4B4B5888E33C0D2CFBE9AAD53E158475ED88884D5DCC663AF5AAA62030E3799FAA1FA47AB2665208597F358497</modulus>
+		<privateExponent>85B3B3D4EBF6C0F443A7319A7F8E903DDC1747CE6C33C447E143DE9203199A632F3BA1F0877010CE9B49D8F21705E7B818FE796D6ADB4D70FD0F0577036631948DD21FFE77157AAF978857E4358DED82B58CC85F5EF70480FFD7BE0848DAFB983543B2E867F83155084D8541A14B5EA6CF5FCB651127B2C64383114F02A14CB1</privateExponent>
+		<ciphertext>59B7E7F8DB3D1E9BD58E1AB534F5D2CB9D28CF03BF8FC468F488940380CDF853DA52B10BAB8D0046A296E5EC98830EC350605185EF6A4C290A087DEEB4BD990996733B7161685C2A8971B6214B8F84A521B0AB5709A21C8C9D7A847C73E34865AFC3CA8B5EF85D720AE370E6147FC22206ACA77CFCE5A0FC46ACD9F446DE537A</ciphertext>
+		<plaintext>23</plaintext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 25 (RSAEncryptVector)</actionname>
+	<actiontype>RSAEncryptVector</actiontype>
+	<actionbody>
+		<modulus>AA36ABCE88ACFDFF55523C7FC4523F90EFA00DF3774A259F2E62B4C5D99CB5ADB300A0285E5301930E0C70FB6876939CE616CE624A11E0086D341EBCACA0A1F5</modulus>
+		<publicExponent>11</publicExponent>
+		<plaintext>6679F38482069906CDF1DF3FDDB537744676BA0DB8D682B6826F31B1D8230CCA4E392877053FAC5A13FF3A39352EAFB185E4D060F4</plaintext>
+		<ciphertext>403325E9263F5CDBD03FAE2E5D6CDF884E8B2F5AE8D0AEBD27C950E4D69C9499B0A5435B0024CE35B92383F1E864C6426A97AC6DAC42EA70AEE000C7B9ECA83F</ciphertext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 26 (RSADecryptVector)</actionname>
+	<actiontype>RSADecryptVector</actiontype>
+	<actionbody>
+		<modulus>AA36ABCE88ACFDFF55523C7FC4523F90EFA00DF3774A259F2E62B4C5D99CB5ADB300A0285E5301930E0C70FB6876939CE616CE624A11E0086D341EBCACA0A1F5</modulus>
+		<privateExponent>0A033748626487695F5F30BC38B98B44C2CD2DFF434098CD20D8A138D090BF64797C3FA7A2CDCB3CD1E0BDBA2654B4F9DF8E8AE59D733D9F33B301624AFD1D51</privateExponent>
+		<ciphertext>403325E9263F5CDBD03FAE2E5D6CDF884E8B2F5AE8D0AEBD27C950E4D69C9499B0A5435B0024CE35B92383F1E864C6426A97AC6DAC42EA70AEE000C7B9ECA83F</ciphertext>
+		<plaintext>6679F38482069906CDF1DF3FDDB537744676BA0DB8D682B6826F31B1D8230CCA4E392877053FAC5A13FF3A39352EAFB185E4D060F4</plaintext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 27 (RSAEncryptVector)</actionname>
+	<actiontype>RSAEncryptVector</actiontype>
+	<actionbody>
+		<modulus>A3079A90DF0DFD72AC090CCC2A78B87413133E40759C98FAF8204F358A0B263C6770E783A93B6971B73779D2717BE83477CF</modulus>
+		<publicExponent>03</publicExponent>
+		<plaintext>CDA22C4B6A20000EADAD74BDB304BDC5727302119D6D3775665AF2E6476579807C92EC09F533EA</plaintext>
+		<ciphertext>0C2EF71B3106368FEB8CA6B0542480372423058C40BDE47C7DD5E828A8E16DE588324DE8C4035AF6CAE44F24B89097324FBF</ciphertext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 28 (RSADecryptVector)</actionname>
+	<actiontype>RSADecryptVector</actiontype>
+	<actionbody>
+		<modulus>A3079A90DF0DFD72AC090CCC2A78B87413133E40759C98FAF8204F358A0B263C6770E783A93B6971B73779D2717BE83477CF</modulus>
+		<privateExponent>6CAFBC6094B3FE4C72B0B332C6FB25A2B76229804E6865FCA45A74DF0F8FB8413B52C0D0E53D9B590FF19BE79F49DD21E5EB</privateExponent>
+		<ciphertext>0C2EF71B3106368FEB8CA6B0542480372423058C40BDE47C7DD5E828A8E16DE588324DE8C4035AF6CAE44F24B89097324FBF</ciphertext>
+		<plaintext>CDA22C4B6A20000EADAD74BDB304BDC5727302119D6D3775665AF2E6476579807C92EC09F533EA</plaintext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 29 (RSAEncryptVector)</actionname>
+	<actiontype>RSAEncryptVector</actiontype>
+	<actionbody>
+		<modulus>A3504534C29C59CA9A34CBB95A18D435FE66FBC7DECD572B91C80F72EE0786D4DD92F8B8416D54BDE12DF2E83F8DC9B1642980BD31852650A5A8F6D6D8C6A9BE965B34FE7659AC5DD372AB91277B2C9CEB797C4B4B5888E33C0D2CFBE9AAD53E158475ED88884D5DCC663AF5AAA62030E3799FAA1FA47AB2665208597F358497</modulus>
+		<publicExponent>010001</publicExponent>
+		<plaintext>0E2561AF55EB9C10904FD427FD0D1DF438BD9ED0C71C480B50A1D3F1B4DBBA2D0081596E61433550F95F7020B247487F32F7E82E50C180454B5CF8456AA00F33F1EC9AB179F5CC921C3012B0557B490693A8305A68798A219AD76870F8A1F10A528575F92D26D31B37DCDC608777CB9757004FF181</plaintext>
+		<ciphertext>2D3CD1EAE8BC3AF7D85B57937CBBBEC362486FA1FD7161F7085597D0670AFF84DE33ADEE71AEC4AA3717876E12FBF76286E0AB0428729169977EE6FEDF108CC37BB991AC059B8E80323199CDA22FB29CA7FD93CFD1416B94D6491FCF63C39B715B129101251E295E0A089450163D8470A8573EF459492C135C2BE9B0C5D48D96</ciphertext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 30 (RSADecryptVector)</actionname>
+	<actiontype>RSADecryptVector</actiontype>
+	<actionbody>
+		<modulus>A3504534C29C59CA9A34CBB95A18D435FE66FBC7DECD572B91C80F72EE0786D4DD92F8B8416D54BDE12DF2E83F8DC9B1642980BD31852650A5A8F6D6D8C6A9BE965B34FE7659AC5DD372AB91277B2C9CEB797C4B4B5888E33C0D2CFBE9AAD53E158475ED88884D5DCC663AF5AAA62030E3799FAA1FA47AB2665208597F358497</modulus>
+		<privateExponent>85B3B3D4EBF6C0F443A7319A7F8E903DDC1747CE6C33C447E143DE9203199A632F3BA1F0877010CE9B49D8F21705E7B818FE796D6ADB4D70FD0F0577036631948DD21FFE77157AAF978857E4358DED82B58CC85F5EF70480FFD7BE0848DAFB983543B2E867F83155084D8541A14B5EA6CF5FCB651127B2C64383114F02A14CB1</privateExponent>
+		<ciphertext>2D3CD1EAE8BC3AF7D85B57937CBBBEC362486FA1FD7161F7085597D0670AFF84DE33ADEE71AEC4AA3717876E12FBF76286E0AB0428729169977EE6FEDF108CC37BB991AC059B8E80323199CDA22FB29CA7FD93CFD1416B94D6491FCF63C39B715B129101251E295E0A089450163D8470A8573EF459492C135C2BE9B0C5D48D96</ciphertext>
+		<plaintext>0E2561AF55EB9C10904FD427FD0D1DF438BD9ED0C71C480B50A1D3F1B4DBBA2D0081596E61433550F95F7020B247487F32F7E82E50C180454B5CF8456AA00F33F1EC9AB179F5CC921C3012B0557B490693A8305A68798A219AD76870F8A1F10A528575F92D26D31B37DCDC608777CB9757004FF181</plaintext>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 31 (test a failure) (RSAEncryptVector)</actionname>
+	<actiontype>RSAEncryptVector</actiontype>
+	<actionbody>
+		<modulus>AA36ABCE88ACFDFF55523C7FC4523F90EFA00DF3774A259F2E62B4C5D99CB5ADB300A0285E5301930E0C70FB6876939CE616CE624A11E0086D341EBCACA0A1F5</modulus>
+		<publicExponent>11</publicExponent>
+		<plaintext>54859B342C49EA2A</plaintext>
+		<ciphertext>1C1BF2EC65CD153F377B0EDD465BEAB2E912C04E3E3E2C2E25C15E6570A505702AE1C453FAC4767DEACC0CF96EB10D7A924FA9D2BAAF6C63F772D2E3AB6B9E06</ciphertext>
+	</actionbody>
+	<actionresult>
+		<result>EFalse</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 32 (test a failure) (RSADecryptVector)</actionname>
+	<actiontype>RSADecryptVector</actiontype>
+	<actionbody>
+		<modulus>AA36ABCE88ACFDFF55523C7FC4523F90EFA00DF3774A259F2E62B4C5D99CB5ADB300A0285E5301930E0C70FB6876939CE616CE624A11E0086D341EBCACA0A1F5</modulus>
+		<privateExponent>0A033748626487695F5F30BC38B98B44C2CD2DFF434098CD20D8A138D090BF64797C3FA7A2CDCB3CD1E0BDBA2654B4F9DF8E8AE59D733D9F33B301624AFD1D51</privateExponent>
+		<ciphertext>1C1BF2EC65CD153F377B0EDD465BEAB2E912C04E3E3E2C2E25C15E6570A505702AE1C453FAC4767DEACC0CF96EB10D7A924FA9D2BAAF6C63F772D2E3AB6B9E06</ciphertext>
+		<plaintext>54859B342C49EA2A</plaintext>
+	</actionbody>
+	<actionresult>
+		<result>EFalse</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 33 (test a failure) (RSAEncryptVector)</actionname>
+	<actiontype>RSAEncryptVector</actiontype>
+	<actionbody>
+		<modulus>A3079A90DF0DFD72AC090CCC2A78B87413133E40759C98FAF8204F358A0B263C6770E783A93B6971B73779D2717BE83477CF</modulus>
+		<publicExponent>03</publicExponent>
+		<plaintext>54859B342C49EA2A</plaintext>
+		<ciphertext>6A562105B53906C5DC4BEBBF561A17FD0DD7B1AA9519C0ACB0A05FBB2D1855DDC45A892E9FBEDDF47C247D6E93A3F054B898</ciphertext>
+	</actionbody>
+	<actionresult>
+		<result>EFalse</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 34 (test a failure) (RSADecryptVector)</actionname>
+	<actiontype>RSADecryptVector</actiontype>
+	<actionbody>
+		<modulus>A3079A90DF0DFD72AC090CCC2A78B87413133E40759C98FAF8204F358A0B263C6770E783A93B6971B73779D2717BE83477CF</modulus>
+		<privateExponent>6CAFBC6094B3FE4C72B0B332C6FB25A2B76229804E6865FCA45A74DF0F8FB8413B52C0D0E53D9B590FF19BE79F49DD21E5EB</privateExponent>
+		<ciphertext>6A562105B53906C5DC4BEBBF561A17FD0DD7B1AA9519C0ACB0A05FBB2D1855DDC45A892E9FBEDDF47C247D6E93A3F054B898</ciphertext>
+		<plaintext>54859B342C49EA2A</plaintext>
+	</actionbody>
+	<actionresult>
+		<result>EFalse</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 35 (test a failure) (RSAEncryptVector)</actionname>
+	<actiontype>RSAEncryptVector</actiontype>
+	<actionbody>
+		<modulus>A3504534C29C59CA9A34CBB95A18D435FE66FBC7DECD572B91C80F72EE0786D4DD92F8B8416D54BDE12DF2E83F8DC9B1642980BD31852650A5A8F6D6D8C6A9BE965B34FE7659AC5DD372AB91277B2C9CEB797C4B4B5888E33C0D2CFBE9AAD53E158475ED88884D5DCC663AF5AAA62030E3799FAA1FA47AB2665208597F358497</modulus>
+		<publicExponent>010001</publicExponent>
+		<plaintext>54859B342C49EA2A</plaintext>
+		<ciphertext>31A9C39F6FF0FDB13FBD583B1AD649CDEB487F73E4534C5ED09C555D01FFB2FF8864BAC5975C0035F61929072656855AE0C2F493CC098C6C0E84C6E60756E3E1E8FD89399FFE49A47AFDA2DCF9A3861A44F70623C206FF011956499330EFB9AD1EC1FCDBB50CE22A747063C821C9511A5B5541F223B3346181FC4FCEFF49B305</ciphertext>
+	</actionbody>
+	<actionresult>
+		<result>EFalse</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 36 (test a failure) (RSADecryptVector)</actionname>
+	<actiontype>RSADecryptVector</actiontype>
+	<actionbody>
+		<modulus>A3504534C29C59CA9A34CBB95A18D435FE66FBC7DECD572B91C80F72EE0786D4DD92F8B8416D54BDE12DF2E83F8DC9B1642980BD31852650A5A8F6D6D8C6A9BE965B34FE7659AC5DD372AB91277B2C9CEB797C4B4B5888E33C0D2CFBE9AAD53E158475ED88884D5DCC663AF5AAA62030E3799FAA1FA47AB2665208597F358497</modulus>
+		<privateExponent>85B3B3D4EBF6C0F443A7319A7F8E903DDC1747CE6C33C447E143DE9203199A632F3BA1F0877010CE9B49D8F21705E7B818FE796D6ADB4D70FD0F0577036631948DD21FFE77157AAF978857E4358DED82B58CC85F5EF70480FFD7BE0848DAFB983543B2E867F83155084D8541A14B5EA6CF5FCB651127B2C64383114F02A14CB1</privateExponent>
+		<ciphertext>31A9C39F6FF0FDB13FBD583B1AD649CDEB487F73E4534C5ED09C555D01FFB2FF8864BAC5975C0035F61929072656855AE0C2F493CC098C6C0E84C6E60756E3E1E8FD89399FFE49A47AFDA2DCF9A3861A44F70623C206FF011956499330EFB9AD1EC1FCDBB50CE22A747063C821C9511A5B5541F223B3346181FC4FCEFF49B305</ciphertext>
+		<plaintext>54859B342C49EA2A</plaintext>
+	</actionbody>
+	<actionresult>
+		<result>EFalse</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 37 (RSASignVector)</actionname>
+	<actiontype>RSASignVector</actiontype>
+	<actionbody>
+		<modulus>AA36ABCE88ACFDFF55523C7FC4523F90EFA00DF3774A259F2E62B4C5D99CB5ADB300A0285E5301930E0C70FB6876939CE616CE624A11E0086D341EBCACA0A1F5</modulus>
+		<privateExponent>0A033748626487695F5F30BC38B98B44C2CD2DFF434098CD20D8A138D090BF64797C3FA7A2CDCB3CD1E0BDBA2654B4F9DF8E8AE59D733D9F33B301624AFD1D51</privateExponent>
+		<digestInfo>54859B342C49EA2A</digestInfo>
+		<signature>786C08484F59280886A19919BECA53711819B2D2DD82D702E2F6DE991DC89CB968C01B1315A742B5BE783A781B5B1286F46DAFE29DE675C64A3BA4781DEF8F19</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 38 (RSAVerifyVector)</actionname>
+	<actiontype>RSAVerifyVector</actiontype>
+	<actionbody>
+		<modulus>AA36ABCE88ACFDFF55523C7FC4523F90EFA00DF3774A259F2E62B4C5D99CB5ADB300A0285E5301930E0C70FB6876939CE616CE624A11E0086D341EBCACA0A1F5</modulus>
+		<publicExponent>11</publicExponent>
+		<digestInfo>54859B342C49EA2A</digestInfo>
+		<signature>786C08484F59280886A19919BECA53711819B2D2DD82D702E2F6DE991DC89CB968C01B1315A742B5BE783A781B5B1286F46DAFE29DE675C64A3BA4781DEF8F19</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+//	Test vector from cryptopp "Everybody gets Friday off"
+<action>
+	<actionname>***NEW*** CRT sign test RSA test vector 37A (RSASignVector)</actionname>
+	<actiontype>RSASignVectorCRT</actiontype>
+	<actionbody>
+		<modulus>0A66791DC6988168DE7AB77419BB7FB0C001C62710270075142942E19A8D8C51D053B3E3782A1DE5DC5AF4EBE99468170114A1DFE67CDC9A9AF55D655620BBAB</modulus>
+		<P>33D48445C859E52340DE704BCDDA065FBB4058D740BD1D67D29E9C146C11CF61</P>
+		<Q>335E8408866B0FD38DC7002D3F972C67389A65D5D8306566D5C4F2A5AA52628B</Q>
+		<dP>045EC90071525325D3D46DB79695E9AFACC4523964360E02B119BAA366316241</dP>
+		<dQ>15EB327360C7B60D12E5E2D16BDCD97981D17FBA6B70DB13B20B436E24EADA59</dQ>
+		<qInv>2CA6366D72781DFA24D34A9A24CBC2AE927A9958AF426563FF63FB11658A461D</qInv>
+		<digestInfo>3020300C06082A864886F70D0202050004101D32DE009F9C56EA4636D39AAFFDAEA1</digestInfo>
+		<signature>05FA6A812FC7DF8BF4F2542509E03E846E11B9C620BE2009EFB440EFBCC669216994AC04F341B57D05202D428FB2A27B5C77DFD9B15BFC3D559353503410C1E1</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>***NEW*** verify CRT sign RSA test vector 37B (RSAVerifyVector)</actionname>
+	<actiontype>RSAVerifyVector</actiontype>
+	<actionbody>
+		<modulus>0A66791DC6988168DE7AB77419BB7FB0C001C62710270075142942E19A8D8C51D053B3E3782A1DE5DC5AF4EBE99468170114A1DFE67CDC9A9AF55D655620BBAB</modulus>
+		<publicExponent>010001</publicExponent>
+		<digestInfo>3020300C06082A864886F70D0202050004101D32DE009F9C56EA4636D39AAFFDAEA1</digestInfo>
+		<signature>05FA6A812FC7DF8BF4F2542509E03E846E11B9C620BE2009EFB440EFBCC669216994AC04F341B57D05202D428FB2A27B5C77DFD9B15BFC3D559353503410C1E1</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>***NEW*** RSA test vector 38A (RSASignVector)</actionname>
+	<actiontype>RSASignVector</actiontype>
+	<actionbody>
+		<modulus>0A66791DC6988168DE7AB77419BB7FB0C001C62710270075142942E19A8D8C51D053B3E3782A1DE5DC5AF4EBE99468170114A1DFE67CDC9A9AF55D655620BBAB</modulus>
+		<privateExponent>0123C5B61BA36EDB1D3679904199A89EA80C09B9122E1400C09ADCF7784676D01D23356A7D44D6BD8BD50E94BFC723FA87D8862B75177691C11D757692DF8881</privateExponent>
+		<digestInfo>3020300C06082A864886F70D0202050004101D32DE009F9C56EA4636D39AAFFDAEA1</digestInfo>
+		<signature>05FA6A812FC7DF8BF4F2542509E03E846E11B9C620BE2009EFB440EFBCC669216994AC04F341B57D05202D428FB2A27B5C77DFD9B15BFC3D559353503410C1E1</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>***NEW*** RSA test vector 38B (RSAVerifyVector)</actionname>
+	<actiontype>RSAVerifyVector</actiontype>
+	<actionbody>
+		<modulus>0A66791DC6988168DE7AB77419BB7FB0C001C62710270075142942E19A8D8C51D053B3E3782A1DE5DC5AF4EBE99468170114A1DFE67CDC9A9AF55D655620BBAB</modulus>
+		<publicExponent>010001</publicExponent>
+		<digestInfo>3020300C06082A864886F70D0202050004101D32DE009F9C56EA4636D39AAFFDAEA1</digestInfo>
+		<signature>05FA6A812FC7DF8BF4F2542509E03E846E11B9C620BE2009EFB440EFBCC669216994AC04F341B57D05202D428FB2A27B5C77DFD9B15BFC3D559353503410C1E1</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 40 (RSAVerifyVector)</actionname>
+	<actiontype>RSAVerifyVector</actiontype>
+	<actionbody>
+		<modulus>A3079A90DF0DFD72AC090CCC2A78B87413133E40759C98FAF8204F358A0B263C6770E783A93B6971B73779D2717BE83477CF</modulus>
+		<publicExponent>03</publicExponent>
+		<digestInfo>54859B342C49EA2A</digestInfo>
+		<signature>6268EE3023E0CCC02FDF5896C4E1C87EEEE82EFE5C87EFC3C41D3E976FD286F35A0678ED0157DC06F3F889B15CAF91C783EF</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 41 (RSASignVector)</actionname>
+	<actiontype>RSASignVector</actiontype>
+	<actionbody>
+		<modulus>A3504534C29C59CA9A34CBB95A18D435FE66FBC7DECD572B91C80F72EE0786D4DD92F8B8416D54BDE12DF2E83F8DC9B1642980BD31852650A5A8F6D6D8C6A9BE965B34FE7659AC5DD372AB91277B2C9CEB797C4B4B5888E33C0D2CFBE9AAD53E158475ED88884D5DCC663AF5AAA62030E3799FAA1FA47AB2665208597F358497</modulus>
+		<privateExponent>85B3B3D4EBF6C0F443A7319A7F8E903DDC1747CE6C33C447E143DE9203199A632F3BA1F0877010CE9B49D8F21705E7B818FE796D6ADB4D70FD0F0577036631948DD21FFE77157AAF978857E4358DED82B58CC85F5EF70480FFD7BE0848DAFB983543B2E867F83155084D8541A14B5EA6CF5FCB651127B2C64383114F02A14CB1</privateExponent>
+		<digestInfo>54859B342C49EA2A</digestInfo>
+		<signature>A2B1465F0B5271A8C700D60A0717C38A48ECB67CE2592ADAFC5C672F6AA21319477CFB3A407587F7A2BF004BB709273051F1D81DC3B5E7409DFEB0E2B8DEE9780FBD0045E999A2D9C8313887BF16E380533E8E505DB231C22DCC72A5AF4B92E5D7EB1F3F37E6763C2C650A9F641992ABD858AB40AAADDAB598F9A81C4C99E68D</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 42 (RSAVerifyVector)</actionname>
+	<actiontype>RSAVerifyVector</actiontype>
+	<actionbody>
+		<modulus>A3504534C29C59CA9A34CBB95A18D435FE66FBC7DECD572B91C80F72EE0786D4DD92F8B8416D54BDE12DF2E83F8DC9B1642980BD31852650A5A8F6D6D8C6A9BE965B34FE7659AC5DD372AB91277B2C9CEB797C4B4B5888E33C0D2CFBE9AAD53E158475ED88884D5DCC663AF5AAA62030E3799FAA1FA47AB2665208597F358497</modulus>
+		<publicExponent>010001</publicExponent>
+		<digestInfo>54859B342C49EA2A</digestInfo>
+		<signature>A2B1465F0B5271A8C700D60A0717C38A48ECB67CE2592ADAFC5C672F6AA21319477CFB3A407587F7A2BF004BB709273051F1D81DC3B5E7409DFEB0E2B8DEE9780FBD0045E999A2D9C8313887BF16E380533E8E505DB231C22DCC72A5AF4B92E5D7EB1F3F37E6763C2C650A9F641992ABD858AB40AAADDAB598F9A81C4C99E68D</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 43 (RSASignVector)</actionname>
+	<actiontype>RSASignVector</actiontype>
+	<actionbody>
+		<modulus>AA36ABCE88ACFDFF55523C7FC4523F90EFA00DF3774A259F2E62B4C5D99CB5ADB300A0285E5301930E0C70FB6876939CE616CE624A11E0086D341EBCACA0A1F5</modulus>
+		<privateExponent>0A033748626487695F5F30BC38B98B44C2CD2DFF434098CD20D8A138D090BF64797C3FA7A2CDCB3CD1E0BDBA2654B4F9DF8E8AE59D733D9F33B301624AFD1D51</privateExponent>
+		<digestInfo>47AB927609FD75A7E20885EB7E4CFF0A</digestInfo>
+		<signature>32BCB348294467EA925B0B8E0420E3B6482A9F12C42081B4A0EB76A807D4A35CBB8E49C5BB958300D5713A15748660AF8EDD1EDDF674AFECD270813BB2420550</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 44 (RSAVerifyVector)</actionname>
+	<actiontype>RSAVerifyVector</actiontype>
+	<actionbody>
+		<modulus>AA36ABCE88ACFDFF55523C7FC4523F90EFA00DF3774A259F2E62B4C5D99CB5ADB300A0285E5301930E0C70FB6876939CE616CE624A11E0086D341EBCACA0A1F5</modulus>
+		<publicExponent>11</publicExponent>
+		<digestInfo>47AB927609FD75A7E20885EB7E4CFF0A</digestInfo>
+		<signature>32BCB348294467EA925B0B8E0420E3B6482A9F12C42081B4A0EB76A807D4A35CBB8E49C5BB958300D5713A15748660AF8EDD1EDDF674AFECD270813BB2420550</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 45 (RSASignVector)</actionname>
+	<actiontype>RSASignVector</actiontype>
+	<actionbody>
+		<modulus>A3079A90DF0DFD72AC090CCC2A78B87413133E40759C98FAF8204F358A0B263C6770E783A93B6971B73779D2717BE83477CF</modulus>
+		<privateExponent>6CAFBC6094B3FE4C72B0B332C6FB25A2B76229804E6865FCA45A74DF0F8FB8413B52C0D0E53D9B590FF19BE79F49DD21E5EB</privateExponent>
+		<digestInfo>47AB927609FD75A7E20885EB7E4CFF0A</digestInfo>
+		<signature>301786087160F4EEB99B005A56457792FC9264E28549F2AC4C65982BC1AF797C09E3ACFABE703F5C72754BD58D0403D4433C</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 46 (RSAVerifyVector)</actionname>
+	<actiontype>RSAVerifyVector</actiontype>
+	<actionbody>
+		<modulus>A3079A90DF0DFD72AC090CCC2A78B87413133E40759C98FAF8204F358A0B263C6770E783A93B6971B73779D2717BE83477CF</modulus>
+		<publicExponent>03</publicExponent>
+		<digestInfo>47AB927609FD75A7E20885EB7E4CFF0A</digestInfo>
+		<signature>301786087160F4EEB99B005A56457792FC9264E28549F2AC4C65982BC1AF797C09E3ACFABE703F5C72754BD58D0403D4433C</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 47 (RSASignVector)</actionname>
+	<actiontype>RSASignVector</actiontype>
+	<actionbody>
+		<modulus>A3504534C29C59CA9A34CBB95A18D435FE66FBC7DECD572B91C80F72EE0786D4DD92F8B8416D54BDE12DF2E83F8DC9B1642980BD31852650A5A8F6D6D8C6A9BE965B34FE7659AC5DD372AB91277B2C9CEB797C4B4B5888E33C0D2CFBE9AAD53E158475ED88884D5DCC663AF5AAA62030E3799FAA1FA47AB2665208597F358497</modulus>
+		<privateExponent>85B3B3D4EBF6C0F443A7319A7F8E903DDC1747CE6C33C447E143DE9203199A632F3BA1F0877010CE9B49D8F21705E7B818FE796D6ADB4D70FD0F0577036631948DD21FFE77157AAF978857E4358DED82B58CC85F5EF70480FFD7BE0848DAFB983543B2E867F83155084D8541A14B5EA6CF5FCB651127B2C64383114F02A14CB1</privateExponent>
+		<digestInfo>47AB927609FD75A7E20885EB7E4CFF0A</digestInfo>
+		<signature>6B68F9744C7F6535B4AE3A09133FB573C73DECB13ABACB0D3E31CDECC206F5023A91F7634F46350EF06D840420CAEB8029DAC5DCFF1C1A0C7EB33D60E348FC079A4CF478DAB02BEFCA8242FE5CBF52BE39CAB47B16D61C77A1B36B52D371C846BA330A4B21B73C0E1D7D6732EFBA08B06AB4B4FB07E19D89A5B9398A8D093A40</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 48 (RSAVerifyVector)</actionname>
+	<actiontype>RSAVerifyVector</actiontype>
+	<actionbody>
+		<modulus>A3504534C29C59CA9A34CBB95A18D435FE66FBC7DECD572B91C80F72EE0786D4DD92F8B8416D54BDE12DF2E83F8DC9B1642980BD31852650A5A8F6D6D8C6A9BE965B34FE7659AC5DD372AB91277B2C9CEB797C4B4B5888E33C0D2CFBE9AAD53E158475ED88884D5DCC663AF5AAA62030E3799FAA1FA47AB2665208597F358497</modulus>
+		<publicExponent>010001</publicExponent>
+		<digestInfo>47AB927609FD75A7E20885EB7E4CFF0A</digestInfo>
+		<signature>6B68F9744C7F6535B4AE3A09133FB573C73DECB13ABACB0D3E31CDECC206F5023A91F7634F46350EF06D840420CAEB8029DAC5DCFF1C1A0C7EB33D60E348FC079A4CF478DAB02BEFCA8242FE5CBF52BE39CAB47B16D61C77A1B36B52D371C846BA330A4B21B73C0E1D7D6732EFBA08B06AB4B4FB07E19D89A5B9398A8D093A40</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 49 (RSASignVector)</actionname>
+	<actiontype>RSASignVector</actiontype>
+	<actionbody>
+		<modulus>AA36ABCE88ACFDFF55523C7FC4523F90EFA00DF3774A259F2E62B4C5D99CB5ADB300A0285E5301930E0C70FB6876939CE616CE624A11E0086D341EBCACA0A1F5</modulus>
+		<privateExponent>0A033748626487695F5F30BC38B98B44C2CD2DFF434098CD20D8A138D090BF64797C3FA7A2CDCB3CD1E0BDBA2654B4F9DF8E8AE59D733D9F33B301624AFD1D51</privateExponent>
+		<digestInfo>0B0A7CEB6C1745531DA724AD438BF74689C39F095E883ED88E04363849C00F41</digestInfo>
+		<signature>069D76426B5096CDFB1F37F4ABABFBD9C2786174D35F32A83250EB22600A493C742135F811122899A9D1060CBB4DE0DA41C8073B6DC1DC401DD2536A514EE966</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 50 (RSAVerifyVector)</actionname>
+	<actiontype>RSAVerifyVector</actiontype>
+	<actionbody>
+		<modulus>AA36ABCE88ACFDFF55523C7FC4523F90EFA00DF3774A259F2E62B4C5D99CB5ADB300A0285E5301930E0C70FB6876939CE616CE624A11E0086D341EBCACA0A1F5</modulus>
+		<publicExponent>11</publicExponent>
+		<digestInfo>0B0A7CEB6C1745531DA724AD438BF74689C39F095E883ED88E04363849C00F41</digestInfo>
+		<signature>069D76426B5096CDFB1F37F4ABABFBD9C2786174D35F32A83250EB22600A493C742135F811122899A9D1060CBB4DE0DA41C8073B6DC1DC401DD2536A514EE966</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 51 (RSASignVector)</actionname>
+	<actiontype>RSASignVector</actiontype>
+	<actionbody>
+		<modulus>A3079A90DF0DFD72AC090CCC2A78B87413133E40759C98FAF8204F358A0B263C6770E783A93B6971B73779D2717BE83477CF</modulus>
+		<privateExponent>6CAFBC6094B3FE4C72B0B332C6FB25A2B76229804E6865FCA45A74DF0F8FB8413B52C0D0E53D9B590FF19BE79F49DD21E5EB</privateExponent>
+		<digestInfo>0B0A7CEB6C1745531DA724AD438BF74689C39F095E883ED88E04363849C00F41</digestInfo>
+		<signature>56CB9D7521600FAC739A7BA2F64C8833EFA9B631970F8C80AC56F5D06B48C9DE98BEBBAEAA71908BF4ECB3BD9CA074EFE491</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 52 (RSAVerifyVector)</actionname>
+	<actiontype>RSAVerifyVector</actiontype>
+	<actionbody>
+		<modulus>A3079A90DF0DFD72AC090CCC2A78B87413133E40759C98FAF8204F358A0B263C6770E783A93B6971B73779D2717BE83477CF</modulus>
+		<publicExponent>03</publicExponent>
+		<digestInfo>0B0A7CEB6C1745531DA724AD438BF74689C39F095E883ED88E04363849C00F41</digestInfo>
+		<signature>56CB9D7521600FAC739A7BA2F64C8833EFA9B631970F8C80AC56F5D06B48C9DE98BEBBAEAA71908BF4ECB3BD9CA074EFE491</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 53 (RSASignVector)</actionname>
+	<actiontype>RSASignVector</actiontype>
+	<actionbody>
+		<modulus>A3504534C29C59CA9A34CBB95A18D435FE66FBC7DECD572B91C80F72EE0786D4DD92F8B8416D54BDE12DF2E83F8DC9B1642980BD31852650A5A8F6D6D8C6A9BE965B34FE7659AC5DD372AB91277B2C9CEB797C4B4B5888E33C0D2CFBE9AAD53E158475ED88884D5DCC663AF5AAA62030E3799FAA1FA47AB2665208597F358497</modulus>
+		<privateExponent>85B3B3D4EBF6C0F443A7319A7F8E903DDC1747CE6C33C447E143DE9203199A632F3BA1F0877010CE9B49D8F21705E7B818FE796D6ADB4D70FD0F0577036631948DD21FFE77157AAF978857E4358DED82B58CC85F5EF70480FFD7BE0848DAFB983543B2E867F83155084D8541A14B5EA6CF5FCB651127B2C64383114F02A14CB1</privateExponent>
+		<digestInfo>0B0A7CEB6C1745531DA724AD438BF74689C39F095E883ED88E04363849C00F41</digestInfo>
+		<signature>4F2A49D3F53D380CF3812A21F4CA61CA39920C4F5E7D16757C8BBC9C3EB9FCF3146EF9FCCF3E674B9792B764CC7486342760D42DC08C94BC9126B7601C7287BE98CAE6D1FFB9B2CBA28536C87D84B12B6F8913F6A373399CA7BA3AE507DCA8054575030D192DBC52CC28F54AFCCE7A0370C577548088709634B2B332EF429C10</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 54 (RSAVerifyVector)</actionname>
+	<actiontype>RSAVerifyVector</actiontype>
+	<actionbody>
+		<modulus>A3504534C29C59CA9A34CBB95A18D435FE66FBC7DECD572B91C80F72EE0786D4DD92F8B8416D54BDE12DF2E83F8DC9B1642980BD31852650A5A8F6D6D8C6A9BE965B34FE7659AC5DD372AB91277B2C9CEB797C4B4B5888E33C0D2CFBE9AAD53E158475ED88884D5DCC663AF5AAA62030E3799FAA1FA47AB2665208597F358497</modulus>
+		<publicExponent>010001</publicExponent>
+		<digestInfo>0B0A7CEB6C1745531DA724AD438BF74689C39F095E883ED88E04363849C00F41</digestInfo>
+		<signature>4F2A49D3F53D380CF3812A21F4CA61CA39920C4F5E7D16757C8BBC9C3EB9FCF3146EF9FCCF3E674B9792B764CC7486342760D42DC08C94BC9126B7601C7287BE98CAE6D1FFB9B2CBA28536C87D84B12B6F8913F6A373399CA7BA3AE507DCA8054575030D192DBC52CC28F54AFCCE7A0370C577548088709634B2B332EF429C10</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 55 (RSASignVector)</actionname>
+	<actiontype>RSASignVector</actiontype>
+	<actionbody>
+		<modulus>AA36ABCE88ACFDFF55523C7FC4523F90EFA00DF3774A259F2E62B4C5D99CB5ADB300A0285E5301930E0C70FB6876939CE616CE624A11E0086D341EBCACA0A1F5</modulus>
+		<privateExponent>0A033748626487695F5F30BC38B98B44C2CD2DFF434098CD20D8A138D090BF64797C3FA7A2CDCB3CD1E0BDBA2654B4F9DF8E8AE59D733D9F33B301624AFD1D51</privateExponent>
+		<digestInfo>23</digestInfo>
+		<signature>242272B19E612D4E1B1702CBE2EE64945A4DC1F8EE3C84D1FDA317517DB723D84712A0FD13E898E578E979DFAEC3FCB7B3F0CEDC3B859E287AA2F3C22768B18D</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 56 (RSAVerifyVector)</actionname>
+	<actiontype>RSAVerifyVector</actiontype>
+	<actionbody>
+		<modulus>AA36ABCE88ACFDFF55523C7FC4523F90EFA00DF3774A259F2E62B4C5D99CB5ADB300A0285E5301930E0C70FB6876939CE616CE624A11E0086D341EBCACA0A1F5</modulus>
+		<publicExponent>11</publicExponent>
+		<digestInfo>23</digestInfo>
+		<signature>242272B19E612D4E1B1702CBE2EE64945A4DC1F8EE3C84D1FDA317517DB723D84712A0FD13E898E578E979DFAEC3FCB7B3F0CEDC3B859E287AA2F3C22768B18D</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 57 (RSASignVector)</actionname>
+	<actiontype>RSASignVector</actiontype>
+	<actionbody>
+		<modulus>A3079A90DF0DFD72AC090CCC2A78B87413133E40759C98FAF8204F358A0B263C6770E783A93B6971B73779D2717BE83477CF</modulus>
+		<privateExponent>6CAFBC6094B3FE4C72B0B332C6FB25A2B76229804E6865FCA45A74DF0F8FB8413B52C0D0E53D9B590FF19BE79F49DD21E5EB</privateExponent>
+		<digestInfo>23</digestInfo>
+		<signature>9D12DA842EE999C9EDE51E1C7130C2B61AAD5CEBD85C38F20345D0ABAEAAC651FB34B35C8D983CABC985CD0F29EAB1EEFD46</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 58 (RSAVerifyVector)</actionname>
+	<actiontype>RSAVerifyVector</actiontype>
+	<actionbody>
+		<modulus>A3079A90DF0DFD72AC090CCC2A78B87413133E40759C98FAF8204F358A0B263C6770E783A93B6971B73779D2717BE83477CF</modulus>
+		<publicExponent>03</publicExponent>
+		<digestInfo>23</digestInfo>
+		<signature>9D12DA842EE999C9EDE51E1C7130C2B61AAD5CEBD85C38F20345D0ABAEAAC651FB34B35C8D983CABC985CD0F29EAB1EEFD46</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 59 (RSASignVector)</actionname>
+	<actiontype>RSASignVector</actiontype>
+	<actionbody>
+		<modulus>A3504534C29C59CA9A34CBB95A18D435FE66FBC7DECD572B91C80F72EE0786D4DD92F8B8416D54BDE12DF2E83F8DC9B1642980BD31852650A5A8F6D6D8C6A9BE965B34FE7659AC5DD372AB91277B2C9CEB797C4B4B5888E33C0D2CFBE9AAD53E158475ED88884D5DCC663AF5AAA62030E3799FAA1FA47AB2665208597F358497</modulus>
+		<privateExponent>85B3B3D4EBF6C0F443A7319A7F8E903DDC1747CE6C33C447E143DE9203199A632F3BA1F0877010CE9B49D8F21705E7B818FE796D6ADB4D70FD0F0577036631948DD21FFE77157AAF978857E4358DED82B58CC85F5EF70480FFD7BE0848DAFB983543B2E867F83155084D8541A14B5EA6CF5FCB651127B2C64383114F02A14CB1</privateExponent>
+		<digestInfo>23</digestInfo>
+		<signature>1938080C595F1C2278818BB3B6D9D400FBF6DD7FD6B1E5A1E568DAF69A1A538158F74866916C1A19386D09284F2478BAB8D6C932F2F5756596449FB55E72B103AB68D17592A3928AE46D2350673C8E9BD69F36E96090D30A02AB72E7F4C35D815D2DEE660B2C4098367815B5E10B9008FA701AFF9E1D2B756564064455FCE4A1</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 60 (RSAVerifyVector)</actionname>
+	<actiontype>RSAVerifyVector</actiontype>
+	<actionbody>
+		<modulus>A3504534C29C59CA9A34CBB95A18D435FE66FBC7DECD572B91C80F72EE0786D4DD92F8B8416D54BDE12DF2E83F8DC9B1642980BD31852650A5A8F6D6D8C6A9BE965B34FE7659AC5DD372AB91277B2C9CEB797C4B4B5888E33C0D2CFBE9AAD53E158475ED88884D5DCC663AF5AAA62030E3799FAA1FA47AB2665208597F358497</modulus>
+		<publicExponent>010001</publicExponent>
+		<digestInfo>23</digestInfo>
+		<signature>1938080C595F1C2278818BB3B6D9D400FBF6DD7FD6B1E5A1E568DAF69A1A538158F74866916C1A19386D09284F2478BAB8D6C932F2F5756596449FB55E72B103AB68D17592A3928AE46D2350673C8E9BD69F36E96090D30A02AB72E7F4C35D815D2DEE660B2C4098367815B5E10B9008FA701AFF9E1D2B756564064455FCE4A1</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 61 (RSASignVector)</actionname>
+	<actiontype>RSASignVector</actiontype>
+	<actionbody>
+		<modulus>AA36ABCE88ACFDFF55523C7FC4523F90EFA00DF3774A259F2E62B4C5D99CB5ADB300A0285E5301930E0C70FB6876939CE616CE624A11E0086D341EBCACA0A1F5</modulus>
+		<privateExponent>0A033748626487695F5F30BC38B98B44C2CD2DFF434098CD20D8A138D090BF64797C3FA7A2CDCB3CD1E0BDBA2654B4F9DF8E8AE59D733D9F33B301624AFD1D51</privateExponent>
+		<digestInfo>6679F38482069906CDF1DF3FDDB537744676BA0DB8D682B6826F31B1D8230CCA4E392877053FAC5A13FF3A39352EAFB185E4D060F4</digestInfo>
+		<signature>07AE66D658801E68EF06A8F448DE504F5492457B2891F491AAB3C1DAFBE61F5ADB478E77A06F42F7985E2854A83980A70FA394AA955AF279D00215D778482997</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 62 (RSAVerifyVector)</actionname>
+	<actiontype>RSAVerifyVector</actiontype>
+	<actionbody>
+		<modulus>AA36ABCE88ACFDFF55523C7FC4523F90EFA00DF3774A259F2E62B4C5D99CB5ADB300A0285E5301930E0C70FB6876939CE616CE624A11E0086D341EBCACA0A1F5</modulus>
+		<publicExponent>11</publicExponent>
+		<digestInfo>6679F38482069906CDF1DF3FDDB537744676BA0DB8D682B6826F31B1D8230CCA4E392877053FAC5A13FF3A39352EAFB185E4D060F4</digestInfo>
+		<signature>07AE66D658801E68EF06A8F448DE504F5492457B2891F491AAB3C1DAFBE61F5ADB478E77A06F42F7985E2854A83980A70FA394AA955AF279D00215D778482997</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 63 (RSASignVector)</actionname>
+	<actiontype>RSASignVector</actiontype>
+	<actionbody>
+		<modulus>A3079A90DF0DFD72AC090CCC2A78B87413133E40759C98FAF8204F358A0B263C6770E783A93B6971B73779D2717BE83477CF</modulus>
+		<privateExponent>6CAFBC6094B3FE4C72B0B332C6FB25A2B76229804E6865FCA45A74DF0F8FB8413B52C0D0E53D9B590FF19BE79F49DD21E5EB</privateExponent>
+		<digestInfo>CDA22C4B6A20000EADAD74BDB304BDC5727302119D6D3775665AF2E6476579807C92EC09F533EA</digestInfo>
+		<signature>7AA56CFBA701353E0402AAC8B71DF6E33DB3F7E2D1B96385D566FCAEF7243AB7170778FE4E6544C306003B393AB82F3AA4C3</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 64 (RSAVerifyVector)</actionname>
+	<actiontype>RSAVerifyVector</actiontype>
+	<actionbody>
+		<modulus>A3079A90DF0DFD72AC090CCC2A78B87413133E40759C98FAF8204F358A0B263C6770E783A93B6971B73779D2717BE83477CF</modulus>
+		<publicExponent>03</publicExponent>
+		<digestInfo>CDA22C4B6A20000EADAD74BDB304BDC5727302119D6D3775665AF2E6476579807C92EC09F533EA</digestInfo>
+		<signature>7AA56CFBA701353E0402AAC8B71DF6E33DB3F7E2D1B96385D566FCAEF7243AB7170778FE4E6544C306003B393AB82F3AA4C3</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 65 (RSASignVector)</actionname>
+	<actiontype>RSASignVector</actiontype>
+	<actionbody>
+		<modulus>A3504534C29C59CA9A34CBB95A18D435FE66FBC7DECD572B91C80F72EE0786D4DD92F8B8416D54BDE12DF2E83F8DC9B1642980BD31852650A5A8F6D6D8C6A9BE965B34FE7659AC5DD372AB91277B2C9CEB797C4B4B5888E33C0D2CFBE9AAD53E158475ED88884D5DCC663AF5AAA62030E3799FAA1FA47AB2665208597F358497</modulus>
+		<privateExponent>85B3B3D4EBF6C0F443A7319A7F8E903DDC1747CE6C33C447E143DE9203199A632F3BA1F0877010CE9B49D8F21705E7B818FE796D6ADB4D70FD0F0577036631948DD21FFE77157AAF978857E4358DED82B58CC85F5EF70480FFD7BE0848DAFB983543B2E867F83155084D8541A14B5EA6CF5FCB651127B2C64383114F02A14CB1</privateExponent>
+		<digestInfo>0E2561AF55EB9C10904FD427FD0D1DF438BD9ED0C71C480B50A1D3F1B4DBBA2D0081596E61433550F95F7020B247487F32F7E82E50C180454B5CF8456AA00F33F1EC9AB179F5CC921C3012B0557B490693A8305A68798A219AD76870F8A1F10A528575F92D26D31B37DCDC608777CB9757004FF181</digestInfo>
+		<signature>363E0A0A5672F9BAB4B4A8EE3F236C12B439D63B6B1893BC025E225AA1DF42C9A09951CFAC8B6AA8098502A347A2C5D8B9FE0D47F34E0848539D24D0B32B79669276597FE082AC24BE8DA961FA184739EF04915ACFDAA172197EED5EB7EB2999FA8B327AF4A9419E64D9D314D67770A006C99C97E90715540880661F9187860A</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 66 (RSAVerifyVector)</actionname>
+	<actiontype>RSAVerifyVector</actiontype>
+	<actionbody>
+		<modulus>A3504534C29C59CA9A34CBB95A18D435FE66FBC7DECD572B91C80F72EE0786D4DD92F8B8416D54BDE12DF2E83F8DC9B1642980BD31852650A5A8F6D6D8C6A9BE965B34FE7659AC5DD372AB91277B2C9CEB797C4B4B5888E33C0D2CFBE9AAD53E158475ED88884D5DCC663AF5AAA62030E3799FAA1FA47AB2665208597F358497</modulus>
+		<publicExponent>010001</publicExponent>
+		<digestInfo>0E2561AF55EB9C10904FD427FD0D1DF438BD9ED0C71C480B50A1D3F1B4DBBA2D0081596E61433550F95F7020B247487F32F7E82E50C180454B5CF8456AA00F33F1EC9AB179F5CC921C3012B0557B490693A8305A68798A219AD76870F8A1F10A528575F92D26D31B37DCDC608777CB9757004FF181</digestInfo>
+		<signature>363E0A0A5672F9BAB4B4A8EE3F236C12B439D63B6B1893BC025E225AA1DF42C9A09951CFAC8B6AA8098502A347A2C5D8B9FE0D47F34E0848539D24D0B32B79669276597FE082AC24BE8DA961FA184739EF04915ACFDAA172197EED5EB7EB2999FA8B327AF4A9419E64D9D314D67770A006C99C97E90715540880661F9187860A</signature>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 67 (test a failure) (RSASignVector)</actionname>
+	<actiontype>RSASignVector</actiontype>
+	<actionbody>
+		<modulus>AA36ABCE88ACFDFF55523C7FC4523F90EFA00DF3774A259F2E62B4C5D99CB5ADB300A0285E5301930E0C70FB6876939CE616CE624A11E0086D341EBCACA0A1F5</modulus>
+		<privateExponent>0A033748626487695F5F30BC38B98B44C2CD2DFF434098CD20D8A138D090BF64797C3FA7A2CDCB3CD1E0BDBA2654B4F9DF8E8AE59D733D9F33B301624AFD1D51</privateExponent>
+		<digestInfo>54859B342C49EA2A</digestInfo>
+		<signature>786D0A4B4B5C2E0F8EA89312B2C75D7E0808A0C1C997C115FAEFC48201D582A648E13930318264929651105337763CA9C45C9DD1A9D343F172029E4321D2B126</signature>
+	</actionbody>
+	<actionresult>
+		<result>EFalse</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 68 (test a failure) (RSAVerifyVector)</actionname>
+	<actiontype>RSAVerifyVector</actiontype>
+	<actionbody>
+		<modulus>AA36ABCE88ACFDFF55523C7FC4523F90EFA00DF3774A259F2E62B4C5D99CB5ADB300A0285E5301930E0C70FB6876939CE616CE624A11E0086D341EBCACA0A1F5</modulus>
+		<publicExponent>11</publicExponent>
+		<digestInfo>54859B342C49EA2A</digestInfo>
+		<signature>786D0A4B4B5C2E0F8EA89312B2C75D7E0808A0C1C997C115FAEFC48201D582A648E13930318264929651105337763CA9C45C9DD1A9D343F172029E4321D2B126</signature>
+	</actionbody>
+	<actionresult>
+		<result>EFalse</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 69 (test a failure) (RSASignVector)</actionname>
+	<actiontype>RSASignVector</actiontype>
+	<actionbody>
+		<modulus>A3079A90DF0DFD72AC090CCC2A78B87413133E40759C98FAF8204F358A0B263C6770E783A93B6971B73779D2717BE83477CF</modulus>
+		<privateExponent>6CAFBC6094B3FE4C72B0B332C6FB25A2B76229804E6865FCA45A74DF0F8FB8413B52C0D0E53D9B590FF19BE79F49DD21E5EB</privateExponent>
+		<digestInfo>54859B342C49EA2A</digestInfo>
+		<signature>6269EC3327E5CAC727D6529DC8ECC671FEF93CED4892F9D4DC04248C73CF98EC7A275ACE2572FA21DBD1A39A7082BFE8B3DE</signature>
+	</actionbody>
+	<actionresult>
+		<result>EFalse</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 70 (test a failure) (RSAVerifyVector)</actionname>
+	<actiontype>RSAVerifyVector</actiontype>
+	<actionbody>
+		<modulus>A3079A90DF0DFD72AC090CCC2A78B87413133E40759C98FAF8204F358A0B263C6770E783A93B6971B73779D2717BE83477CF</modulus>
+		<publicExponent>03</publicExponent>
+		<digestInfo>54859B342C49EA2A</digestInfo>
+		<signature>6269EC3327E5CAC727D6529DC8ECC671FEF93CED4892F9D4DC04248C73CF98EC7A275ACE2572FA21DBD1A39A7082BFE8B3DE</signature>
+	</actionbody>
+	<actionresult>
+		<result>EFalse</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 71 (test a failure) (RSASignVector)</actionname>
+	<actiontype>RSASignVector</actiontype>
+	<actionbody>
+		<modulus>A3504534C29C59CA9A34CBB95A18D435FE66FBC7DECD572B91C80F72EE0786D4DD92F8B8416D54BDE12DF2E83F8DC9B1642980BD31852650A5A8F6D6D8C6A9BE965B34FE7659AC5DD372AB91277B2C9CEB797C4B4B5888E33C0D2CFBE9AAD53E158475ED88884D5DCC663AF5AAA62030E3799FAA1FA47AB2665208597F358497</modulus>
+		<privateExponent>85B3B3D4EBF6C0F443A7319A7F8E903DDC1747CE6C33C447E143DE9203199A632F3BA1F0877010CE9B49D8F21705E7B818FE796D6ADB4D70FD0F0577036631948DD21FFE77157AAF978857E4358DED82B58CC85F5EF70480FFD7BE0848DAFB983543B2E867F83155084D8541A14B5EA6CF5FCB651127B2C64383114F02A14CB1</privateExponent>
+		<digestInfo>54859B342C49EA2A</digestInfo>
+		<signature>A2B0445C0F5777AFCF09DC010B1ACD8558FDA46FF64C3CCDE4457D3476BF0D06675DD9196450A1D08A962A609B24091F61C0EA2EF780D177A5C78AD984E3D7474FFC4206ADDCE49E807872CCF35BADCF036FDC0309E76795759528FEF316CCBAB78A7D5C5383105B440C60F40874FCC4A829D933DED8ACC2E080D26730E498F2</signature>
+	</actionbody>
+	<actionresult>
+		<result>EFalse</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>RSA test vector 72 (test a failure) (RSAVerifyVector)</actionname>
+	<actiontype>RSAVerifyVector</actiontype>
+	<actionbody>
+		<modulus>A3504534C29C59CA9A34CBB95A18D435FE66FBC7DECD572B91C80F72EE0786D4DD92F8B8416D54BDE12DF2E83F8DC9B1642980BD31852650A5A8F6D6D8C6A9BE965B34FE7659AC5DD372AB91277B2C9CEB797C4B4B5888E33C0D2CFBE9AAD53E158475ED88884D5DCC663AF5AAA62030E3799FAA1FA47AB2665208597F358497</modulus>
+		<publicExponent>010001</publicExponent>
+		<digestInfo>54859B342C49EA2A</digestInfo>
+		<signature>A2B0445C0F5777AFCF09DC010B1ACD8558FDA46FF64C3CCDE4457D3476BF0D06675DD9196450A1D08A962A609B24091F61C0EA2EF780D177A5C78AD984E3D7474FFC4206ADDCE49E807872CCF35BADCF036FDC0309E76795759528FEF316CCBAB78A7D5C5383105B440C60F40874FCC4A829D933DED8ACC2E080D26730E498F2</signature>
+	</actionbody>
+	<actionresult>
+		<result>EFalse</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>1024 bit dsa key, self sign test 1</actionname>
+	<actiontype>DSASignFB</actiontype>
+	<actionbody>
+			<seed>AFCA9DCEC8E645FB67E26C94A786E607A903A919</seed>
+			<keybits>1024</keybits>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>512 bit dsa key, self sign test 2</actionname>
+	<actiontype>DSASignFB</actiontype>
+	<actionbody>
+			<seed>942662DBB3B05841A1CA25866B1F24E6647730A0</seed>
+			<keybits>512</keybits>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>DSA Prime Generation test (from DSS appendix 5)</actionname>
+	<actiontype>DSAPrimeGen</actiontype>
+	<actionbody>
+		<keybits>512</keybits>
+		<seed>D5014E4B60EF2BA8B6211B4062BA3224E0427DD3</seed>
+		<p>8DF2A494492276AA3D25759BB06869CBEAC0D83AFB8D0CF7CBB8324F0D7882E5D0762FC5B7210EAFC2E9ADAC32AB7AAC49693DFBF83724C2EC0736EE31C80291</p>
+		<q>C773218C737EC8EE993B4F2DED30F48EDACE915F</q>
+		<c>105</c>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>DSA test vector 1 (DSASignVector)</actionname>
+	<actiontype>DSASignVector</actiontype>
+	<actionbody>
+		<p>8DF2A494492276AA3D25759BB06869CBEAC0D83AFB8D0CF7CBB8324F0D7882E5D0762FC5B7210EAFC2E9ADAC32AB7AAC49693DFBF83724C2EC0736EE31C80291</p>
+		<q>C773218C737EC8EE993B4F2DED30F48EDACE915F</q>
+		<g>626D027839EA0A13413163A55B4CB500299D5522956CEFCB3BFF10F399CE2C2E71CB9DE5FA24BABF58E5B79521925C9CC42E9F6F464B088CC572AF53E6D78802</g>
+		<x>2070B3223DBA372FDE1C0FFC7B2E3B498B260614</x>
+		//Note that the actual k isn't used, its here in case you want to test
+		//it in another crypto library.  Our DSASign NewRandomL adds 1 to the
+		//value given for algorithmic reasons (see TInteger::RandomizeL if you
+		//care)
+		<actualk>BFDFAADE2B6B371ACF54E2500F71621457AD8D35</actualk>
+		<k>BEDFAADE2B6B371ACF54E2500F71621457AD8D35</k>
+		<m>abc</m>
+		<r>8BAC1AB66410435CB7181F95B16AB97C92B341C0</r>
+		<s>41E2345F1F56DF2458F426D155B4BA2DB6DCD8C8</s>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>DSA test vector 2 (DSAVerifyVector)</actionname>
+	<actiontype>DSAVerifyVector</actiontype>
+	<actionbody>
+		<p>8DF2A494492276AA3D25759BB06869CBEAC0D83AFB8D0CF7CBB8324F0D7882E5D0762FC5B7210EAFC2E9ADAC32AB7AAC49693DFBF83724C2EC0736EE31C80291</p>
+		<q>C773218C737EC8EE993B4F2DED30F48EDACE915F</q>
+		<g>626D027839EA0A13413163A55B4CB500299D5522956CEFCB3BFF10F399CE2C2E71CB9DE5FA24BABF58E5B79521925C9CC42E9F6F464B088CC572AF53E6D78802</g>
+		<y>19131871D75B1612A819F29D78D1B0D7346F7AA77BB62A859BFD6C5675DA9D212D3A36EF1672EF660B8C7C255CC0EC74858FBA33F44C06699630A76B030EE333</y>
+		<m>abc</m>
+		<r>8BAC1AB66410435CB7181F95B16AB97C92B341C0</r>
+		<s>41E2345F1F56DF2458F426D155B4BA2DB6DCD8C8</s>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>DSA test vector 3 (test a failure) (DSASignVector) first byte in r changed from 8B to 9B</actionname>
+	<actiontype>DSASignVector</actiontype>
+	<actionbody>
+		<p>8DF2A494492276AA3D25759BB06869CBEAC0D83AFB8D0CF7CBB8324F0D7882E5D0762FC5B7210EAFC2E9ADAC32AB7AAC49693DFBF83724C2EC0736EE31C80291</p>
+		<q>C773218C737EC8EE993B4F2DED30F48EDACE915F</q>
+		<g>626D027839EA0A13413163A55B4CB500299D5522956CEFCB3BFF10F399CE2C2E71CB9DE5FA24BABF58E5B79521925C9CC42E9F6F464B088CC572AF53E6D78802</g>
+		<x>2070B3223DBA372FDE1C0FFC7B2E3B498B260614</x>
+		//Note that the actual k isn't used, its here in case you want to test
+		//it in another crypto library.  Our DSASign NewRandomL adds 1 to the
+		//value given for algorithmic reasons (see TInteger::RandomizeL if you
+		//care)
+		<actualk>BFDFAADE2B6B371ACF54E2500F71621457AD8D35</actualk>
+		<k>BEDFAADE2B6B371ACF54E2500F71621457AD8D35</k>
+		<m>abc</m>
+		<r>9BAC1AB66410435CB7181F95B16AB97C92B341C0</r>
+		<s>41E2345F1F56DF2458F426D155B4BA2DB6DCD8C8</s>
+	</actionbody>
+	<actionresult>
+		<result>EFalse</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>DSA test vector 4 (test a failure) (DSAVerifyVector) message changed from "abc" to "abcd"</actionname>
+	<actiontype>DSAVerifyVector</actiontype>
+	<actionbody>
+		<p>8DF2A494492276AA3D25759BB06869CBEAC0D83AFB8D0CF7CBB8324F0D7882E5D0762FC5B7210EAFC2E9ADAC32AB7AAC49693DFBF83724C2EC0736EE31C80291</p>
+		<q>C773218C737EC8EE993B4F2DED30F48EDACE915F</q>
+		<g>626D027839EA0A13413163A55B4CB500299D5522956CEFCB3BFF10F399CE2C2E71CB9DE5FA24BABF58E5B79521925C9CC42E9F6F464B088CC572AF53E6D78802</g>
+		<y>19131871D75B1612A819F29D78D1B0D7346F7AA77BB62A859BFD6C5675DA9D212D3A36EF1672EF660B8C7C255CC0EC74858FBA33F44C06699630A76B030EE333</y>
+		<m>abcd</m>
+		<r>8BAC1AB66410435CB7181F95B16AB97C92B341C0</r>
+		<s>41E2345F1F56DF2458F426D155B4BA2DB6DCD8C8</s>
+	</actionbody>
+	<actionresult>
+		<result>EFalse</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>DSA Verify - test a failure</actionname>
+	<actiontype>DSAVerifyVector</actiontype>
+	<actionbody>
+		<p>8BEB66ADFBA28FC4B18E05F48343F2D8F924CF9E8745F5D3611B034A0186EC00C548944D505A0CD7503F3B58243D31677B91572326D05CE5F905F4AE523F1A7F</p>
+		<q>DCC1021CA278CBAA31B0ED3B7256AF4B98A40E69</q>
+		<g>727D17D06E18163485DF93E2734D5B9A686C41F91C599CE47FD0020598EDC5F95E746FFA91B13B862165915CF85EC9D6A9BEFC404B706F83487BA759BD03BDE4</g>
+		<y>3A651CAD007155C6881209DBCB453BB573DFF0EEA12D068EE84D413F1A8B617ADE65348B0AA1A1E75D49FD943E031FBB9539C5E8F2BC04CCEF486AEB691C7729</y>
+		<hexm>3DB3CC73D10A3473AE6BC86AA58C1502E2CD2F0D</hexm>
+		<r>BD074766C30C37FCD2DA51D0D89C80086A5D511A</r>
+		<s>5EEA2C7C85A43079AAFC58689353DCBF2E0B19F3</s>
+	</actionbody>
+	<actionresult>
+		<result>EFalse</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>DSA Verify - test a failure</actionname>
+	<actiontype>DSAVerifyVector</actiontype>
+	<actionbody>
+		<p>F030274963050EA96BF84D38B64F244C63F97101923F9D7571F03E473A9BF81F4AD9E529DA2189CABD4CCD034E1318B68E1595E5C555DDF93E229C531FCE62A46A3AEA5F9A3474116E4E11561F5B2FEAD359F7E9402F36636B41B2EBE6121C6471812C82DCB3D22BAF762E5BE5F50A2FFD92105F5EDD7B4BE1BC482B6E2CC0D3</p>
+		<q>C3A8B0FCF311B908EBE3FB25DEB50D4536CF5077</q>
+		<g>A33FF02A636AC114FB8463C30FB91B4F90304048C90973C8AF00424F76952D07805EBD7FCFD77D5F8D481692FFAAF7A17A02F5221FFAACCF77882C92E25A32315B68769FD444771A297110ADB9F9B1D0A0FB7ED7BB250E7CCE9CA5CF89A603061BA1A659BF789912E5F21D630F601C9A04C9D69FAD6735C04498C1214E0D5F9D</g>
+		<y>4CA88EB9E2E75BB4398250AFA9DD4B98FE1835FDB3B8D97F145448A9F4E2C4E0D4627450729D5177FDC549EBDC3A27CC14FEC48F13F00E9D0CDF4A2CABD44CBB573613059CC64FDAFF73E8EECD1BF62FF2920C42A3F925BF8164E3243F8FD8F9048B64D6526CF0E5D29FB3EE6BC77872FE241F1FA9CCD5FE87340DB7D4C3048B</y>
+		<hexm>91FEAD81D9BBBC9C8C74D4593476B15F446BA1EF</hexm>
+		<r>5787B406021EF3AF003D55E138FE3586997A22AC</r>
+		<s>20D3CC4DEDEDD08DC64615498F778D23C43D46D2</s>
+	</actionbody>
+	<actionresult>
+		<result>EFalse</result>
+	</actionresult>
+</action>
+<action>
+	<actionname>DH key agreement</actionname>
+	<actiontype>DHVector</actiontype>
+	<actionbody>
+		<n>DA9A18547FF03B385CC16508C173A7EF4EB61CB40EF8FEF3B31F145051676166BCDC3FE6B799FC394D08C26385F9413F896E09117E46209D6923602683CEA100924A6EE695281775C619DAA94EA8CB3691B4275B0183F1D39639EBC92995FE645D6C1BC28D409E585549BBD2C5DCDD6C208B04EADD8B7A6D997F72CBAD88390F</n>
+		<g>02</g>
+	</actionbody>
+	<actionresult>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>RSA Parameter Test 1 (RSAPublicKeyParams)</actionname>
+	<actiontype>RSAPublicKeyParams</actiontype>
+	<actionbody>
+		<modulus>00</modulus>
+		<publicExponent>00</publicExponent>
+	</actionbody>
+	<actionresult>
+		<return>KErrArgument</return>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>RSA Parameter Test 2 (RSAPrivateKeyParams)</actionname>
+	<actiontype>RSAPrivateKeyParams</actiontype>
+	<actionbody>
+		<modulus>00</modulus>
+		<privateExponent>00</privateExponent>
+	</actionbody>
+	<actionresult>
+		<return>KErrArgument</return>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>RSA Parameter Test 3 (RSAPrivateKeyCRTParams)</actionname>
+	<actiontype>RSAPrivateKeyCRTParams</actiontype>
+	<actionbody>
+		<modulus>00</modulus>
+		<P>00</P>
+		<Q>00</Q>
+		<dP>00</dP>
+		<dQ>00</dQ>
+		<qInv>00</qInv>
+	</actionbody>
+	<actionresult>
+		<return>KErrArgument</return>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>RSA Exponent Test 1 (RSAPublicKeyParams)</actionname>
+	<actiontype>RSAPublicKeyParams</actiontype>
+	<actionbody>
+		<modulus>A3504534C29C59CA9A34CBB95A18D435FE66FBC7DECD572B91C80F72EE0786D4DD92F8B8416D54BDE12DF2E83F8DC9B1642980BD31852650A5A8F6D6D8C6A9BE965B34FE7659AC5DD372AB91277B2C9CEB797C4B4B5888E33C0D2CFBE9AAD53E158475ED88884D5DCC663AF5AAA62030E3799FAA1FA47AB2665208597F358497</modulus>
+		<publicExponent>01</publicExponent>
+	</actionbody>
+	<actionresult>
+		<return>KErrArgument</return>
+		<result>ETrue</result>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>RSA Exponent Test 2 (RSAPrivateKeyParams)</actionname>
+	<actiontype>RSAPrivateKeyParams</actiontype>
+	<actionbody>
+		<modulus>A3504534C29C59CA9A34CBB95A18D435FE66FBC7DECD572B91C80F72EE0786D4DD92F8B8416D54BDE12DF2E83F8DC9B1642980BD31852650A5A8F6D6D8C6A9BE965B34FE7659AC5DD372AB91277B2C9CEB797C4B4B5888E33C0D2CFBE9AAD53E158475ED88884D5DCC663AF5AAA62030E3799FAA1FA47AB2665208597F358497</modulus>
+		<privateExponent>01</privateExponent>
+	</actionbody>
+	<actionresult>
+		<return>KErrArgument</return>
+		<result>ETrue</result>
+	</actionresult>
+</action>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tasymmetric/tasymmetricmain.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,88 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include <e32base.h>
+#include "t_testhandler.h"
+#include "tscripttests.h"
+#include "trsaencryptfb.h"
+#include "trsasignfb.h"
+#include "tdsasignfb.h"
+#include "trsavector.h"
+#include "tdsavector.h"
+#include "tdsasignfb.h"
+#include "tdsaprimegen.h"
+#include "performancetest.h"
+#include "tdhvector.h"
+#include "trsaparams.h"
+
+LOCAL_D void callExampleL() // initialize and call example code under cleanup stack
+    {
+	START_SCRIPT_LIST
+	SCRIPT_ITEM(CRSAEncryptFB,_L8("RSAEncryptStandardAndCRTFB")),
+	SCRIPT_ITEM(CRSASignFB,_L8("RSASignStandardAndCRTFB")),
+	SCRIPT_ITEM(CDSASignFB,_L8("DSASignFB")),
+	SCRIPT_ITEM(CRSAEncryptVector,_L8("RSAEncryptVector")),
+	SCRIPT_ITEM(CRSADecryptVector,_L8("RSADecryptVector")),
+	SCRIPT_ITEM(CRSADecryptVectorCRT,_L8("RSADecryptVectorCRT")),
+	SCRIPT_ITEM(CRSASignVector,_L8("RSASignVector")),
+	SCRIPT_ITEM(CRSASignVectorCRT,_L8("RSASignVectorCRT")),
+	SCRIPT_ITEM(CRSAVerifyVector,_L8("RSAVerifyVector")),
+	SCRIPT_ITEM(CDSASignVector,_L8("DSASignVector")),
+	SCRIPT_ITEM(CDSAVerifyVector,_L8("DSAVerifyVector")),
+	SCRIPT_ITEM(CDSASignFB,_L8("DSASignFB")),
+	SCRIPT_ITEM(CDSAPrimeGen,_L8("DSAPrimeGen")),
+	SCRIPT_ITEM(CPerformanceTest, _L8("PerformanceTestSettings")),
+	SCRIPT_ITEM(CDHVector,_L8("DHVector")),
+	SCRIPT_ITEM(CRSATestPublicKey,_L8("RSAPublicKeyParams")),
+	SCRIPT_ITEM(CRSATestPrivateKey,_L8("RSAPrivateKeyParams")),
+	SCRIPT_ITEM(CRSATestPrivateKeyCRT,_L8("RSAPrivateKeyCRTParams"))
+	END_SCRIPT_LIST
+
+//	Either run the top level build and test script or, if running this test specifically, 
+//	uncomment the following and it'll run them all one after the other
+
+	//get the system drive.	
+	TDriveUnit sysDrive (RFs::GetSystemDrive());
+	TBuf<64> scriptFile = sysDrive.Name();
+	scriptFile.Append(_L("\\tasymmetric\\tasymmetrictests.txt"));
+	TBuf<64> logFile = sysDrive.Name();
+	logFile.Append(_L("\\tasymmetric\\tasymmetrictests.log"));
+	CTestSetup::CreateAndRunTestsL(theTestTypes, scriptFile, logFile);
+	
+/* The test framework can't handle more than one script
+ * at a time.  If you want to run all of the asymmetric tests from the command
+ * line, uncomment this next section.
+#ifndef _DEBUG
+	CTestSetup::CreateAndRunTestsL(theTestTypes, _L("c:\\tasymmetric\\asymmetricPerformance.txt"),
+		_L("c:\\tasymmetric\\asymmetricPerformance.log"));	
+#endif
+*/
+    }
+
+GLDEF_C TInt E32Main() // main function called by E32
+    {
+	__UHEAP_MARK;
+	CTrapCleanup* cleanup = CTrapCleanup::New(); // get clean-up stack
+	CPerformance::NewL();
+	TRAPD(error, callExampleL());
+	CPerformance::ClosePerformanceTester();
+	__ASSERT_ALWAYS(!error,User::Panic(_L("tasymmetricmain"),error));
+	delete cleanup; // destroy clean-up stack
+	__UHEAP_MARKEND;
+	return 0;
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tasymmetric/tbrokenrandom.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,67 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+/**
+ @file
+*/
+
+#include "tbrokenrandom.h"
+
+/* CRandomSetSeed */
+CRandomSetSource::CRandomSetSource(const TDesC8& aSource)
+    {
+	SetSource(aSource);
+    }
+
+void CRandomSetSource::GenerateBytesL(TDes8& aDest) 
+    {
+	if(aDest.Size() <= iValue.Size() - (TInt)iCounter)
+		{
+		for (int i = 0 ; i < aDest.Length() ; ++i)
+			{
+			aDest[i] = iValue[iCounter];
+			iCounter++;
+			} 
+		}
+	else
+		{
+		TRandom::RandomL(aDest);
+		}
+    }
+
+void CRandomSetSource::SetSource(const TDesC8& aSource)
+	{
+	iValue.Set(aSource);
+	iCounter = 0;
+	}
+
+/* CRandomIncrementing */
+CRandomIncrementing::CRandomIncrementing(TUint aInitialValue)
+    {
+	iValue = aInitialValue;
+    }
+
+void CRandomIncrementing::GenerateBytesL(TDes8& aDest) 
+    {
+    for (int i = 0 ; i < aDest.Length() ; ++i)
+        {
+        aDest[i] = (char)(iValue)++;
+        }
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tasymmetric/tbrokenrandom.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,53 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+
+/**
+ @file
+*/
+
+#ifndef __CBROKENRANDOM_H__
+#define __CBROKENRANDOM_H__
+
+#include <e32base.h>
+#include <random.h>
+
+class CRandomSetSource : public CRandom
+	{
+public:
+	CRandomSetSource(const TDesC8& aSource);
+	virtual void GenerateBytesL(TDes8& aDest);
+	void SetSource(const TDesC8& aSource);
+
+private:
+	TPtrC8 iValue;
+	mutable TUint iCounter;
+	};
+
+class CRandomIncrementing : public CRandom
+	{
+public:
+	CRandomIncrementing(TUint aInitialValue);
+	virtual void GenerateBytesL(TDes8& aDest);
+
+private:
+	mutable TUint iValue;
+	};
+
+#endif	//	__CBROKENRANDOM_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tasymmetric/tdhvector.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,158 @@
+/*
+* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include "tdhvector.h"
+#include <t_input.h>
+#include "performancetest.h"
+
+CTestAction* CDHVector::NewL(RFs& aFs,
+                               CConsoleBase& aConsole,
+                               Output& aOut, 
+                               const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction* self = CDHVector::NewLC(aFs, aConsole,
+		aOut, aTestActionSpec);
+	CleanupStack::Pop();
+	return self;
+	}
+
+CTestAction* CDHVector::NewLC(RFs& aFs,
+                                CConsoleBase& aConsole,
+                                Output& aOut, 
+                                const TTestActionSpec& aTestActionSpec)
+	{
+	CDHVector* self = new(ELeave) CDHVector(aFs, aConsole, aOut);
+	CleanupStack::PushL(self);
+	self->ConstructL(aTestActionSpec);
+	return self;
+	}
+
+CDHVector::~CDHVector()
+	{
+	delete iN;
+	delete iG;
+	}
+
+CDHVector::CDHVector(RFs& /*aFs*/, 
+                                     CConsoleBase& aConsole,
+                                     Output& aOut)					 
+: CVectorTest(aConsole, aOut)
+	{
+	}
+
+void CDHVector::ConstructL(const TTestActionSpec& aTestActionSpec)
+	{
+	CVectorTest::ConstructL(aTestActionSpec);
+
+    iN = Input::ParseElementHexL(aTestActionSpec.iActionBody, _L8("<n>"));
+    iG = Input::ParseElementHexL(aTestActionSpec.iActionBody, _L8("<g>"));
+
+	}
+
+
+void CDHVector::DoPerformPrerequisite(TRequestStatus& aStatus)
+	{
+	iN1 = RInteger::NewL(*iN);
+	iN2 = RInteger::NewL(*iN);
+	iG1 = RInteger::NewL(*iG);
+	iG2 = RInteger::NewL(*iG);
+	TRequestStatus* status = &aStatus;
+	User::RequestComplete(status, KErrNone);
+	iActionState = CTestAction::EAction;
+	}
+
+void CDHVector::DoPerformanceTestActionL()
+	{
+	iResult = ETrue;
+	__UHEAP_MARK;
+
+	CDHKeyPair* keyPair1 = CDHKeyPair::NewLC(iN1, iG1);
+	CDHKeyPair* keyPair2 = CDHKeyPair::NewLC(iN2, iG2);
+	CDH* dh1 = CDH::NewLC(keyPair1->PrivateKey());
+	
+	TTimeIntervalMicroSeconds agreeTime(0);
+	TTime start, end;
+	TTimeIntervalSeconds diff(0);
+	const TTimeIntervalSeconds KIterationTime(iPerfTestIterations);
+
+	TInt index = 0;
+
+	start.UniversalTime();
+
+	while (diff < KIterationTime)
+		{
+		delete const_cast<HBufC8*>(dh1->AgreeL(keyPair2->PublicKey()));
+		end.UniversalTime();
+		end.SecondsFrom(start, diff);
+		index++;
+		}
+	end.UniversalTime();
+	
+	agreeTime = end.MicroSecondsFrom(start);
+	
+    CleanupStack::PopAndDestroy(dh1);
+    CleanupStack::PopAndDestroy(keyPair2);
+    CleanupStack::PopAndDestroy(keyPair1);
+
+	__UHEAP_MARKEND;
+
+	if (iResult)
+		{
+		TReal rate = I64REAL(agreeTime.Int64()) / index;
+		TReal agreetime = I64REAL(agreeTime.Int64());
+		TBuf<256> buf;
+		_LIT(KEncryptTime, "\tKey Agreements: %f us/agreement (%i in %f us)\r\n");
+		buf.Format(KEncryptTime, rate, index, agreetime);
+		iOut.writeString(buf);
+		}
+	else
+		{
+		_LIT(KNoTimingInfo, "\tTest Failed! No benchmark data\n");
+		iOut.writeString(KNoTimingInfo);
+		}
+}
+
+void CDHVector::DoPerformActionL()
+	{
+	iResult = ETrue;
+	__UHEAP_MARK;
+
+	CDHKeyPair* keyPair1 = CDHKeyPair::NewLC(iN1, iG1);
+	CDHKeyPair* keyPair2 = CDHKeyPair::NewLC(iN2, iG2);
+	CDH* dh1 = CDH::NewLC(keyPair1->PrivateKey());
+	CDH* dh2 = CDH::NewLC(keyPair2->PrivateKey());
+	const HBufC8* key1 = dh1->AgreeL(keyPair2->PublicKey());
+	CleanupStack::PushL(const_cast<HBufC8*>(key1));
+	const HBufC8* key2 = dh2->AgreeL(keyPair1->PublicKey());
+
+	if(*key1 != *key2)
+		{
+		iResult = EFalse;
+		}
+
+	delete const_cast<HBufC8*>(key2);
+	CleanupStack::PopAndDestroy(const_cast<HBufC8*>(key1));
+	CleanupStack::PopAndDestroy(dh2);
+	CleanupStack::PopAndDestroy(dh1);
+	CleanupStack::PopAndDestroy(keyPair2);
+	CleanupStack::PopAndDestroy(keyPair1);
+
+	__UHEAP_MARKEND;
+	}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tasymmetric/tdhvector.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,52 @@
+/*
+* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#ifndef __TDHVECTOR_H__
+#define __TDHVECTOR_H__
+
+#include "tvectortest.h"
+
+/**
+ * Runs DH vectors.
+ */
+class CDHVector : public CVectorTest
+    {
+public:
+	static CTestAction* NewL(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	static CTestAction* NewLC(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	virtual ~CDHVector();
+protected:
+	virtual void DoPerformActionL();
+	virtual void DoPerformPrerequisite(TRequestStatus& aStatus);
+	virtual void DoPerformanceTestActionL();
+private:
+	CDHVector(RFs& aFs, CConsoleBase& aConsole, Output& aOut);
+	void ConstructL(const TTestActionSpec& aTestActionSpec);
+
+	HBufC8* iN;
+	HBufC8* iG;
+	RInteger iN1;
+	RInteger iN2;
+	RInteger iG1;
+	RInteger iG2;
+    };
+
+#endif
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tasymmetric/tdsaprimegen.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,141 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include "tdsaprimegen.h"
+#include "t_input.h"
+#include <asymmetric.h>
+#include <random.h>
+#include <padding.h>
+#include <bigint.h>
+#include "tbrokenrandom.h"
+
+CTestAction* CDSAPrimeGen::NewL(RFs& aFs, CConsoleBase& aConsole, Output& aOut, 
+	const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction* self = CDSAPrimeGen::NewLC(aFs, aConsole,
+		aOut, aTestActionSpec);
+	CleanupStack::Pop();
+	return self;
+	}
+
+CTestAction* CDSAPrimeGen::NewLC(RFs& aFs, CConsoleBase& aConsole, Output& aOut, 
+	const TTestActionSpec& aTestActionSpec)
+	{
+	CDSAPrimeGen* self = new(ELeave) CDSAPrimeGen(aFs, aConsole, aOut);
+	CleanupStack::PushL(self);
+	self->ConstructL(aTestActionSpec);
+	return self;
+	}
+
+CDSAPrimeGen::~CDSAPrimeGen()
+	{
+	delete iBody;
+	iP.Close();
+	iQ.Close();
+	delete const_cast<CDSAPrimeCertificate*>(iPrimeCert);
+	}
+
+CDSAPrimeGen::CDSAPrimeGen(RFs& aFs, CConsoleBase& aConsole, Output& aOut)
+	: CTestAction(aConsole, aOut), iFs(aFs)
+	{
+	}
+
+void CDSAPrimeGen::ConstructL(const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction::ConstructL(aTestActionSpec);
+	iBody = HBufC8::NewL(aTestActionSpec.iActionBody.Length());
+	iBody->Des().Copy(aTestActionSpec.iActionBody);
+	
+
+	iKeyBits = Input::ParseIntElement(*iBody, _L8("<keybits>"), _L8("</keybits>"));
+
+	HBufC8* p = Input::ParseElementHexL(*iBody, _L8("<p>"));
+	CleanupStack::PushL(p);
+	iP = RInteger::NewL(*p);
+	CleanupStack::PopAndDestroy(p);
+
+	HBufC8* q = Input::ParseElementHexL(*iBody, _L8("<q>"));
+	CleanupStack::PushL(q);
+	iQ = RInteger::NewL(*q);
+	CleanupStack::PopAndDestroy(q);
+
+	TUint counter = Input::ParseIntElement(*iBody, _L8("<c>"), _L8("</c>"));
+	HBufC8* seed = Input::ParseElementHexL(*iBody, _L8("<seed>"));
+	CleanupStack::PushL(seed);
+	iPrimeCert = CDSAPrimeCertificate::NewL(*seed, counter);
+	CleanupStack::PopAndDestroy(seed);
+	}
+
+void CDSAPrimeGen::DoPerformPrerequisite(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+	User::RequestComplete(status, KErrNone);
+	iActionState = CTestAction::EAction;
+	}
+
+void CDSAPrimeGen::DoPerformPostrequisite(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+
+	iFinished = ETrue;
+	User::RequestComplete(status, KErrNone);
+	}
+
+void CDSAPrimeGen::DoReportAction(void)
+	{
+	}
+
+void CDSAPrimeGen::DoCheckResult(TInt)
+	{
+	if (iResult)
+		iConsole.Printf(_L("."));
+	else
+		iConsole.Printf(_L("X"));
+	}
+
+void CDSAPrimeGen::PerformAction(TRequestStatus& aStatus)
+	{
+	__UHEAP_MARK;
+	TRequestStatus* status = &aStatus;
+	iResult = EFalse;
+
+	CRandomSetSource* rng = new(ELeave)CRandomSetSource(iPrimeCert->Seed());
+	SetThreadRandomLC(rng);
+	CDSAKeyPair* dsaPair = CDSAKeyPair::NewLC(iKeyBits);
+	
+	//this is more or less just calling the prime generation routine over again
+	//but it does test if ValidatePrimesL and the NewLC generate the same primes
+	iResult = dsaPair->PublicKey().ValidatePrimesL(*iPrimeCert);
+
+	//we've already checked that the ValidatePrime + NewLC give same results
+	//this now checks against the vectors in the test scripts
+	if(iP != dsaPair->PublicKey().P() ||
+		iQ != dsaPair->PublicKey().Q() || 
+		iP != dsaPair->PrivateKey().P() ||
+		iQ != dsaPair->PrivateKey().Q() )
+		{
+		iResult = EFalse;
+		}
+
+	CleanupStack::PopAndDestroy(dsaPair); 
+	CleanupStack::PopAndDestroy(); //SetThreadRandomLC
+	User::RequestComplete(status, KErrNone);
+	iActionState = CTestAction::EPostrequisite;
+	__UHEAP_MARKEND;
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tasymmetric/tdsaprimegen.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,56 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#ifndef __TDSAPRIMEGEN_H__
+#define __TDSAPRIMEGEN_H__
+
+#include "t_testaction.h"
+#include <e32std.h>
+#include <asymmetric.h>
+#include <asymmetrickeys.h>
+#include <random.h>
+
+
+class CDSAPrimeGen : public CTestAction
+{
+public:
+	static CTestAction* NewL(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	static CTestAction* NewLC(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	virtual ~CDSAPrimeGen();
+	virtual void DoPerformPrerequisite(TRequestStatus& aStatus);
+	virtual void DoPerformPostrequisite(TRequestStatus& aStatus);
+	virtual void PerformAction(TRequestStatus& aStatus);
+	virtual void DoReportAction(void);
+	virtual void DoCheckResult(TInt);
+
+private:
+	CDSAPrimeGen(RFs& aFs, CConsoleBase& aConsole, Output& aOut);
+	void ConstructL(const TTestActionSpec& aTestActionSpec);
+
+	RFs& iFs;
+	HBufC8* iBody;
+	RInteger iP;
+	RInteger iQ;
+	TUint iCounter;
+	TUint iKeyBits;
+	const CDSAPrimeCertificate* iPrimeCert;
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tasymmetric/tdsasignfb.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,158 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include "tdsasignfb.h"
+#include "t_input.h"
+#include "t_output.h"
+#include <asymmetric.h>
+#include <random.h>
+#include <padding.h>
+#include <bigint.h>
+#include "tbrokenrandom.h"
+
+CTestAction* CDSASignFB::NewL(RFs& aFs, CConsoleBase& aConsole, Output& aOut, 
+	const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction* self = CDSASignFB::NewLC(aFs, aConsole,
+		aOut, aTestActionSpec);
+	CleanupStack::Pop();
+	return self;
+	}
+
+CTestAction* CDSASignFB::NewLC(RFs& aFs, CConsoleBase& aConsole, Output& aOut, 
+	const TTestActionSpec& aTestActionSpec)
+	{
+	CDSASignFB* self = new(ELeave) CDSASignFB(aFs, aConsole, aOut);
+	CleanupStack::PushL(self);
+	self->ConstructL(aTestActionSpec);
+	return self;
+	}
+
+CDSASignFB::~CDSASignFB()
+	{
+	delete iBody;
+	delete iSeed;
+	}
+
+CDSASignFB::CDSASignFB(RFs& aFs, CConsoleBase& aConsole, Output& aOut)
+	: CTestAction(aConsole, aOut), iFs(aFs)
+	{
+	}
+
+void CDSASignFB::ConstructL(const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction::ConstructL(aTestActionSpec);
+	iBody = HBufC8::NewL(aTestActionSpec.iActionBody.Length());
+	iBody->Des().Copy(aTestActionSpec.iActionBody);
+	
+
+	iSeed = Input::ParseElementHexL(*iBody, _L8("<seed>"));
+	iKeyBits = Input::ParseIntElement(*iBody, _L8("<keybits>"), _L8("</keybits>"));
+	}
+
+void CDSASignFB::DoPerformPrerequisite(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+	User::RequestComplete(status, KErrNone);
+	iActionState = CTestAction::EAction;
+	}
+
+void CDSASignFB::DoPerformPostrequisite(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+
+	iFinished = ETrue;
+	User::RequestComplete(status, KErrNone);
+	}
+
+void CDSASignFB::DoReportAction(void)
+	{
+	}
+
+void CDSASignFB::DoCheckResult(TInt)
+	{
+	if (iResult)
+		iConsole.Printf(_L("."));
+	else
+		iConsole.Printf(_L("X"));
+	}
+
+void CDSASignFB::PerformAction(TRequestStatus& aStatus)
+	{
+	__UHEAP_MARK;
+	TRequestStatus* status = &aStatus;
+	iResult = EFalse;
+
+	CRandomSetSource* rng = new(ELeave)CRandomSetSource(*iSeed);
+	SetThreadRandomLC(rng);
+	CDSAKeyPair* dsaPair = CDSAKeyPair::NewLC(iKeyBits);
+	CDSASigner* signer = CDSASigner::NewLC(dsaPair->PrivateKey());
+	CDSAVerifier* verifier = CDSAVerifier::NewLC(dsaPair->PublicKey());
+
+	TBuf8<128> message(128);
+	TRandom::RandomL(message);
+
+	const CDSASignature* signature = signer->SignL(message);
+	CleanupStack::PushL(const_cast<CDSASignature*>(signature));
+
+	if(verifier->VerifyL(message, *signature))
+		{
+		iResult = ETrue;
+		}
+	else
+		{
+		iOut.writeString(_L("Failure in dsasignfb with following data:\n"));
+		iOut.writeString(_L("input data: "));
+		iOut.writeOctetStringL(message);
+		iOut.writeString(_L("\n"));
+		iOut.writeString(_L("seed: "));
+		iOut.writeOctetStringL(*iSeed);
+		iOut.writeString(_L("\n"));
+		}
+	
+	CleanupStack::PopAndDestroy(const_cast<CDSASignature*>(signature));
+	CleanupStack::PopAndDestroy(verifier);
+	CleanupStack::PopAndDestroy(signer);
+	CleanupStack::PopAndDestroy(dsaPair);
+	CleanupStack::PopAndDestroy(); //SetThreadRandomLC
+	
+	User::RequestComplete(status, KErrNone);
+	iActionState = CTestAction::EPostrequisite;
+	__UHEAP_MARKEND;
+	}
+
+void CDSASignFB::Hex(HBufC8& aString)
+    {
+    TPtr8 ptr=aString.Des();
+    if (aString.Length()%2)
+        {
+        ptr.SetLength(0);
+        return;
+        }
+    TInt i;
+    for (i=0;i<aString.Length();i+=2)
+        {
+        TUint8 tmp;
+        tmp=(TUint8)(aString[i]-(aString[i]>'9'?('A'-10):'0'));
+        tmp*=16;
+        tmp|=(TUint8)(aString[i+1]-(aString[i+1]>'9'?('A'-10):'0'));
+        ptr[i/2]=tmp;
+        }
+    ptr.SetLength(aString.Length()/2);
+    }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tasymmetric/tdsasignfb.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,54 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* tdsasign.h
+*
+*/
+
+
+#ifndef __TDSASIGN_H__
+#define __TDSASIGN_H__
+
+#include "t_testaction.h"
+#include <e32std.h>
+#include <asymmetric.h>
+#include <asymmetrickeys.h>
+#include <random.h>
+
+class CDSASignFB : public CTestAction
+{
+public:
+	static CTestAction* NewL(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	static CTestAction* NewLC(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	virtual ~CDSASignFB();
+	virtual void DoPerformPrerequisite(TRequestStatus& aStatus);
+	virtual void DoPerformPostrequisite(TRequestStatus& aStatus);
+	virtual void PerformAction(TRequestStatus& aStatus);
+	virtual void DoReportAction(void);
+	virtual void DoCheckResult(TInt);
+
+private:
+	CDSASignFB(RFs& aFs, CConsoleBase& aConsole, Output& aOut);
+	void ConstructL(const TTestActionSpec& aTestActionSpec);
+	void Hex(HBufC8& string);
+
+	RFs& iFs;
+	HBufC8* iBody;
+	HBufC8* iSeed;
+	TUint iKeyBits;
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tasymmetric/tdsavector.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,213 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include "tdsavector.h"
+#include "tvectorutils.h"
+#include "t_input.h"
+#include <bigint.h>
+#include "tbrokenrandom.h"
+
+////////////////////////////////////////////////////////////////////////////////
+// CDSASignVector
+////////////////////////////////////////////////////////////////////////////////
+
+CTestAction* CDSASignVector::NewL(RFs& aFs,
+                                  CConsoleBase& aConsole,
+                                  Output& aOut, 
+                                  const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction* self = CDSASignVector::NewLC(aFs, aConsole, aOut, aTestActionSpec);
+	CleanupStack::Pop();
+	return self;
+	}
+
+CTestAction* CDSASignVector::NewLC(RFs& aFs,
+                                   CConsoleBase& aConsole,
+                                   Output& aOut, 
+                                   const TTestActionSpec& aTestActionSpec)
+	{
+	CDSASignVector* self = new(ELeave) CDSASignVector(aFs, aConsole, aOut);
+	CleanupStack::PushL(self);
+	self->ConstructL(aTestActionSpec);
+	return self;
+	}
+
+CDSASignVector::~CDSASignVector()
+	{
+    delete iPrivKey;
+	delete iSignature;
+	delete iK;
+	delete iSigInput;
+	}
+
+CDSASignVector::CDSASignVector(RFs& /*aFs*/, 
+                               CConsoleBase& aConsole,
+                               Output& aOut)					 
+    : CVectorTest(aConsole, aOut)
+	{
+	}
+
+void CDSASignVector::ConstructL(const TTestActionSpec& aTestActionSpec)
+	{
+	CVectorTest::ConstructL(aTestActionSpec);
+
+    iPrivKey = VectorUtils::ReadDSAPrivateKeyL(aTestActionSpec.iActionBody);
+
+	iMessage.Set(Input::ParseElement(aTestActionSpec.iActionBody, _L8("<m>")));
+	iK = Input::ParseElementHexL(aTestActionSpec.iActionBody, _L8("<k>"));
+
+	iSignature = VectorUtils::ReadDSASignatureL(aTestActionSpec.iActionBody);
+	iSigInput = CHashingSignatureInput::NewL(CMessageDigest::ESHA1);
+	iSigInput->Update(iMessage);
+	}
+
+void CDSASignVector::DoPerformActionL()
+	{
+	__UHEAP_MARK;
+
+	CRandomSetSource* random = new(ELeave)CRandomSetSource(*iK);
+	SetThreadRandomLC(random);
+
+    CDSASigner* signer = CDSASigner::NewLC(*iPrivKey);
+	const CDSASignature* testSig = signer->SignL(iSigInput->Final());
+    iResult = (*testSig == *iSignature);
+
+	delete testSig;
+    CleanupStack::PopAndDestroy(signer);
+	CleanupStack::PopAndDestroy(); //SetThreadRandomLC
+
+	__UHEAP_MARKEND;
+	}
+
+void CDSASignVector::DoPerformanceTestActionL()
+	{
+	iResult = ETrue;
+	}
+
+void CDSASignVector::DoCheckResult(TInt /*aError*/)
+	{
+//	If using Keith's fixed up testframework for testing failures, iResult will 
+//	have already been corrected for a deliberate fail result.
+//	If not using Keith's testframework iResult is still a fail result at this
+//	point, so now's the time to adjust for deliberate failure.
+
+	if (!iResult)
+		iResult = (iResult && iExpectedResult) || (!iResult && !iExpectedResult);
+	
+	if( iResult == EFalse )
+		{
+		iConsole.Printf(_L("X"));
+		}
+	else 
+		{
+		iConsole.Printf(_L("."));
+		}
+	}
+
+////////////////////////////////////////////////////////////////////////////////
+// CDSAVerifyVector
+////////////////////////////////////////////////////////////////////////////////
+
+CTestAction* CDSAVerifyVector::NewL(RFs& aFs,
+                                  CConsoleBase& aConsole,
+                                  Output& aOut, 
+                                  const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction* self = CDSAVerifyVector::NewLC(aFs, aConsole, aOut, aTestActionSpec);
+	CleanupStack::Pop();
+	return self;
+	}
+
+CTestAction* CDSAVerifyVector::NewLC(RFs& aFs,
+                                   CConsoleBase& aConsole,
+                                   Output& aOut, 
+                                   const TTestActionSpec& aTestActionSpec)
+	{
+	CDSAVerifyVector* self = new(ELeave) CDSAVerifyVector(aFs, aConsole, aOut);
+	CleanupStack::PushL(self);
+	self->ConstructL(aTestActionSpec);
+	return self;
+	}
+
+CDSAVerifyVector::~CDSAVerifyVector()
+	{
+    delete iPubKey;
+	delete iSignature;
+	delete iMessage;
+	delete iSigInput;
+	}
+
+CDSAVerifyVector::CDSAVerifyVector(RFs& /*aFs*/, 
+                                   CConsoleBase& aConsole,
+                                   Output& aOut)					 
+    : CVectorTest(aConsole, aOut)
+	{
+	}
+
+void CDSAVerifyVector::ConstructL(const TTestActionSpec& aTestActionSpec)
+	{
+	CVectorTest::ConstructL(aTestActionSpec);
+
+    iPubKey = VectorUtils::ReadDSAPublicKeyL(aTestActionSpec.iActionBody);
+
+	TPtrC8 message(Input::ParseElement(aTestActionSpec.iActionBody, _L8("<m>")));
+	if (message.Length()==0)	
+		iMessage = Input::ParseElementHexL(aTestActionSpec.iActionBody, _L8("<hexm>"));
+	else
+		iMessage = message.AllocL();
+		
+	iSignature = VectorUtils::ReadDSASignatureL(aTestActionSpec.iActionBody);
+	iSigInput = CHashingSignatureInput::NewL(CMessageDigest::ESHA1);
+	iSigInput->Update(*iMessage);
+	}	
+
+void CDSAVerifyVector::DoPerformActionL()
+	{
+	__UHEAP_MARK;
+
+    CDSAVerifier* verifier = CDSAVerifier::NewLC(*iPubKey);
+    iResult = verifier->VerifyL(iSigInput->Final(), *iSignature);
+
+    CleanupStack::PopAndDestroy(verifier);
+	__UHEAP_MARKEND;
+	}
+
+void CDSAVerifyVector::DoPerformanceTestActionL()
+	{
+	iResult = ETrue;
+	}
+
+void CDSAVerifyVector::DoCheckResult(TInt /*aError*/)
+	{
+//	If using Keith's fixed up testframework for testing failures, iResult will 
+//	have already been corrected for a deliberate fail result.
+//	If not using Keith's testframework iResult is still a fail result at this
+//	point, so now's the time to adjust for deliberate failure.
+
+	if (!iResult)
+		iResult = (iResult && iExpectedResult) || (!iResult && !iExpectedResult);
+	
+	if( iResult == EFalse )
+		{
+		iConsole.Printf(_L("X"));
+		}
+	else 
+		{
+		iConsole.Printf(_L("."));
+		}
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tasymmetric/tdsavector.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,83 @@
+/*
+* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* trdavector.h
+* Vector tests for RSA ciphers
+*
+*/
+
+
+#ifndef __TDSAVECTOR_H__
+#define __TDSAVECTOR_H__
+
+#include "tvectortest.h"
+#include "asymmetrickeys.h"
+#include "tsignatureinput.h"
+
+/**
+ * Runs DSA signing vectors.
+ */
+
+class CDSASignVector : public CVectorTest
+    {
+public:
+	static CTestAction* NewL(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	static CTestAction* NewLC(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	virtual ~CDSASignVector();
+	virtual void DoCheckResult(TInt aError);
+protected:
+	virtual void DoPerformActionL();
+	virtual void DoPerformanceTestActionL();
+private:
+	CDSASignVector(RFs& aFs, CConsoleBase& aConsole, Output& aOut);
+	void ConstructL(const TTestActionSpec& aTestActionSpec);
+
+	CDSAPrivateKey* iPrivKey;
+	TPtrC8 iMessage;
+	HBufC8* iK;
+	CDSASignature* iSignature;
+	CSignatureInput* iSigInput;
+    };
+
+/**
+ * Runs DSA verification vectors.
+ */
+
+class CDSAVerifyVector : public CVectorTest
+    {
+public:
+	static CTestAction* NewL(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	static CTestAction* NewLC(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	virtual ~CDSAVerifyVector();
+	//virtual void PerformAction(TRequestStatus& aStatus);
+	virtual void DoCheckResult(TInt aError);
+protected:
+	virtual void DoPerformActionL();
+	virtual void DoPerformanceTestActionL();
+
+private:
+	CDSAVerifyVector(RFs& aFs, CConsoleBase& aConsole, Output& aOut);
+	void ConstructL(const TTestActionSpec& aTestActionSpec);
+
+	CDSAPublicKey* iPubKey;    
+	HBufC8* iMessage;
+	CDSASignature* iSignature;
+	CSignatureInput* iSigInput;
+    };
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tasymmetric/trsaencryptfb.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,391 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include "trsaencryptfb.h"
+#include "t_input.h"
+#include <asymmetric.h>
+#include <padding.h>
+#include <bigint.h>
+#include "performancetest.h"
+#include <securityerr.h>
+
+_LIT8(KInputStart, "<input>");
+_LIT8(KInputEnd, "</input>");
+_LIT8(KKeyBitsStart, "<keybits>");
+_LIT8(KKeyBitsEnd, "</keybits>");
+
+CRSAEncryptFB::~CRSAEncryptFB()
+	{
+	delete iBody;
+	}
+
+CRSAEncryptFB::CRSAEncryptFB(RFs& aFs, CConsoleBase& aConsole, Output& aOut)
+	: CTestAction(aConsole, aOut), iFs(aFs), iKeyBits(512)	//	Default key size = 512
+	{
+	}
+
+CTestAction* CRSAEncryptFB::NewL(RFs& aFs, CConsoleBase& aConsole, Output& aOut, 
+	const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction* self = CRSAEncryptFB::NewLC(aFs, aConsole,
+		aOut, aTestActionSpec);
+	CleanupStack::Pop();
+	return self;
+	}
+
+CTestAction* CRSAEncryptFB::NewLC(RFs& aFs, CConsoleBase& aConsole,Output& aOut,
+	const TTestActionSpec& aTestActionSpec)
+	{
+	CRSAEncryptFB* self = new(ELeave) CRSAEncryptFB(aFs, aConsole, aOut);
+	CleanupStack::PushL(self);
+	self->ConstructL(aTestActionSpec);
+	return self;
+	}
+
+void CRSAEncryptFB::ConstructL(const TTestActionSpec& aTestActionSpec)
+{
+	CTestAction::ConstructL(aTestActionSpec);
+	iBody = HBufC8::NewL(aTestActionSpec.iActionBody.Length());
+	iBody->Des().Copy(aTestActionSpec.iActionBody);	
+
+	if (CPerformance::PerformanceTester()->IsTestingPerformance())
+	{//	Number of test iterations
+		TPtrC8 itsPtr = Input::ParseElement(aTestActionSpec.iActionBody, KIterationsStart, KIterationsEnd);
+		if (itsPtr!=KNullDesC8)
+		{
+			TLex8 lex;
+			lex.Assign(itsPtr);
+			User::LeaveIfError(lex.Val(iPerfTestIterations));
+			if (iPerfTestIterations > KMaxIterations)
+				User::Panic(_L("AsymmetricPerformance.exe"), KErrArgument);
+		}
+		TPtrC8 cryptoPtr = Input::ParseElement(aTestActionSpec.iActionBody, KTypeOfCryptoStart, KTypeOfCryptoEnd);
+		if (cryptoPtr.CompareF(KRSAStandard) == 0)
+			{
+			iCryptoType = EStandard;
+			}
+		else if (cryptoPtr.CompareF(KRSAStandardCRT) == 0)
+			{
+			iCryptoType = EStandardCRT;
+			}
+		else
+			{
+			User::Panic(_L("AsymmetricPerformance.exe"), KErrArgument);
+			}
+	}
+
+	TPtrC8 keyBitsPtr = Input::ParseElement(*iBody, KKeyBitsStart, KKeyBitsEnd); 
+	if (keyBitsPtr!=KNullDesC8)
+	{
+		TLex8 lex;
+		lex.Assign(keyBitsPtr);
+		User::LeaveIfError(lex.Val(iKeyBits));
+	}
+}
+
+void CRSAEncryptFB::DoPerformPrerequisite(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+
+	TPtrC8 inputTemp = Input::ParseElement(*iBody, KInputStart, KInputEnd);
+	iInput = HBufC8::NewL(inputTemp.Length());
+	*iInput = inputTemp;
+	Hex(*iInput);
+
+	User::RequestComplete(status, KErrNone);
+	iActionState = CTestAction::EAction;
+	}
+
+void CRSAEncryptFB::DoPerformPostrequisite(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+	delete iInput;
+
+	iFinished = ETrue;
+	User::RequestComplete(status, iActionResult);
+	}
+
+void CRSAEncryptFB::DoReportAction(void)
+	{
+	}
+
+void CRSAEncryptFB::DoCheckResult(TInt)
+	{
+	if (iResult)
+		iConsole.Printf(_L("."));
+	else
+		iConsole.Printf(_L("X"));
+	}
+
+void CRSAEncryptFB::Hex(HBufC8& aString)
+    {
+    TPtr8 ptr=aString.Des();
+    if (aString.Length()%2)
+        {
+        ptr.SetLength(0);
+        return;
+        }
+    TInt i;
+    for (i=0;i<aString.Length();i+=2)
+        {
+        TUint8 tmp;
+        tmp=(TUint8)(aString[i]-(aString[i]>'9'?('A'-10):'0'));
+        tmp*=16;
+        tmp|=(TUint8)(aString[i+1]-(aString[i+1]>'9'?('A'-10):'0'));
+        ptr[i/2]=tmp;
+        }
+    ptr.SetLength(aString.Length()/2);
+    }
+
+
+void CRSAEncryptFB::PerformAction(TRequestStatus& aStatus)
+{
+	TRequestStatus* status = &aStatus;
+	
+	if (CPerformance::PerformanceTester()->IsTestingPerformance())
+	{
+		iConsole.Printf(_L(">"));	//	Indicates start of test
+		TRAP(iActionResult, DoPerformanceTestActionL());
+	}
+	else
+	{
+		TRAP(iActionResult, DoPerformActionL());
+	}
+	
+	if (iActionResult==KErrNoMemory)
+		{
+		User::Leave(iActionResult);	//	For OOM testing
+		}
+	if (iActionResult==KErrKeyNotWeakEnough)
+		{
+		iResult = ETrue;
+		iConsole.Printf(_L("Crypto libraries returned KErrKeyNotWeakEnough! Passing test automatically.\n\r"));
+		iOut.writeString(_L("Crypto libraries returned KErrKeyNotWeakEnough!  Passing test automatically.\r\n"));
+		}
+
+	User::RequestComplete(status, iActionResult);
+
+	iActionState = CTestAction::EPostrequisite;
+}
+
+void CRSAEncryptFB::DoPerformanceTestActionL()
+{
+	__UHEAP_MARK;
+	iResult = EFalse;
+
+	TTimeIntervalMicroSeconds keyCreateTime(0);
+	TTimeIntervalMicroSeconds encryptTime(0);
+	TTimeIntervalMicroSeconds decryptTime(0);
+	TTime start, end;
+	TTimeIntervalSeconds diff(0);
+	const TTimeIntervalSeconds KIterationTime(iPerfTestIterations);
+
+//	Time key pair creation
+	CRSAKeyPair *rsaPair = NULL;
+	TInt noKeyPairCreations = 0;
+	
+	start.UniversalTime();
+	while (diff < KIterationTime)
+		{
+		rsaPair = CRSAKeyPair::NewLC(iKeyBits, TypeOfCrypto());
+		CleanupStack::PopAndDestroy();
+		noKeyPairCreations++;
+		end.UniversalTime();
+		end.SecondsFrom(start, diff);
+		}
+	end.UniversalTime();
+	keyCreateTime = end.MicroSecondsFrom(start);
+	TReal keycreatetime = I64REAL(keyCreateTime.Int64());
+	
+	rsaPair = CRSAKeyPair::NewLC(iKeyBits, TypeOfCrypto()); // Create one keypair for operations
+	
+	CRSAPKCS1v15Encryptor* encryptor = CRSAPKCS1v15Encryptor::NewL(rsaPair->PublicKey());
+	CleanupStack::PushL(encryptor);
+
+	CRSAPKCS1v15Decryptor* decryptor = CRSAPKCS1v15Decryptor::NewL(rsaPair->PrivateKey());
+	CleanupStack::PushL(decryptor);
+	
+	HBufC8 *eResult = HBufC8::NewLC(encryptor->MaxOutputLength());
+	TPtr8 ePtr = eResult->Des();
+	TPtr8* eResultPtr = &ePtr;
+
+	
+//	Time encryption	
+	diff = 0;
+	TInt noEncryptions = 0;
+	start.UniversalTime();
+	while (diff < KIterationTime)
+		{
+		eResultPtr->Zero();
+		encryptor->EncryptL(*iInput, *eResultPtr);
+		noEncryptions++;
+		end.UniversalTime();
+		end.SecondsFrom(start, diff);
+		}
+	end.UniversalTime();
+	encryptTime = end.MicroSecondsFrom(start);
+	TReal encrypttime = I64REAL(encryptTime.Int64());
+		
+//	Time decryption
+	diff = 0;
+	HBufC8 *dResult = HBufC8::NewLC(decryptor->MaxOutputLength());
+	ePtr = eResult->Des();
+	eResultPtr = &ePtr;
+	TPtr8 dPtr = dResult->Des();
+	TPtr8* dResultPtr = &dPtr;
+	TInt noDecryptions = 0;
+	start.UniversalTime();
+	while (diff < KIterationTime)
+		{
+		decryptor->DecryptL(*eResultPtr, *dResultPtr);
+		noDecryptions++;
+		end.UniversalTime();
+		end.SecondsFrom(start, diff);
+		}
+	end.UniversalTime();
+	decryptTime = end.MicroSecondsFrom(start);
+    TReal decrypttime = I64REAL(decryptTime.Int64());
+	
+	iResult = ETrue;
+	if (*iInput != *dResult)
+	{
+		iResult = EFalse;		
+	}
+	
+	CleanupStack::PopAndDestroy(5);	//	dResult,eResult,decryptor,encryptor,rsaPair
+	__UHEAP_MARKEND;
+
+	if (iResult)
+	{
+		TReal rate = I64REAL(keyCreateTime.Int64()) / noKeyPairCreations;
+		TBuf<256> buf;
+		_LIT(KKeyCreateTime, "\n\tKeyCreate: %f us/key pair (%i key pairs in %f us)\r\n");
+  		buf.Format(KKeyCreateTime, rate, noKeyPairCreations, keycreatetime);
+		iOut.writeString(buf);
+		
+		rate = I64REAL(encryptTime.Int64()) / noEncryptions;
+		_LIT(KEncryptTime, "\tEncrypt: %f us/encryption (%i encryptions in %f us)\r\n");
+  		buf.Format(KEncryptTime, rate, noEncryptions, encrypttime);
+		iOut.writeString(buf);
+
+		rate = I64REAL(decryptTime.Int64()) / noDecryptions;
+		_LIT(KDecryptTime, "\tDecrypt: %f us/decryption (%i decryptions in %f us)\r\n");
+  		buf.Format(KDecryptTime, rate, noDecryptions, decrypttime);
+		iOut.writeString(buf);
+	}
+	else
+	{
+		_LIT(KNoTimingInfo, "\tTest Failed! No benchmark data\n");
+		iOut.writeString(KNoTimingInfo);
+	}
+}
+
+void CRSAEncryptFB::DoPerformActionL()
+	{
+	__UHEAP_MARK;
+	
+	iResult = EFalse;
+
+	CRSAKeyPair* rsaPair = CRSAKeyPair::NewLC(iKeyBits, TypeOfCrypto());
+	//LogKeyData(static_cast<const CRSAPublicKey*>(&rsaPair->PublicKey()), static_cast<const CRSAPrivateKeyCRT*>(&rsaPair->PrivateKey()), KNullDesC8);
+	
+	CRSAPKCS1v15Encryptor* encryptor = CRSAPKCS1v15Encryptor::NewL(rsaPair->PublicKey());
+	CleanupStack::PushL(encryptor);
+
+	CRSAPKCS1v15Decryptor* decryptor = CRSAPKCS1v15Decryptor::NewL(rsaPair->PrivateKey());
+	CleanupStack::PushL(decryptor);
+
+	HBufC8* eResult = HBufC8::NewLC(encryptor->MaxOutputLength());
+	HBufC8* dResult = HBufC8::NewLC(decryptor->MaxOutputLength());
+
+	TPtr8 eResultPtr = eResult->Des();
+	encryptor->EncryptL(*iInput, eResultPtr);
+
+	TPtr8 dResultPtr = dResult->Des();
+	if (TypeOfCrypto() == EStandardCRT)
+		{
+		TRAPD(res, decryptor->DecryptL(eResultPtr, dResultPtr));
+		if (res==KErrCorrupt)	//	Log all the key data for this failure
+			LogKeyData(static_cast<const CRSAPublicKey*>(&rsaPair->PublicKey()), static_cast<const CRSAPrivateKeyCRT*>(&rsaPair->PrivateKey()), *eResult);
+
+		User::LeaveIfError(res);
+		}
+	else
+		{
+		decryptor->DecryptL(eResultPtr, dResultPtr);
+		}
+		
+	if(*iInput == *dResult)
+		{
+		iResult = ETrue;
+		}
+	
+	CleanupStack::PopAndDestroy(dResult);
+	CleanupStack::PopAndDestroy(eResult);
+	CleanupStack::PopAndDestroy(decryptor);
+	CleanupStack::PopAndDestroy(encryptor);
+	CleanupStack::PopAndDestroy(rsaPair);
+
+	__UHEAP_MARKEND;
+	}
+
+void CRSAEncryptFB::LogKeyData(const CRSAPublicKey* aPublicKey, const CRSAPrivateKeyCRT* aPrivateKeyCRT, const TDesC8& aCipherText)
+{
+	iOut.writeString(_L("\n\t ----------- e -----------\n\r"));
+	const TInteger& keyE = aPublicKey->E();
+	HBufC8* theE = keyE.BufferLC();	
+	iOut.writeOctetString(*theE);
+
+	iOut.writeString(_L("\n\t ----------- P -----------\n\r"));
+	const TInteger& keyP = aPrivateKeyCRT->P();
+	HBufC8* theP = keyP.BufferLC();	
+	iOut.writeOctetString(*theP);
+
+	iOut.writeString(_L("\n\t ----------- Q -----------\n\r"));
+	const TInteger& keyQ = aPrivateKeyCRT->Q();
+	HBufC8* theQ = keyQ.BufferLC();	
+	iOut.writeOctetString(*theQ);
+
+	iOut.writeString(_L("\n\t ----------- DP -----------\n\r"));
+	const TInteger& keyDP = aPrivateKeyCRT->DP();
+	HBufC8* theDP = keyDP.BufferLC();	
+	iOut.writeOctetString(*theDP);
+
+	iOut.writeString(_L("\n\t ----------- DQ -----------\n\r"));
+	const TInteger& keyDQ = aPrivateKeyCRT->DQ();
+	HBufC8* theDQ = keyDQ.BufferLC();	
+	iOut.writeOctetString(*theDQ);
+
+	iOut.writeString(_L("\n\t ----------- QInv -----------\n\r"));
+	const TInteger& keyQInv = aPrivateKeyCRT->QInv();
+	HBufC8* theQInv = keyQInv.BufferLC();	
+	iOut.writeOctetString(*theQInv);
+
+	iOut.writeString(_L("\n\t ----------- N -----------\n\r"));
+	const TInteger& keyN = aPrivateKeyCRT->N();
+	HBufC8* theN = keyN.BufferLC();	
+	iOut.writeOctetString(*theN);
+
+	iOut.writeString(_L("\n\t ----------- ciphertext -----------\n\r"));	
+	iOut.writeOctetString(aCipherText);
+	
+	iOut.writeString(_L("\n\t -------------------------\n\r"));
+	
+	CleanupStack::PopAndDestroy(6);	
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tasymmetric/trsaencryptfb.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,62 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#ifndef __TRSAENCRYPTFB_H__
+#define __TRSAENCRYPTFB_H__
+
+#include "t_testaction.h"
+#include <e32std.h>
+#include <asymmetric.h>
+#include <asymmetrickeys.h>
+#include <random.h>
+
+class CRSAEncryptFB : public CTestAction
+{
+public:
+	~CRSAEncryptFB();
+	static CTestAction* NewL(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	static CTestAction* NewLC(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	void DoPerformPrerequisite(TRequestStatus& aStatus);
+	void DoPerformPostrequisite(TRequestStatus& aStatus);
+	void DoReportAction(void);
+	void DoCheckResult(TInt);
+	void PerformAction(TRequestStatus& aStatus);
+
+private:
+	CRSAEncryptFB(RFs& aFs, CConsoleBase& aConsole, Output& aOut);
+	inline TRSAPrivateKeyType TypeOfCrypto() {return iCryptoType;}
+	void ConstructL(const TTestActionSpec& aTestActionSpec);
+	void Hex(HBufC8& string);
+	void DoPerformActionL();
+	void DoPerformanceTestActionL();
+	void LogKeyData(const CRSAPublicKey* aPublicKey,
+							const CRSAPrivateKeyCRT* aPrivateKeyCRT, const TDesC8& aCipherText);
+
+private:
+	RFs& iFs;
+	HBufC8* iBody;
+	HBufC8* iInput;
+	TInt iActionResult;
+	TInt iKeyBits;
+	TInt iPerfTestIterations;
+	TRSAPrivateKeyType iCryptoType;
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tasymmetric/trsaparams.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,392 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* tdsasignfb.cpp
+*
+*/
+
+
+#include "t_input.h"
+#include "t_output.h"
+#include <asymmetric.h>
+#include "tvectorutils.h"
+#include "trsaparams.h"
+
+_LIT8(KModStart, "<modulus>");
+_LIT8(KModEnd, "</modulus>");
+_LIT8(KPubExpStart, "<publicExponent>");
+_LIT8(KPubExpEnd, "</publicExponent>");
+_LIT8(KPrivExpStart, "<privateExponent>");
+_LIT8(KPrivExpEnd, "</privateExponent>");
+_LIT8(KPStart, "<P>");
+_LIT8(KPEnd, "</P>");
+_LIT8(KQStart, "<Q>");
+_LIT8(KQEnd, "</Q>");
+_LIT8(KdPStart, "<dP>");
+_LIT8(KdPEnd, "</dP>");
+_LIT8(KdQStart, "<dQ>");
+_LIT8(KdQEnd, "</dQ>");
+_LIT8(KqInvStart, "<qInv>");
+_LIT8(KqInvEnd, "</qInv>");
+_LIT8(KReturnCodeStart, "<return>");
+_LIT8(KReturnCodeEnd, "</return>");
+_LIT8(KErrArgumentString, "KErrArgument");
+
+CTestAction* CRSATestPublicKey::NewL(RFs& aFs, CConsoleBase& aConsole, Output& aOut, 
+	const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction* self = CRSATestPublicKey::NewLC(aFs, aConsole,
+		aOut, aTestActionSpec);
+	CleanupStack::Pop();
+	return self;
+	}
+
+CTestAction* CRSATestPublicKey::NewLC(RFs& aFs, CConsoleBase& aConsole, Output& aOut, 
+	const TTestActionSpec& aTestActionSpec)
+	{
+	CRSATestPublicKey* self = new(ELeave) CRSATestPublicKey(aFs, aConsole, aOut);
+	CleanupStack::PushL(self);
+	self->ConstructL(aTestActionSpec);
+	return self;
+	}
+
+CRSATestPublicKey::~CRSATestPublicKey()
+	{
+	delete iBody;
+	}
+
+CRSATestPublicKey::CRSATestPublicKey(RFs& aFs, CConsoleBase& aConsole, Output& aOut)
+	: CTestAction(aConsole, aOut), iFs(aFs)
+	{
+	}
+
+void CRSATestPublicKey::ConstructL(const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction::ConstructL(aTestActionSpec);
+	iBody = HBufC8::NewL(aTestActionSpec.iActionBody.Length());
+	iBody->Des().Copy(aTestActionSpec.iActionBody);
+
+	iExpectedReturnValue = KErrNone;
+	TPtrC8 returnValue = Input::ParseElement(aTestActionSpec.iActionResult, KReturnCodeStart, KReturnCodeEnd);
+	if(returnValue.Compare(KErrArgumentString) == 0)
+		{
+		iExpectedReturnValue = KErrArgument;
+		}
+
+	}
+
+void CRSATestPublicKey::DoPerformPrerequisite(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+	User::RequestComplete(status, KErrNone);
+	iActionState = CTestAction::EAction;
+	}
+
+void CRSATestPublicKey::DoPerformPostrequisite(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+
+	iFinished = ETrue;
+	User::RequestComplete(status, KErrNone);
+	}
+
+void CRSATestPublicKey::DoReportAction(void)
+	{
+	}
+
+void CRSATestPublicKey::DoCheckResult(TInt)
+	{
+	if (iResult)
+		iConsole.Printf(_L("."));
+	else
+		iConsole.Printf(_L("X"));
+	}
+
+void CRSATestPublicKey::PerformAction(TRequestStatus& aStatus)
+	{
+	__UHEAP_MARK;
+	TRequestStatus* status = &aStatus;
+	iResult = EFalse;
+
+	TPtrC8 modIn = Input::ParseElement(*iBody, KModStart, KModEnd);
+    RInteger mod = VectorUtils::ParseIntegerL(modIn);
+	CleanupStack::PushL(mod);
+
+	TPtrC8 expIn = Input::ParseElement(*iBody, KPubExpStart, KPubExpEnd);
+    RInteger exp = VectorUtils::ParseIntegerL(expIn);
+	CleanupStack::PushL(exp);
+
+
+	CRSAPublicKey* key = NULL;
+	TRAPD(err, key = CRSAPublicKey::NewL(mod, exp));
+	if(err == iExpectedReturnValue)
+		{
+		iResult=ETrue;
+		}
+	else
+		{
+		iOut.writeString(_L("CRSAPublicKey construction did not return expected result\n"));
+		}
+	if(err != KErrNone)
+		{
+		CleanupStack::PopAndDestroy(2);
+		}
+	else
+		{
+		CleanupStack::PushL(key);
+		CleanupStack::PopAndDestroy(3);	
+		}
+		
+	User::RequestComplete(status, KErrNone);
+	iActionState = CTestAction::EPostrequisite;
+	__UHEAP_MARKEND;
+	}
+
+
+CTestAction* CRSATestPrivateKey::NewL(RFs& aFs, CConsoleBase& aConsole, Output& aOut, 
+	const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction* self = CRSATestPrivateKey::NewLC(aFs, aConsole,
+		aOut, aTestActionSpec);
+	CleanupStack::Pop();
+	return self;
+	}
+
+CTestAction* CRSATestPrivateKey::NewLC(RFs& aFs, CConsoleBase& aConsole, Output& aOut, 
+	const TTestActionSpec& aTestActionSpec)
+	{
+	CRSATestPrivateKey* self = new(ELeave) CRSATestPrivateKey(aFs, aConsole, aOut);
+	CleanupStack::PushL(self);
+	self->ConstructL(aTestActionSpec);
+	return self;
+	}
+
+CRSATestPrivateKey::~CRSATestPrivateKey()
+	{
+	delete iBody;
+	}
+
+CRSATestPrivateKey::CRSATestPrivateKey(RFs& aFs, CConsoleBase& aConsole, Output& aOut)
+	: CTestAction(aConsole, aOut), iFs(aFs)
+	{
+	}
+
+void CRSATestPrivateKey::ConstructL(const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction::ConstructL(aTestActionSpec);
+	iBody = HBufC8::NewL(aTestActionSpec.iActionBody.Length());
+	iBody->Des().Copy(aTestActionSpec.iActionBody);
+
+	iExpectedReturnValue = KErrNone;
+	TPtrC8 returnValue = Input::ParseElement(aTestActionSpec.iActionResult, KReturnCodeStart, KReturnCodeEnd);
+	if(returnValue.Compare(KErrArgumentString) == 0)
+		{
+		iExpectedReturnValue = KErrArgument;
+		}
+
+	}
+
+void CRSATestPrivateKey::DoPerformPrerequisite(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+	User::RequestComplete(status, KErrNone);
+	iActionState = CTestAction::EAction;
+	}
+
+void CRSATestPrivateKey::DoPerformPostrequisite(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+
+	iFinished = ETrue;
+	User::RequestComplete(status, KErrNone);
+	}
+
+void CRSATestPrivateKey::DoReportAction(void)
+	{
+	}
+
+void CRSATestPrivateKey::DoCheckResult(TInt)
+	{
+	if (iResult)
+		iConsole.Printf(_L("."));
+	else
+		iConsole.Printf(_L("X"));
+	}
+
+void CRSATestPrivateKey::PerformAction(TRequestStatus& aStatus)
+	{
+	__UHEAP_MARK;
+	TRequestStatus* status = &aStatus;
+	iResult = EFalse;
+
+	TPtrC8 modIn = Input::ParseElement(*iBody, KModStart, KModEnd);
+    RInteger mod = VectorUtils::ParseIntegerL(modIn);
+	CleanupStack::PushL(mod);
+
+	TPtrC8 expIn = Input::ParseElement(*iBody, KPrivExpStart, KPrivExpEnd);
+    RInteger exp = VectorUtils::ParseIntegerL(expIn);
+	CleanupStack::PushL(exp);
+
+
+	CRSAPrivateKeyStandard* key = NULL;
+	TRAPD(err, key = CRSAPrivateKeyStandard::NewL(mod, exp));
+	if(err == iExpectedReturnValue)
+		{
+		iResult=ETrue;
+		}
+	else
+		{
+		iOut.writeString(_L("CRSAPrivateKey construction did not return expected result\n"));
+		}
+	if(err != KErrNone)
+		{
+		CleanupStack::PopAndDestroy(2);
+		}
+	else
+		{
+		CleanupStack::PushL(key);
+		CleanupStack::PopAndDestroy(3);	
+		}
+		
+	User::RequestComplete(status, KErrNone);
+	iActionState = CTestAction::EPostrequisite;
+	__UHEAP_MARKEND;
+	}
+
+CTestAction* CRSATestPrivateKeyCRT::NewL(RFs& aFs, CConsoleBase& aConsole, Output& aOut, 
+	const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction* self = CRSATestPrivateKeyCRT::NewLC(aFs, aConsole,
+		aOut, aTestActionSpec);
+	CleanupStack::Pop();
+	return self;
+	}
+
+CTestAction* CRSATestPrivateKeyCRT::NewLC(RFs& aFs, CConsoleBase& aConsole, Output& aOut, 
+	const TTestActionSpec& aTestActionSpec)
+	{
+	CRSATestPrivateKeyCRT* self = new(ELeave) CRSATestPrivateKeyCRT(aFs, aConsole, aOut);
+	CleanupStack::PushL(self);
+	self->ConstructL(aTestActionSpec);
+	return self;
+	}
+
+CRSATestPrivateKeyCRT::~CRSATestPrivateKeyCRT()
+	{
+	delete iBody;
+	}
+
+CRSATestPrivateKeyCRT::CRSATestPrivateKeyCRT(RFs& aFs, CConsoleBase& aConsole, Output& aOut)
+	: CTestAction(aConsole, aOut), iFs(aFs)
+	{
+	}
+
+void CRSATestPrivateKeyCRT::ConstructL(const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction::ConstructL(aTestActionSpec);
+	iBody = HBufC8::NewL(aTestActionSpec.iActionBody.Length());
+	iBody->Des().Copy(aTestActionSpec.iActionBody);
+
+	iExpectedReturnValue = KErrNone;
+	TPtrC8 returnValue = Input::ParseElement(aTestActionSpec.iActionResult, KReturnCodeStart, KReturnCodeEnd);
+	if(returnValue.Compare(KErrArgumentString) == 0)
+		{
+		iExpectedReturnValue = KErrArgument;
+		}
+
+	}
+
+void CRSATestPrivateKeyCRT::DoPerformPrerequisite(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+	User::RequestComplete(status, KErrNone);
+	iActionState = CTestAction::EAction;
+	}
+
+void CRSATestPrivateKeyCRT::DoPerformPostrequisite(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+
+	iFinished = ETrue;
+	User::RequestComplete(status, KErrNone);
+	}
+
+void CRSATestPrivateKeyCRT::DoReportAction(void)
+	{
+	}
+
+void CRSATestPrivateKeyCRT::DoCheckResult(TInt)
+	{
+	if (iResult)
+		iConsole.Printf(_L("."));
+	else
+		iConsole.Printf(_L("X"));
+	}
+
+void CRSATestPrivateKeyCRT::PerformAction(TRequestStatus& aStatus)
+	{
+	__UHEAP_MARK;
+	TRequestStatus* status = &aStatus;
+	iResult = EFalse;
+
+	TPtrC8 modIn = Input::ParseElement(*iBody, KModStart, KModEnd);
+    RInteger mod = VectorUtils::ParseIntegerL(modIn);
+	CleanupStack::PushL(mod);
+
+	TPtrC8 PIn = Input::ParseElement(*iBody, KPStart, KPEnd);
+    RInteger P = VectorUtils::ParseIntegerL(PIn);
+	CleanupStack::PushL(P);
+
+	TPtrC8 QIn = Input::ParseElement(*iBody, KQStart, KQEnd);
+    RInteger Q = VectorUtils::ParseIntegerL(QIn);
+	CleanupStack::PushL(Q);
+
+	TPtrC8 dPIn = Input::ParseElement(*iBody, KdPStart, KdPEnd);
+    RInteger dP = VectorUtils::ParseIntegerL(dPIn);
+	CleanupStack::PushL(dP);
+
+	TPtrC8 dQIn = Input::ParseElement(*iBody, KdQStart, KdQEnd);
+    RInteger dQ = VectorUtils::ParseIntegerL(dQIn);
+	CleanupStack::PushL(dQ);
+
+	TPtrC8 QInvIn = Input::ParseElement(*iBody, KqInvStart, KqInvEnd);
+    RInteger QInv = VectorUtils::ParseIntegerL(QInvIn);
+	CleanupStack::PushL(QInv);
+
+
+	CRSAPrivateKeyCRT* key = NULL;
+	TRAPD(err, key = CRSAPrivateKeyCRT::NewL(mod, P, Q, dP, dQ, QInv));
+	if(err == iExpectedReturnValue)
+		{
+		iResult=ETrue;
+		}
+	else
+		{
+		iOut.writeString(_L("CRSAPrivateKeyCRT construction did not return expected result\n"));
+		}
+	if(err != KErrNone)
+		{
+		CleanupStack::PopAndDestroy(6);
+		}
+	else
+		{
+		CleanupStack::PushL(key);
+		CleanupStack::PopAndDestroy(7);	
+		}
+		
+	User::RequestComplete(status, KErrNone);
+	iActionState = CTestAction::EPostrequisite;
+	__UHEAP_MARKEND;
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tasymmetric/trsaparams.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,104 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+
+/**
+ @file
+*/
+
+#ifndef __RSAPARAMSTEST_H__
+#define __RSAPARAMSTEST_H__
+
+#include "t_testaction.h"
+
+class CRSATestPublicKey : public CTestAction
+    {
+public:
+	static CTestAction* NewL(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	static CTestAction* NewLC(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	virtual ~CRSATestPublicKey();
+protected:
+	virtual void DoPerformPrerequisite(TRequestStatus& aStatus);
+	virtual void DoPerformPostrequisite(TRequestStatus& aStatus);
+//	virtual void DoPerformActionL();
+//	virtual void DoPerformanceTestActionL();
+	virtual void DoReportAction(void);
+	virtual void DoCheckResult(TInt);
+	virtual void PerformAction(TRequestStatus& aStatus);
+private:
+	CRSATestPublicKey(RFs& aFs, CConsoleBase& aConsole, Output& aOut);
+	void ConstructL(const TTestActionSpec& aTestActionSpec);
+
+	RFs& iFs;
+	HBufC8 *iBody;
+	TInt iExpectedReturnValue;
+    };
+
+class CRSATestPrivateKey : public CTestAction
+    {
+public:
+	static CTestAction* NewL(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	static CTestAction* NewLC(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	virtual ~CRSATestPrivateKey();
+protected:
+	virtual void DoPerformPrerequisite(TRequestStatus& aStatus);
+	virtual void DoPerformPostrequisite(TRequestStatus& aStatus);
+//	virtual void DoPerformActionL();
+//	virtual void DoPerformanceTestActionL();
+	virtual void DoReportAction(void);
+	virtual void DoCheckResult(TInt);
+	virtual void PerformAction(TRequestStatus& aStatus);
+private:
+	CRSATestPrivateKey(RFs& aFs, CConsoleBase& aConsole, Output& aOut);
+	void ConstructL(const TTestActionSpec& aTestActionSpec);
+
+	RFs& iFs;
+	HBufC8 *iBody;
+	TInt iExpectedReturnValue;
+    };
+
+class CRSATestPrivateKeyCRT : public CTestAction
+    {
+public:
+	static CTestAction* NewL(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	static CTestAction* NewLC(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	virtual ~CRSATestPrivateKeyCRT();
+protected:
+	virtual void DoPerformPrerequisite(TRequestStatus& aStatus);
+	virtual void DoPerformPostrequisite(TRequestStatus& aStatus);
+//	virtual void DoPerformActionL();
+//	virtual void DoPerformanceTestActionL();
+	virtual void DoReportAction(void);
+	virtual void DoCheckResult(TInt);
+	virtual void PerformAction(TRequestStatus& aStatus);
+private:
+	CRSATestPrivateKeyCRT(RFs& aFs, CConsoleBase& aConsole, Output& aOut);
+	void ConstructL(const TTestActionSpec& aTestActionSpec);
+
+	RFs& iFs;
+	HBufC8 *iBody;
+	TInt iExpectedReturnValue;
+    };
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tasymmetric/trsasignfb.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,314 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include "trsasignfb.h"
+#include "t_input.h"
+#include <asymmetric.h>
+#include <padding.h>
+#include <bigint.h>
+#include "performancetest.h"
+
+_LIT8(KInputStart, "<input>");
+_LIT8(KKeyBitsStart, "<keybits>");
+_LIT8(KKeyBitsEnd, "</keybits>");
+
+CRSASignFB::~CRSASignFB()
+	{
+	delete iBody;
+	}
+
+CRSASignFB::CRSASignFB(RFs& aFs, CConsoleBase& aConsole, Output& aOut)
+	: CTestAction(aConsole, aOut), iFs(aFs), iPerfTestIterations(100)
+	{
+	}
+
+CTestAction* CRSASignFB::NewL(RFs& aFs, CConsoleBase& aConsole, Output& aOut, 
+	const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction* self = CRSASignFB::NewLC(aFs, aConsole,
+		aOut, aTestActionSpec);
+	CleanupStack::Pop();
+	return self;
+	}
+
+CTestAction* CRSASignFB::NewLC(RFs& aFs, CConsoleBase& aConsole, Output& aOut, 
+	const TTestActionSpec& aTestActionSpec)
+	{
+	CRSASignFB* self = new(ELeave) CRSASignFB(aFs, aConsole, aOut);
+	CleanupStack::PushL(self);
+	self->ConstructL(aTestActionSpec);
+	return self;
+	}
+
+
+TRSAPrivateKeyType CRSASignFB::TypeOfCrypto()
+	{
+	return iCryptoType;
+	}
+	
+void CRSASignFB::ConstructL(const TTestActionSpec& aTestActionSpec)
+{
+	CTestAction::ConstructL(aTestActionSpec);
+	iBody = HBufC8::NewL(aTestActionSpec.iActionBody.Length());
+	iBody->Des().Copy(aTestActionSpec.iActionBody);
+
+	if (CPerformance::PerformanceTester()->IsTestingPerformance())
+	{//	Number of test iterations
+		TPtrC8 itsPtr = Input::ParseElement(aTestActionSpec.iActionBody, KIterationsStart, KIterationsEnd);
+		if (itsPtr!=KNullDesC8)
+		{
+			TLex8 lex;
+			lex.Assign(itsPtr);
+			User::LeaveIfError(lex.Val(iPerfTestIterations));
+			if (iPerfTestIterations > KMaxIterations)
+				User::Panic(_L("AsymmetricPerformance.exe"), KErrArgument);
+			
+		}
+		TPtrC8 cryptoPtr = Input::ParseElement(aTestActionSpec.iActionBody, KTypeOfCryptoStart, KTypeOfCryptoEnd);
+		if (cryptoPtr.CompareF(KRSAStandard) == 0)
+			{
+			iCryptoType = EStandard;
+			}
+		else if (cryptoPtr.CompareF(KRSAStandardCRT) == 0)
+			{
+			iCryptoType = EStandardCRT;
+			}
+		else
+			{
+			User::Panic(_L("AsymmetricPerformance.exe"), KErrArgument);
+			}
+	}
+
+	TPtrC8 keyBitsPtr = Input::ParseElement(*iBody, KKeyBitsStart, KKeyBitsEnd); 
+	if (keyBitsPtr!=KNullDesC8)
+	{
+		TLex8 lex;
+		lex.Assign(keyBitsPtr);
+		User::LeaveIfError(lex.Val(iKeyBits));
+	}
+}
+
+void CRSASignFB::DoPerformPrerequisite(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+
+	HBufC8* input = Input::ParseElementHexL(*iBody, KInputStart);
+	CleanupStack::PushL(input);
+	iSigInput = CHashingSignatureInput::NewL(CMessageDigest::ESHA1);
+	iSigInput->Update(*input);
+	iInput = iSigInput->Final().AllocL();
+	CleanupStack::PopAndDestroy(input);
+
+	User::RequestComplete(status, KErrNone);
+	iActionState = CTestAction::EAction;
+	}
+
+void CRSASignFB::DoPerformPostrequisite(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+	delete iInput;
+	delete iSigInput;
+
+	iFinished = ETrue;
+	User::RequestComplete(status, iActionResult);
+	}
+
+void CRSASignFB::DoReportAction(void)
+	{
+	}
+
+void CRSASignFB::DoCheckResult(TInt)
+	{
+	if (iResult)
+		iConsole.Printf(_L("."));
+	else
+		iConsole.Printf(_L("X"));
+	}
+
+void CRSASignFB::Hex(HBufC8& aString)
+    {
+    TPtr8 ptr=aString.Des();
+    if (aString.Length()%2)
+        {
+        ptr.SetLength(0);
+        return;
+        }
+    TInt i;
+    for (i=0;i<aString.Length();i+=2)
+        {
+        TUint8 tmp;
+        tmp=(TUint8)(aString[i]-(aString[i]>'9'?('A'-10):'0'));
+        tmp*=16;
+        tmp|=(TUint8)(aString[i+1]-(aString[i+1]>'9'?('A'-10):'0'));
+        ptr[i/2]=tmp;
+        }
+    ptr.SetLength(aString.Length()/2);
+    }
+
+void CRSASignFB::PerformAction(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+
+	if (CPerformance::PerformanceTester()->IsTestingPerformance())
+	{
+		iConsole.Printf(_L(">"));	//	Indicates start of test
+		TRAP(iActionResult, DoPerformanceTestActionL());
+	}
+	else
+	{
+		TRAP(iActionResult, DoPerformActionL());
+	}
+
+	if (iActionResult==KErrNoMemory)
+		User::Leave(iActionResult);	//	For OOM testing
+	
+	User::RequestComplete(status, iActionResult);
+	iActionState = CTestAction::EPostrequisite;
+	}
+
+
+void CRSASignFB::DoPerformanceTestActionL()
+{
+	__UHEAP_MARK;
+	iResult = EFalse;
+
+	TTimeIntervalMicroSeconds keyCreateTime(0);
+	TTimeIntervalMicroSeconds signTime(0);
+	TTimeIntervalMicroSeconds verifyTime(0);
+	TTime start, end;
+	TTimeIntervalSeconds diff(0);
+	const TTimeIntervalSeconds KIterationTime(iPerfTestIterations);
+
+	//	Time key pair creation
+	CRSAKeyPair *rsaPair = NULL;
+	TUint noRSAPairs = 0;
+	start.UniversalTime();
+	while (diff < KIterationTime)
+	{
+       rsaPair = CRSAKeyPair::NewLC(iKeyBits, TypeOfCrypto());
+       CleanupStack::PopAndDestroy();
+       noRSAPairs++;
+	   end.UniversalTime();
+	   end.SecondsFrom(start, diff);
+	}
+	end.UniversalTime();
+	keyCreateTime = end.MicroSecondsFrom(start);
+	TReal keycreatetime = I64REAL(keyCreateTime.Int64());
+	
+	rsaPair=CRSAKeyPair::NewLC(iKeyBits, TypeOfCrypto()); // Create one keypair for operations
+
+	CRSAPKCS1v15Signer* signer = CRSAPKCS1v15Signer::NewL(rsaPair->PrivateKey());
+	CleanupStack::PushL(signer);
+	CRSAPKCS1v15Verifier* verifier = CRSAPKCS1v15Verifier::NewL(rsaPair->PublicKey());
+	CleanupStack::PushL(verifier);
+
+	const CRSASignature  *testSig;
+
+	//	Time signing
+	diff = 0;
+	TInt noSignings = 0;
+	start.UniversalTime();
+	while (diff < KIterationTime)
+	{
+		testSig = signer->SignL(*iInput);
+		delete testSig;
+		noSignings++;
+		end.UniversalTime();
+		end.SecondsFrom(start, diff);
+	}
+	end.UniversalTime();
+	signTime = end.MicroSecondsFrom(start);
+	TReal signtime = I64REAL(signTime.Int64());	
+	//	Time verification
+	TInt noVerifies = 0;
+	diff = 0;
+	testSig = signer->SignL(*iInput);
+	CleanupStack::PushL(const_cast<CRSASignature*>(testSig));
+	start.UniversalTime();
+	while (diff < KIterationTime)
+	{
+		iResult = verifier->VerifyL(*iInput, *testSig);
+
+		// do as many verfies as possible 
+		if (!iResult)
+		{
+		   break;
+		}
+		noVerifies++;
+		end.UniversalTime();
+		end.SecondsFrom(start, diff);
+	}	
+	end.UniversalTime();
+	verifyTime = end.MicroSecondsFrom(start);
+    TReal verifytime = I64REAL(verifyTime.Int64());
+	CleanupStack::PopAndDestroy(4);	//	verifier,signer,testSig,rsaPairs
+	__UHEAP_MARKEND;
+		 
+	if (iResult)
+	{
+		TBuf<256> buf;
+		TReal rate = I64REAL(keyCreateTime.Int64()) / noRSAPairs;
+		
+		_LIT(KKeyCreateTime, "\n\tKeyCreate: %f us/key creation (no creations: %i in %f us)\r\n");
+ 		buf.Format(KKeyCreateTime, rate, noRSAPairs, keycreatetime);
+		iOut.writeString(buf);
+
+		rate = I64REAL(signTime.Int64()) / noSignings;
+		_LIT(KSignTime, "\tSigning: %f us/signing (no signings: %i in %f us)\r\n");
+  		buf.Format(KSignTime, rate, noSignings, signtime);
+		iOut.writeString(buf);
+		
+		rate = I64REAL(verifyTime.Int64()) / noVerifies;
+		_LIT(KVerifyTime, "\tVerifying: %f us/verify (no verfies: %i in %f us)\r\n");
+ 		buf.Format(KVerifyTime, rate, noVerifies, verifytime);
+		iOut.writeString(buf);
+	}
+	else
+	{
+		_LIT(KNoTimingInfo, "\tTest Failed! No benchmark data\n");
+		iOut.writeString(KNoTimingInfo);
+	}
+}
+
+void CRSASignFB::DoPerformActionL()
+	{
+	__UHEAP_MARK;
+	
+	iResult = EFalse;
+
+	CRSAKeyPair* rsaPair = CRSAKeyPair::NewLC(512, TypeOfCrypto());
+
+	CRSAPKCS1v15Signer* signer = CRSAPKCS1v15Signer::NewL(rsaPair->PrivateKey());
+	CleanupStack::PushL(signer);
+
+	CRSAPKCS1v15Verifier* verifier = CRSAPKCS1v15Verifier::NewL(rsaPair->PublicKey());
+	CleanupStack::PushL(verifier);
+
+	const CRSASignature* signature = signer->SignL(*iInput);
+	CleanupStack::PushL(const_cast<CRSASignature*>(signature));
+
+	if(verifier->VerifyL(*iInput, *signature))
+		{
+		iResult = ETrue;
+		}
+	
+	CleanupStack::PopAndDestroy(4, rsaPair); //signature, verifier, signer, rsaPair
+	
+	__UHEAP_MARKEND;
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tasymmetric/trsasignfb.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,63 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* trsasign.h
+*
+*/
+
+
+#ifndef __TRSASIGN_H__
+#define __TRSASIGN_H__
+
+#include "t_testaction.h"
+#include <e32std.h>
+#include <asymmetric.h>
+#include <asymmetrickeys.h>
+#include <random.h>
+#include "tsignatureinput.h"
+
+class CRSASignFB : public CTestAction
+{
+public:
+	~CRSASignFB();
+	static CTestAction* NewL(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	static CTestAction* NewLC(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	void DoPerformPrerequisite(TRequestStatus& aStatus);
+	void DoPerformPostrequisite(TRequestStatus& aStatus);
+	void DoReportAction(void);
+	void DoCheckResult(TInt);
+	void PerformAction(TRequestStatus& aStatus);
+
+private:
+	CRSASignFB(RFs& aFs, CConsoleBase& aConsole, Output& aOut);
+	void ConstructL(const TTestActionSpec& aTestActionSpec);
+	void Hex(HBufC8& string);
+	inline TRSAPrivateKeyType TypeOfCrypto();
+	void DoPerformActionL();
+	void DoPerformanceTestActionL();
+
+private:
+	RFs& iFs;
+	HBufC8* iBody;
+	HBufC8* iInput;
+	CSignatureInput* iSigInput;
+	TInt iActionResult;
+	TInt iKeyBits;
+	TInt iPerfTestIterations;
+	TRSAPrivateKeyType iCryptoType;
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tasymmetric/trsavector.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,806 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include "trsavector.h"
+#include "tvectorutils.h"
+#include "t_input.h"
+#include <bigint.h>
+#include "performancetest.h"
+#include "tbrokenrandom.h"
+_LIT8(KPlaintextStart, "<plaintext>");
+_LIT8(KPlaintextEnd, "</plaintext>");
+_LIT8(KCiphertextStart, "<ciphertext>");
+_LIT8(KCiphertextEnd, "</ciphertext>");
+_LIT8(KSignatureStart, "<signature>");
+_LIT8(KSignatureEnd, "</signature>");
+_LIT8(KDigestInfoStart, "<digestInfo>");
+_LIT8(KDigestInfoEnd, "</digestInfo>");
+
+////////////////////////////////////////////////////////////////////////////////
+// CRSAEncryptVector
+////////////////////////////////////////////////////////////////////////////////
+
+CTestAction* CRSAEncryptVector::NewL(RFs& aFs,
+                               CConsoleBase& aConsole,
+                               Output& aOut, 
+                               const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction* self = CRSAEncryptVector::NewLC(aFs, aConsole,
+		aOut, aTestActionSpec);
+	CleanupStack::Pop();
+	return self;
+	}
+
+CTestAction* CRSAEncryptVector::NewLC(RFs& aFs,
+                                CConsoleBase& aConsole,
+                                Output& aOut, 
+                                const TTestActionSpec& aTestActionSpec)
+	{
+	CRSAEncryptVector* self = new(ELeave) CRSAEncryptVector(aFs, aConsole, aOut);
+	CleanupStack::PushL(self);
+	self->ConstructL(aTestActionSpec);
+	return self;
+	}
+
+CRSAEncryptVector::~CRSAEncryptVector()
+	{
+	delete iPubKey;
+	delete iPlaintext;
+	delete iCiphertext;
+	}
+
+CRSAEncryptVector::CRSAEncryptVector(RFs& /*aFs*/, 
+                                     CConsoleBase& aConsole,
+                                     Output& aOut)					 
+: CVectorTest(aConsole, aOut)
+	{
+	}
+
+void CRSAEncryptVector::ConstructL(const TTestActionSpec& aTestActionSpec)
+	{
+	CVectorTest::ConstructL(aTestActionSpec);
+
+    iPubKey = VectorUtils::ReadRSAPublicKeyL(aTestActionSpec.iActionBody);
+
+	TPtrC8 ptextIn = Input::ParseElement(aTestActionSpec.iActionBody, KPlaintextStart, KPlaintextEnd);
+	iPlaintext = VectorUtils::ParseBinaryL(ptextIn);
+
+	TPtrC8 ctextIn = Input::ParseElement(aTestActionSpec.iActionBody, KCiphertextStart, KCiphertextEnd);
+	iCiphertext = VectorUtils::ParseBinaryL(ctextIn);
+	}
+
+void CRSAEncryptVector::DoPerformanceTestActionL()
+{
+	__UHEAP_MARK;
+
+	CRSAPKCS1v15Encryptor* encryptor = CRSAPKCS1v15Encryptor::NewL(*iPubKey);
+	CleanupStack::PushL(encryptor);
+ 
+	TTimeIntervalMicroSeconds encryptTime(0);
+	TTime start, end;
+	TTimeIntervalSeconds diff(0);
+	const TTimeIntervalSeconds KIterationTime(iPerfTestIterations);
+
+	TInt noEncryptions = 0;
+	HBufC8 *eResult = HBufC8::NewLC(encryptor->MaxOutputLength());
+	TPtr8 ePtr = eResult->Des();
+	TPtr8* eResultPtr = &ePtr;
+	
+//	Time encryption	
+	CRandomIncrementing* brokenRandom = new(ELeave)CRandomIncrementing(1);
+	SetThreadRandomLC(brokenRandom);
+	start.UniversalTime();
+	while (diff < KIterationTime)
+		{
+		eResultPtr->Zero();
+		encryptor->EncryptL(*iPlaintext, *eResultPtr);
+		noEncryptions++;
+		end.UniversalTime();
+		end.SecondsFrom(start, diff);
+		}
+	end.UniversalTime();
+	encryptTime = end.MicroSecondsFrom(start);
+	TReal encrypttime = I64REAL(encryptTime.Int64());
+	CleanupStack::PopAndDestroy(1); //SetThreadRandomLC
+	
+	iResult = ETrue;
+	if (*iCiphertext!=*eResult)
+	{
+		iResult = EFalse;		
+	}
+
+    CleanupStack::PopAndDestroy(2);		// encryptor, eResult
+
+	__UHEAP_MARKEND;
+
+	if (iResult)
+	{
+		TReal rate = I64REAL(encryptTime.Int64()) / noEncryptions;
+		TBuf<256> buf;
+		_LIT(KEncryptTime, "\tEncrypt Time: %f us/encryption (%i encryptions in %f us)\r\n");
+ 		buf.Format(KEncryptTime, rate, noEncryptions, encrypttime);
+		iOut.writeString(buf);
+	}
+	else
+	{
+		_LIT(KNoTimingInfo, "\tTest Failed! No benchmark data\n");
+		iOut.writeString(KNoTimingInfo);
+	}
+}
+
+void CRSAEncryptVector::DoPerformActionL()
+	{
+	__UHEAP_MARK;
+
+	CRSAPKCS1v15Encryptor* encryptor = CRSAPKCS1v15Encryptor::NewL(*iPubKey);
+	CleanupStack::PushL(encryptor);
+    HBufC8* encryptBuf = HBufC8::NewLC(encryptor->MaxOutputLength());
+	TPtr8 encryptPtr = encryptBuf->Des();
+	CRandomIncrementing* brokenRandom = new(ELeave)CRandomIncrementing(1);
+	SetThreadRandomLC(brokenRandom);
+	encryptor->EncryptL(*iPlaintext, encryptPtr);
+	CleanupStack::PopAndDestroy(1); //threadrandom;
+    iResult = (*iCiphertext == *encryptBuf);
+
+	CleanupStack::PopAndDestroy(encryptBuf);
+    CleanupStack::PopAndDestroy(encryptor);
+
+	__UHEAP_MARKEND;
+	}
+
+////////////////////////////////////////////////////////////////////////////////
+// CRSADecryptVector
+////////////////////////////////////////////////////////////////////////////////
+
+CTestAction* CRSADecryptVector::NewL(RFs& aFs,
+                               CConsoleBase& aConsole,
+                               Output& aOut, 
+                               const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction* self = CRSADecryptVector::NewLC(aFs, aConsole,
+		aOut, aTestActionSpec);
+	CleanupStack::Pop();
+	return self;
+	}
+
+CTestAction* CRSADecryptVector::NewLC(RFs& aFs,
+                                CConsoleBase& aConsole,
+                                Output& aOut, 
+                                const TTestActionSpec& aTestActionSpec)
+	{
+	CRSADecryptVector* self = new(ELeave) CRSADecryptVector(aFs, aConsole, aOut);
+	CleanupStack::PushL(self);
+	self->ConstructL(aTestActionSpec);
+	return self;
+	}
+
+CRSADecryptVector::~CRSADecryptVector()
+	{
+	delete iPrivKey;
+	delete iPlaintext;
+	delete iCiphertext;
+	}
+
+CRSADecryptVector::CRSADecryptVector(RFs& /*aFs*/, 
+                                     CConsoleBase& aConsole,
+                                     Output& aOut)					 
+: CVectorTest(aConsole, aOut)
+	{
+	}
+
+void CRSADecryptVector::ConstructL(const TTestActionSpec& aTestActionSpec)
+	{
+	CVectorTest::ConstructL(aTestActionSpec);
+
+    iPrivKey = VectorUtils::ReadRSAPrivateKeyL(aTestActionSpec.iActionBody);
+
+	TPtrC8 ctextIn = Input::ParseElement(aTestActionSpec.iActionBody, KCiphertextStart, KCiphertextEnd);
+	iCiphertext = VectorUtils::ParseBinaryL(ctextIn);
+
+	TPtrC8 ptextIn = Input::ParseElement(aTestActionSpec.iActionBody, KPlaintextStart, KPlaintextEnd);
+	iPlaintext = VectorUtils::ParseBinaryL(ptextIn);
+	}
+
+void CRSADecryptVector::DoPerformanceTestActionL()
+{
+	__UHEAP_MARK;
+
+    CRSAPKCS1v15Decryptor* decryptor = CRSAPKCS1v15Decryptor::NewL(*iPrivKey);
+	CleanupStack::PushL(decryptor);
+
+	TTimeIntervalMicroSeconds decryptTime(0);
+	TTime start, end;
+	TTimeIntervalSeconds diff(0);
+	const TTimeIntervalSeconds KIterationTime(iPerfTestIterations);
+
+	HBufC8 *dResult = HBufC8::NewLC(decryptor->MaxOutputLength());
+	TPtr8 dPtr = dResult->Des();
+	TPtr8* dResultPtr = &dPtr;
+	TInt noDecryptions = 0;
+
+//	Time decryption	
+	start.UniversalTime();
+	while (diff < KIterationTime)
+		{
+		decryptor->DecryptL(*iCiphertext, *dResultPtr);
+		noDecryptions++;
+		end.UniversalTime();
+		end.SecondsFrom(start, diff);
+		}
+	end.UniversalTime();
+	decryptTime = end.MicroSecondsFrom(start);
+	TReal decrypttime = I64REAL(decryptTime.Int64());
+	iResult = ETrue;
+	if (*iPlaintext!=*dResult)
+	{
+		iResult = EFalse;		
+	}
+
+    CleanupStack::PopAndDestroy(2);		// decryptor, dResult
+
+	__UHEAP_MARKEND;
+	
+	if (iResult)
+	{
+		TReal rate = I64REAL(decryptTime.Int64()) / noDecryptions;
+		TBuf<256> buf;
+		_LIT(KDecryptTime, "\tDecrypt Time: %f us/decryption (%i decryptions in %f us)\r\n");
+  		buf.Format(KDecryptTime, rate, noDecryptions, decrypttime);
+		iOut.writeString(buf);
+	}
+	else
+	{
+		_LIT(KNoTimingInfo, "\tTest Failed! No benchmark data\n");
+		iOut.writeString(KNoTimingInfo);
+	}
+}
+
+void CRSADecryptVector::DoPerformActionL()
+	{
+	__UHEAP_MARK;
+
+    CRSAPKCS1v15Decryptor* decryptor = CRSAPKCS1v15Decryptor::NewL(*iPrivKey);
+	CleanupStack::PushL(decryptor);
+
+	HBufC8* decryptBuf = HBufC8::NewLC(decryptor->MaxOutputLength());
+	TPtr8 decryptPtr = decryptBuf->Des();
+	TRAPD(err, decryptor->DecryptL(*iCiphertext, decryptPtr));
+    iResult = (err == KErrNone) && (*iPlaintext == *decryptBuf);
+
+ 	CleanupStack::PopAndDestroy(decryptBuf);
+ 	CleanupStack::PopAndDestroy(decryptor);
+
+	__UHEAP_MARKEND;
+	}
+
+
+////////////////////////////////////////////////////////////////////////////////
+// CRSADecryptVectorCRT
+////////////////////////////////////////////////////////////////////////////////
+CTestAction* CRSADecryptVectorCRT::NewL(RFs& aFs,
+                               CConsoleBase& aConsole,
+                               Output& aOut, 
+                               const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction* self = CRSADecryptVectorCRT::NewLC(aFs, aConsole,
+		aOut, aTestActionSpec);
+	CleanupStack::Pop();
+	return self;
+	}
+
+CTestAction* CRSADecryptVectorCRT::NewLC(RFs& aFs,
+                                CConsoleBase& aConsole,
+                                Output& aOut, 
+                                const TTestActionSpec& aTestActionSpec)
+	{
+	CRSADecryptVectorCRT* self = new(ELeave) CRSADecryptVectorCRT(aFs, aConsole, aOut);
+	CleanupStack::PushL(self);
+	self->ConstructL(aTestActionSpec);
+	return self;
+	}
+
+CRSADecryptVectorCRT::~CRSADecryptVectorCRT()
+	{
+	delete iPrivKey;
+	delete iPlaintext;
+	delete iCiphertext;
+	}
+
+CRSADecryptVectorCRT::CRSADecryptVectorCRT(RFs& /*aFs*/, 
+                                     CConsoleBase& aConsole,
+                                     Output& aOut)					 
+: CVectorTest(aConsole, aOut)
+	{
+	}
+
+void CRSADecryptVectorCRT::ConstructL(const TTestActionSpec& aTestActionSpec)
+	{
+	CVectorTest::ConstructL(aTestActionSpec);
+
+    iPrivKey = VectorUtils::ReadRSAPrivateKeyCRTL(aTestActionSpec.iActionBody);
+
+	TPtrC8 ctextIn = Input::ParseElement(aTestActionSpec.iActionBody, KCiphertextStart, KCiphertextEnd);
+	iCiphertext = VectorUtils::ParseBinaryL(ctextIn);
+
+	TPtrC8 ptextIn = Input::ParseElement(aTestActionSpec.iActionBody, KPlaintextStart, KPlaintextEnd);
+	iPlaintext = VectorUtils::ParseBinaryL(ptextIn);
+	}
+
+void CRSADecryptVectorCRT::DoPerformanceTestActionL()
+{
+	__UHEAP_MARK;
+
+    CRSAPKCS1v15Decryptor* decryptor = CRSAPKCS1v15Decryptor::NewL(*iPrivKey);
+	CleanupStack::PushL(decryptor);
+
+	TTimeIntervalMicroSeconds decryptTime(0);
+	TTime start, end;
+	TTimeIntervalSeconds diff(0);
+	const TTimeIntervalSeconds KIterationTime(iPerfTestIterations);
+	
+	TInt noDecryptions = 0;
+	HBufC8 *dResult = HBufC8::NewLC(decryptor->MaxOutputLength());
+	TPtr8 dPtr = dResult->Des();
+	TPtr8* dResultPtr = &dPtr;
+	
+//	Time decryption	
+	start.UniversalTime();
+	while (diff < KIterationTime)
+		{
+		decryptor->DecryptL(*iCiphertext, *dResultPtr);
+		noDecryptions++;
+		end.UniversalTime();
+		end.SecondsFrom(start, diff);
+		}
+	end.UniversalTime();
+	decryptTime = end.MicroSecondsFrom(start);
+	TReal decrypttime = I64REAL(decryptTime.Int64());
+		
+	iResult = ETrue;
+	if (*iPlaintext!=*dResult)
+	{
+		iResult = EFalse;		
+	}
+
+
+    CleanupStack::PopAndDestroy(2);		// decryptor, dResult
+
+	__UHEAP_MARKEND;
+	
+	if (iResult)
+	{
+		TReal rate = I64REAL(decryptTime.Int64()) / noDecryptions;
+		TBuf<256> buf;
+		_LIT(KDecryptTime, "\tDecrypt Time: %f us/decryption (%i decryptions in %f us)\r\n");
+  		buf.Format(KDecryptTime, rate, noDecryptions, decrypttime);
+		iOut.writeString(buf);
+	}
+	else
+	{
+		_LIT(KNoTimingInfo, "\tTest Failed! No benchmark data\n");
+		iOut.writeString(KNoTimingInfo);
+	}
+}
+
+void CRSADecryptVectorCRT::DoPerformActionL()
+	{
+	__UHEAP_MARK;
+
+    CRSAPKCS1v15Decryptor* decryptor = CRSAPKCS1v15Decryptor::NewL(*iPrivKey);
+	CleanupStack::PushL(decryptor);
+
+	HBufC8* decryptBuf = HBufC8::NewLC(decryptor->MaxOutputLength());
+	TPtr8 decryptPtr = decryptBuf->Des();
+	TRAPD(err, decryptor->DecryptL(*iCiphertext, decryptPtr));
+    iResult = (err == KErrNone) && (*iPlaintext == *decryptBuf);
+
+ 	CleanupStack::PopAndDestroy(decryptBuf);
+ 	CleanupStack::PopAndDestroy(decryptor);
+
+	__UHEAP_MARKEND;
+	}
+
+////////////////////////////////////////////////////////////////////////////////
+// CRSASignVector
+////////////////////////////////////////////////////////////////////////////////
+
+CTestAction* CRSASignVector::NewL(RFs& aFs,
+                                  CConsoleBase& aConsole,
+                                  Output& aOut, 
+                                  const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction* self = CRSASignVector::NewLC(aFs, aConsole, aOut, aTestActionSpec);
+	CleanupStack::Pop();
+	return self;
+	}
+
+CTestAction* CRSASignVector::NewLC(RFs& aFs,
+                                   CConsoleBase& aConsole,
+                                   Output& aOut, 
+                                   const TTestActionSpec& aTestActionSpec)
+	{
+	CRSASignVector* self = new(ELeave) CRSASignVector(aFs, aConsole, aOut);
+	CleanupStack::PushL(self);
+	self->ConstructL(aTestActionSpec);
+	return self;
+	}
+
+CRSASignVector::~CRSASignVector()
+	{
+    delete iPrivKey;
+	delete iDigestInfo;
+	delete iSignature;
+	}
+
+CRSASignVector::CRSASignVector(RFs& /*aFs*/, 
+                               CConsoleBase& aConsole,
+                               Output& aOut)					 
+    : CVectorTest(aConsole, aOut)
+	{
+	}
+
+void CRSASignVector::ConstructL(const TTestActionSpec& aTestActionSpec)
+	{
+	CVectorTest::ConstructL(aTestActionSpec);
+
+    iPrivKey = VectorUtils::ReadRSAPrivateKeyL(aTestActionSpec.iActionBody);
+
+	TPtrC8 digestInfoIn = Input::ParseElement(aTestActionSpec.iActionBody, KDigestInfoStart, KDigestInfoEnd);
+	iDigestInfo = VectorUtils::ParseBinaryL(digestInfoIn);
+
+	TPtrC8 signatureIn = Input::ParseElement(aTestActionSpec.iActionBody, KSignatureStart, KSignatureEnd);
+	RInteger integer = VectorUtils::ParseIntegerL(signatureIn);
+	CleanupStack::PushL(integer);
+	iSignature = CRSASignature::NewL(integer);
+	CleanupStack::Pop(&integer);
+	}
+
+void CRSASignVector::DoPerformanceTestActionL()
+{
+	__UHEAP_MARK;
+
+    CRSAPKCS1v15Signer* signer = CRSAPKCS1v15Signer::NewL(*iPrivKey);
+	CleanupStack::PushL(signer);
+
+	TPtrC8 digestPtr = iDigestInfo->Des();
+
+	TTimeIntervalMicroSeconds signTime(0);
+	TTime start, end;
+	TTimeIntervalSeconds diff(0);
+	const TTimeIntervalSeconds KIterationTime(iPerfTestIterations);
+
+	TInt noSignings = 0;
+
+	const CRSASignature *testSig = 0;
+	
+//	Time signing
+	start.UniversalTime();
+	while (diff < KIterationTime)
+		{
+		testSig = signer->SignL(digestPtr);
+		delete testSig;
+		noSignings++;
+		end.UniversalTime();
+		end.SecondsFrom(start, diff);
+		}
+	end.UniversalTime();
+	signTime = end.MicroSecondsFrom(start);
+	TReal signtime = I64REAL(signTime.Int64());
+	
+	iResult = ETrue;
+	testSig = signer->SignL(digestPtr);
+	if (!(*testSig==*iSignature))
+	{
+		iResult = EFalse;		
+	}
+	delete testSig;
+
+	CleanupStack::PopAndDestroy();		//	signer
+
+	__UHEAP_MARKEND;
+	
+	if (iResult)
+	{
+		TReal rate = I64REAL(signTime.Int64()) / noSignings;
+		TBuf<256> buf;
+		_LIT(KSignTime, "\tSign Time: %f us/signing (%i signings in %f us)\r\n");
+		buf.Format(KSignTime, rate, noSignings, signtime);
+		iOut.writeString(buf);
+	}
+	else
+	{
+		_LIT(KNoTimingInfo, "\tTest Failed! No benchmark data\n");
+		iOut.writeString(KNoTimingInfo);
+	}
+}
+
+void CRSASignVector::DoPerformActionL()
+	{
+	__UHEAP_MARK;
+
+	CRSAPKCS1v15Signer* digestSigner = CRSAPKCS1v15Signer::NewL(*iPrivKey);
+	CleanupStack::PushL(digestSigner);
+	
+	TPtrC8 digestPtr2 = iDigestInfo->Des();
+	const CRSASignature* testSig2 = digestSigner->SignL(digestPtr2);
+    CleanupStack::PushL(const_cast<CRSASignature*>(testSig2));
+    iResult = (*testSig2 == *iSignature);
+
+	CleanupStack::PopAndDestroy(const_cast<CRSASignature*>(testSig2));
+	CleanupStack::PopAndDestroy(digestSigner);
+
+	__UHEAP_MARKEND;
+	}
+
+////////////////////////////////////////////////////////////////////////////////
+// CRSASignVectorCRT
+////////////////////////////////////////////////////////////////////////////////
+
+CTestAction* CRSASignVectorCRT::NewL(RFs& aFs,
+                                  CConsoleBase& aConsole,
+                                  Output& aOut, 
+                                  const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction* self = CRSASignVectorCRT::NewLC(aFs, aConsole, aOut, aTestActionSpec);
+	CleanupStack::Pop();
+	return self;
+	}
+
+CTestAction* CRSASignVectorCRT::NewLC(RFs& aFs,
+                                   CConsoleBase& aConsole,
+                                   Output& aOut, 
+                                   const TTestActionSpec& aTestActionSpec)
+	{
+	CRSASignVectorCRT* self = new(ELeave) CRSASignVectorCRT(aFs, aConsole, aOut);
+	CleanupStack::PushL(self);
+	self->ConstructL(aTestActionSpec);
+	return self;
+	}
+
+CRSASignVectorCRT::~CRSASignVectorCRT()
+	{
+    delete iPrivKey;
+	delete iDigestInfo;
+	delete iSignature;
+	}
+
+CRSASignVectorCRT::CRSASignVectorCRT(RFs& /*aFs*/, 
+                               CConsoleBase& aConsole,
+                               Output& aOut)					 
+    : CVectorTest(aConsole, aOut)
+	{
+	}
+
+void CRSASignVectorCRT::ConstructL(const TTestActionSpec& aTestActionSpec)
+	{
+	CVectorTest::ConstructL(aTestActionSpec);
+
+    iPrivKey = VectorUtils::ReadRSAPrivateKeyCRTL(aTestActionSpec.iActionBody);
+
+	TPtrC8 digestInfoIn = Input::ParseElement(aTestActionSpec.iActionBody, KDigestInfoStart, KDigestInfoEnd);
+	iDigestInfo = VectorUtils::ParseBinaryL(digestInfoIn);
+
+	TPtrC8 signatureIn = Input::ParseElement(aTestActionSpec.iActionBody, KSignatureStart, KSignatureEnd);
+	RInteger integer = VectorUtils::ParseIntegerL(signatureIn);
+	CleanupStack::PushL(integer);
+	iSignature = CRSASignature::NewL(integer);
+	CleanupStack::Pop(&integer);
+	}
+
+void CRSASignVectorCRT::DoPerformanceTestActionL()
+{
+	__UHEAP_MARK;
+
+    CRSAPKCS1v15Signer* signer = CRSAPKCS1v15Signer::NewL(*iPrivKey);
+	CleanupStack::PushL(signer);
+
+	TPtrC8 digestPtr = iDigestInfo->Des();
+
+	TTimeIntervalMicroSeconds signTime(0);
+	TTime start, end;
+	TTimeIntervalSeconds diff(0);
+	const TTimeIntervalSeconds KIterationTime(iPerfTestIterations);
+	TInt noSignings = 0;
+
+	const CRSASignature *testSig = NULL;
+	
+//	Time signing
+	start.UniversalTime();
+	while (diff < KIterationTime)
+		{
+		testSig = signer->SignL(digestPtr);
+		delete testSig;
+		noSignings++;
+		end.UniversalTime();
+		end.SecondsFrom(start, diff);
+		}
+	end.UniversalTime();
+	signTime = end.MicroSecondsFrom(start);
+	TReal signtime = I64REAL(signTime.Int64());
+	
+	testSig = signer->SignL(digestPtr);
+	iResult = ETrue;
+	if (!(*testSig==*iSignature))
+	{
+		iResult = EFalse;		
+	}
+	delete testSig;
+
+	CleanupStack::PopAndDestroy(); // signer
+
+	__UHEAP_MARKEND;
+	
+	if (iResult)
+	{
+		TReal rate = I64REAL(signTime.Int64()) / noSignings;
+		TBuf<256> buf;
+		_LIT(KSignTime, "\tSign Time: %f us/signing (%i signings in %f us)\r\n");
+		buf.Format(KSignTime, rate, noSignings, signtime);
+		iOut.writeString(buf);
+	}
+	else
+	{
+		_LIT(KNoTimingInfo, "\tTest Failed! No benchmark data\n");
+		iOut.writeString(KNoTimingInfo);
+	}
+}
+
+void CRSASignVectorCRT::DoPerformActionL()
+	{
+	__UHEAP_MARK;
+
+	CRSAPKCS1v15Signer* signer = CRSAPKCS1v15Signer::NewL(*iPrivKey);
+	CleanupStack::PushL(signer);
+
+	TPtrC8 digestPtr = iDigestInfo->Des();
+	const CRSASignature* testSig = signer->SignL(digestPtr);
+    CleanupStack::PushL(const_cast<CRSASignature*>(testSig));	
+
+#ifdef _DEBUG 
+	HBufC8* theResultSig = testSig->S().BufferLC();
+	HBufC8* theExpectedSig = iSignature->S().BufferLC();
+	iResult = (theResultSig->Compare(*theExpectedSig)) ==0 ? ETrue : EFalse;
+	CleanupStack::PopAndDestroy(2);	
+#endif	
+	
+	iResult = (*testSig == *iSignature);
+
+	CleanupStack::PopAndDestroy(const_cast<CRSASignature*>(testSig));
+    CleanupStack::PopAndDestroy(signer);
+
+	__UHEAP_MARKEND;
+	}
+
+
+////////////////////////////////////////////////////////////////////////////////
+// CRSAVerifyVector
+////////////////////////////////////////////////////////////////////////////////
+
+CTestAction* CRSAVerifyVector::NewL(RFs& aFs,
+                                  CConsoleBase& aConsole,
+                                  Output& aOut, 
+                                  const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction* self = CRSAVerifyVector::NewLC(aFs, aConsole, aOut, aTestActionSpec);
+	CleanupStack::Pop();
+	return self;
+	}
+
+CTestAction* CRSAVerifyVector::NewLC(RFs& aFs,
+                                   CConsoleBase& aConsole,
+                                   Output& aOut, 
+                                   const TTestActionSpec& aTestActionSpec)
+	{
+	CRSAVerifyVector* self = new(ELeave) CRSAVerifyVector(aFs, aConsole, aOut);
+	CleanupStack::PushL(self);
+	self->ConstructL(aTestActionSpec);
+	return self;
+	}
+
+CRSAVerifyVector::~CRSAVerifyVector()
+	{
+    delete iPubKey;
+	delete iDigestInfo;
+	delete iSignature;
+	}
+
+CRSAVerifyVector::CRSAVerifyVector(RFs& /*aFs*/, 
+                                   CConsoleBase& aConsole,
+                                   Output& aOut)					 
+    : CVectorTest(aConsole, aOut)
+	{
+	}
+
+void CRSAVerifyVector::ConstructL(const TTestActionSpec& aTestActionSpec)
+	{
+	CVectorTest::ConstructL(aTestActionSpec);
+
+    iPubKey = VectorUtils::ReadRSAPublicKeyL(aTestActionSpec.iActionBody);
+
+	TPtrC8 digestInfoIn = Input::ParseElement(aTestActionSpec.iActionBody, KDigestInfoStart, KDigestInfoEnd);
+	iDigestInfo = VectorUtils::ParseBinaryL(digestInfoIn);
+
+	TPtrC8 signatureIn = Input::ParseElement(aTestActionSpec.iActionBody, KSignatureStart, KSignatureEnd);
+	RInteger integer = VectorUtils::ParseIntegerL(signatureIn);
+	CleanupStack::PushL(integer);
+	iSignature = CRSASignature::NewL(integer);
+	CleanupStack::Pop(&integer);
+	}
+
+void CRSAVerifyVector::DoPerformanceTestActionL()
+{
+	__UHEAP_MARK;
+
+
+	TTimeIntervalMicroSeconds verifyTime(0);
+	TTime start, end;
+	TTimeIntervalSeconds diff(0);
+	const TTimeIntervalSeconds KIterationTime(iPerfTestIterations);
+
+	TInt noVerifies = 0;
+    
+	CRSAPKCS1v15Verifier *verifier = CRSAPKCS1v15Verifier::NewLC(*iPubKey);	
+	    	
+//	Time verification
+	start.UniversalTime();
+	while (diff < KIterationTime)
+		{
+		iResult = verifier->VerifyL(*iDigestInfo, *iSignature);
+		if (!iResult)
+			{
+			break;
+			}
+		noVerifies++;
+		end.UniversalTime();
+		end.SecondsFrom(start, diff);
+		}
+	end.UniversalTime();
+	verifyTime = end.MicroSecondsFrom(start);
+	TReal verifytime = I64REAL(verifyTime.Int64());
+
+	CleanupStack::PopAndDestroy(verifier);
+
+	__UHEAP_MARKEND;
+	
+	if (iResult)
+	{
+		TReal rate = I64REAL(verifyTime.Int64()) / noVerifies;
+		TBuf<256> buf;
+		_LIT(KVerifyTime, "\tVerify Time: %f us/verify (%i verifies in %f us)\r\n");
+		buf.Format(KVerifyTime, rate, noVerifies, verifytime);
+		iOut.writeString(buf);
+	}
+	else
+	{
+		_LIT(KNoTimingInfo, "\tTest Failed! No benchmark data\n");
+		iOut.writeString(KNoTimingInfo);
+	}
+}
+
+void CRSAVerifyVector::DoPerformActionL()
+	{
+	__UHEAP_MARK;
+
+	CRSAPKCS1v15Verifier* verifier = CRSAPKCS1v15Verifier::NewL(*iPubKey);
+	CleanupStack::PushL(verifier);
+    iResult = verifier->VerifyL(*iDigestInfo, *iSignature);
+
+	CleanupStack::PopAndDestroy(verifier);
+    
+	__UHEAP_MARKEND;
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tasymmetric/trsavector.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,166 @@
+/*
+* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* Vector tests for RSA ciphers
+*
+*/
+
+
+#ifndef __TRSAVECTOR_H__
+#define __TRSAVECTOR_H__
+
+#include "tvectortest.h"
+
+/**
+ * Runs RSA encryption vectors.
+ */
+
+class CRSAEncryptVector : public CVectorTest
+    {
+public:
+	static CTestAction* NewL(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	static CTestAction* NewLC(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	virtual ~CRSAEncryptVector();
+protected:
+	virtual void DoPerformActionL();
+	virtual void DoPerformanceTestActionL();
+private:
+	CRSAEncryptVector(RFs& aFs, CConsoleBase& aConsole, Output& aOut);
+	void ConstructL(const TTestActionSpec& aTestActionSpec);
+
+	CRSAPublicKey* iPubKey;
+	HBufC8* iPlaintext;
+	HBufC8* iCiphertext;
+    };
+
+/**
+ * Runs RSA decryption vectors.
+ */
+
+class CRSADecryptVector : public CVectorTest
+    {
+public:
+	static CTestAction* NewL(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	static CTestAction* NewLC(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	virtual ~CRSADecryptVector();
+protected:
+	virtual void DoPerformActionL();
+	virtual void DoPerformanceTestActionL();
+private:
+	CRSADecryptVector(RFs& aFs, CConsoleBase& aConsole, Output& aOut);
+	void ConstructL(const TTestActionSpec& aTestActionSpec);
+
+	CRSAPrivateKey* iPrivKey;    
+	HBufC8* iCiphertext;
+	HBufC8* iPlaintext;
+    };
+
+
+
+/**
+ * Runs RSA decryption vectors.
+ */
+
+class CRSADecryptVectorCRT : public CVectorTest
+    {
+public:
+	static CTestAction* NewL(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	static CTestAction* NewLC(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	virtual ~CRSADecryptVectorCRT();
+protected:
+	virtual void DoPerformActionL();
+	virtual void DoPerformanceTestActionL();
+private:
+	CRSADecryptVectorCRT(RFs& aFs, CConsoleBase& aConsole, Output& aOut);
+	void ConstructL(const TTestActionSpec& aTestActionSpec);
+private:
+	CRSAPrivateKey* iPrivKey;    
+	HBufC8* iCiphertext;
+	HBufC8* iPlaintext;
+    };
+
+/**
+ * Runs RSA signing vectors.
+ */
+
+class CRSASignVector : public CVectorTest
+    {
+public:
+	static CTestAction* NewL(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	static CTestAction* NewLC(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	virtual ~CRSASignVector();
+protected:
+	virtual void DoPerformActionL();
+	virtual void DoPerformanceTestActionL();
+private:
+	CRSASignVector(RFs& aFs, CConsoleBase& aConsole, Output& aOut);
+	void ConstructL(const TTestActionSpec& aTestActionSpec);
+
+	CRSAPrivateKey* iPrivKey;
+	HBufC8* iDigestInfo;
+	CRSASignature* iSignature;
+    };
+
+class CRSASignVectorCRT : public CVectorTest
+    {
+public:
+	static CTestAction* NewL(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	static CTestAction* NewLC(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	virtual ~CRSASignVectorCRT();
+protected:
+	virtual void DoPerformActionL();
+	virtual void DoPerformanceTestActionL();
+private:
+	CRSASignVectorCRT(RFs& aFs, CConsoleBase& aConsole, Output& aOut);
+	void ConstructL(const TTestActionSpec& aTestActionSpec);
+
+	CRSAPrivateKey* iPrivKey;
+	HBufC8* iDigestInfo;
+	CRSASignature* iSignature;
+    };
+/**
+ * Runs RSA verification vectors.
+ */
+
+class CRSAVerifyVector : public CVectorTest
+    {
+public:
+	static CTestAction* NewL(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	static CTestAction* NewLC(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	virtual ~CRSAVerifyVector();
+protected:
+	virtual void DoPerformActionL();
+	virtual void DoPerformanceTestActionL();
+private:
+	CRSAVerifyVector(RFs& aFs, CConsoleBase& aConsole, Output& aOut);
+	void ConstructL(const TTestActionSpec& aTestActionSpec);
+
+	CRSAPublicKey* iPubKey;    
+	HBufC8* iDigestInfo;
+	CRSASignature* iSignature;
+    };
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tasymmetric/tsignatureinput.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,67 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+/**
+ @file
+*/
+
+#include "tsignatureinput.h"
+
+/* CHashingSignatureInput */
+
+CHashingSignatureInput* CHashingSignatureInput::NewL(
+    CMessageDigest::THashId aHashId)
+    {
+    CHashingSignatureInput* self = NewLC(aHashId);
+    CleanupStack::Pop(self);
+    return self;
+    }
+
+CHashingSignatureInput* CHashingSignatureInput::NewLC(
+    CMessageDigest::THashId aHashId)
+    {
+    CHashingSignatureInput* self = new(ELeave)CHashingSignatureInput;
+    CleanupStack::PushL(self);
+    self->ConstructL(aHashId);
+    return self;
+    }
+
+void CHashingSignatureInput::Update(const TDesC8& aInput)
+    {
+    iHash->Update(aInput);
+    }
+
+TPtrC8 CHashingSignatureInput::Final(void)
+    {
+    return iHash->Final();
+    }
+
+CHashingSignatureInput::CHashingSignatureInput(void)
+    {
+    }
+
+CHashingSignatureInput::~CHashingSignatureInput(void)
+    {
+    delete iHash;
+    }
+
+void CHashingSignatureInput::ConstructL(CMessageDigest::THashId aHashId)
+    {
+    iHash = CMessageDigestFactory::NewDigestL(aHashId);
+    }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tasymmetric/tsignatureinput.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,69 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+
+/**
+ @file
+*/
+
+#ifndef __TSIGNATUREINPUT_H__
+#define __TSIGNATUREINPUT_H__
+
+#include <e32base.h>
+#include <hash.h>
+/** An abstract class capable of representing a message to be signed or
+* verified.
+* @publishedPartner
+* @released
+*/
+class CSignatureInput : public CBase
+    {
+public:
+    virtual void Update(const TDesC8& aInput) = 0;
+    virtual TPtrC8 Final(void) = 0;
+protected:
+	CSignatureInput(void) {}
+private:
+    CSignatureInput(const CSignatureInput&);
+    CSignatureInput& operator=(const CSignatureInput&);
+    };
+
+/**
+* @publishedPartner
+* @released
+*/
+class CHashingSignatureInput : public CSignatureInput
+    {
+public:
+    static CHashingSignatureInput* NewL(CMessageDigest::THashId aHashId);
+    static CHashingSignatureInput* NewLC(CMessageDigest::THashId aHashId);
+    virtual void Update(const TDesC8& aInput);
+    virtual TPtrC8 Final(void);
+    ~CHashingSignatureInput(void);
+protected:
+    CHashingSignatureInput(void);
+    void ConstructL(CMessageDigest::THashId aHashId);
+private:
+    CMessageDigest* iHash;
+private:
+    CHashingSignatureInput(const CHashingSignatureInput&);
+    CHashingSignatureInput& operator=(const CHashingSignatureInput&);
+    };
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tasymmetric/tvectortest.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,139 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include "tvectortest.h"
+#include <e32twin.h>
+#include "t_input.h"
+#include <asymmetric.h>
+#include <random.h>
+#include <padding.h>
+#include "tvectorutils.h"
+#include "performancetest.h"
+#include <securityerr.h>
+
+_LIT8(KKeyBitsStart, "<keybits>");
+_LIT8(KKeyBitsEnd, "</keybits>");
+_LIT8(KResultStart, "<result>");
+_LIT8(KResultEnd, "</result>");
+
+////////////////////////////////////////////////////////////////////////////////
+// CVectorTest 
+////////////////////////////////////////////////////////////////////////////////
+
+CVectorTest::CVectorTest(CConsoleBase& aConsole, Output& aOut)
+    : CTestAction(aConsole, aOut), iPerfTestIterations(100)
+    {
+    }
+
+CVectorTest::~CVectorTest()
+    {
+    }
+
+void CVectorTest::ConstructL(const TTestActionSpec& aTestActionSpec)
+{
+	CTestAction::ConstructL(aTestActionSpec);
+
+	if (CPerformance::PerformanceTester()->IsTestingPerformance())
+	{//	Number of test iterations
+		TPtrC8 itsPtr = Input::ParseElement(aTestActionSpec.iActionBody, KIterationsStart, KIterationsEnd);
+		if (itsPtr!=KNullDesC8)
+		{
+			TLex8 lex;
+			lex.Assign(itsPtr);
+			User::LeaveIfError(lex.Val(iPerfTestIterations));
+			if (iPerfTestIterations > KMaxIterations)
+				User::Panic(_L("AsymmetricPerformance.exe"), KErrArgument);
+		}
+	}
+
+	TPtrC8 keyBitsPtr = Input::ParseElement(aTestActionSpec.iActionBody, KKeyBitsStart, KKeyBitsEnd); 
+	if (keyBitsPtr!=KNullDesC8)
+	{
+		TLex8 lex;
+		lex.Assign(keyBitsPtr);
+		User::LeaveIfError(lex.Val(iKeyBits));
+	}
+
+    TPtrC8 resultIn = Input::ParseElement(aTestActionSpec.iActionResult, KResultStart, KResultEnd);
+    iExpectedResult = VectorUtils::ParseBoolL(resultIn);
+}
+
+void CVectorTest::PerformAction(TRequestStatus& aStatus)
+{
+	TRequestStatus* status = &aStatus;
+	
+	if (CPerformance::PerformanceTester()->IsTestingPerformance())
+	{
+		iConsole.Printf(_L(">"));	//	Indicates start of test
+		TRAP(iActionResult, DoPerformanceTestActionL());
+	}
+	else
+	{
+		TRAP(iActionResult, DoPerformActionL());
+	}
+	
+	if (iActionResult==KErrNoMemory)
+		{
+		User::Leave(iActionResult);	//	For OOM testing
+		}
+	if (iActionResult==KErrKeyNotWeakEnough)
+		{
+		iResult = ETrue;
+		iConsole.Printf(_L("Crypto libraries returned KErrKeyNotWeakEnough!  Passing test automatically.\n\r"));
+		iOut.writeString(_L("Crypto libraries returned KErrKeyNotWeakEnough!  Passing test automatically.\n\r"));
+		}
+
+	User::RequestComplete(status, iActionResult);
+
+	iActionState = CTestAction::EPostrequisite;
+
+}
+
+void CVectorTest::DoPerformPrerequisite(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+	User::RequestComplete(status, KErrNone);
+	iActionState = CTestAction::EAction;
+	}
+
+void CVectorTest::DoPerformPostrequisite(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+	iFinished = ETrue;
+	User::RequestComplete(status, KErrNone);
+	}
+
+void CVectorTest::DoReportAction(void)
+	{
+	}
+
+void CVectorTest::DoCheckResult(TInt /*aError*/)
+	{
+//	If using Keith's fixed up testframework for testing failures, iResult will 
+//	have already been corrected for a deliberate fail result.
+//	If not using Keith's testframework iResult is still a fail result at this
+//	point, so now's the time to adjust for deliberate failure.
+
+	if (!iResult)
+		iResult = (iResult && iExpectedResult) || (!iResult && !iExpectedResult);
+
+	if (iResult)
+		iConsole.Printf(_L("."));
+	else
+		iConsole.Printf(_L("X"));
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tasymmetric/tvectortest.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,59 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* Vector tests for asymmetric ciphers
+*
+*/
+
+
+#ifndef __TVECTOR_H__
+#define __TVECTOR_H__
+
+#include "t_testaction.h"
+#include <e32std.h>
+#include <asymmetric.h>
+#include <asymmetrickeys.h>
+#include <random.h>
+
+/**
+ * Base class for vector tests that implements the virtual methods they all have
+ * in common.
+ */
+
+class CVectorTest : public CTestAction
+{
+public:
+	virtual void PerformAction(TRequestStatus& aStatus);
+protected:
+    /** Constructor for derived classes. */
+    CVectorTest(CConsoleBase& aConsole, Output& aOut);
+
+//	xxx should this be protected?
+    virtual ~CVectorTest();
+	virtual void ConstructL(const TTestActionSpec& aTestActionSpec);
+	virtual void DoPerformPrerequisite(TRequestStatus& aStatus);
+	virtual void DoPerformPostrequisite(TRequestStatus& aStatus);
+	virtual void DoReportAction(void);
+	virtual void DoCheckResult(TInt);
+protected:
+	virtual void DoPerformActionL() = 0;
+	virtual void DoPerformanceTestActionL() = 0;
+protected:
+	TInt iPerfTestIterations;
+private:
+	TInt iActionResult;
+	TInt iKeyBits;
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tasymmetric/tvectorutils.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,258 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include "tvectorutils.h"
+#include "t_input.h"
+
+//	RSA
+_LIT8(KModStart, "<modulus>");
+_LIT8(KModEnd, "</modulus>");
+_LIT8(KPubExpStart, "<publicExponent>");
+_LIT8(KPubExpEnd, "</publicExponent>");
+_LIT8(KPrivExpStart, "<privateExponent>");
+_LIT8(KPrivExpEnd, "</privateExponent>");
+_LIT8(KPStart, "<P>");
+_LIT8(KPEnd, "</P>");
+_LIT8(KQStart, "<Q>");
+_LIT8(KQEnd, "</Q>");
+_LIT8(KdPStart, "<dP>");
+_LIT8(KdPEnd, "</dP>");
+_LIT8(KdQStart, "<dQ>");
+_LIT8(KdQEnd, "</dQ>");
+_LIT8(KqInvStart, "<qInv>");
+_LIT8(KqInvEnd, "</qInv>");
+
+_LIT8(KTrueVal, "ETrue");
+_LIT8(KFalseVal, "EFalse");
+
+RInteger VectorUtils::ParseIntegerL(const TDesC8& aDes)
+    {
+	HBufC8* buf = ParseBinaryL(aDes);
+	CleanupStack::PushL(buf);
+    RInteger result = RInteger::NewL(*buf);
+    CleanupStack::PopAndDestroy(buf);
+
+    return result;
+    }
+
+HBufC8* VectorUtils::ParseBinaryL(const TDesC8& aDes)
+{
+    __ASSERT_ALWAYS(aDes.Length() % 2 == 0, User::Panic(_L("ParseBinaryL"), KErrArgument));
+	int length = aDes.Length() / 2;
+	HBufC8* buf = HBufC8::NewL(length);
+    TPtr8 ptr = buf->Des();
+	ptr.SetLength(length);
+
+    for (TInt i = 0 ; i < aDes.Length() ; i += 2)
+        {
+        TUint8 tmp;
+        tmp=(TUint8)(aDes[i]-(aDes[i]>'9'?('A'-10):'0'));
+        tmp*=16;
+        tmp|=(TUint8)(aDes[i+1]-(aDes[i+1]>'9'?('A'-10):'0'));
+		ptr[i / 2] = tmp;
+        }
+
+	return buf;
+}
+
+// Print an Integer into hex, only works for positive integers
+TDesC* VectorUtils::PrintIntegerL(const TInteger& aInt)
+{
+	HBufC8* binary = aInt.BufferLC();
+	TDesC* result = PrintBinaryL(*binary);
+	CleanupStack::PopAndDestroy(binary);
+
+	return result;
+}
+
+// Print a binary string into hex
+TDesC* VectorUtils::PrintBinaryL(const TDesC8& aData)
+{
+	int length = aData.Length() * 2;
+	HBufC* buf = HBufC::NewL(length);
+	TPtr ptr = buf->Des();
+	ptr.SetLength(length);
+
+	for (int i = 0 ; i < aData.Length() ; ++i)
+		{
+		TUint8 val = aData[i];
+		TUint8 n = (TUint8) ((val & 0xf0) >> 4);
+		ptr[i * 2] = (TUint8) (n < 10 ? ('0' + n) : ('A' + n - 10));
+		n = (TUint8) (val & 0x0f);
+		ptr[i * 2 + 1] = (TUint8) (n < 10 ? ('0' + n) : ('A' + n - 10));
+		}
+
+	return buf;
+}
+
+TBool VectorUtils::ParseBoolL(const TDesC8& aDes)
+    {
+    TBool result = EFalse;
+
+    if (aDes == KTrueVal)
+        result = ETrue;
+    else if (aDes != KFalseVal)
+        User::Leave(KErrArgument);
+
+    return result;
+    }
+
+CRSAPublicKey* VectorUtils::ReadRSAPublicKeyL(const TDesC8& aData)
+    {
+	TPtrC8 modIn = Input::ParseElement(aData, KModStart, KModEnd);
+    RInteger mod = ParseIntegerL(modIn);
+	CleanupStack::PushL(mod);
+
+	TPtrC8 pubExpIn = Input::ParseElement(aData, KPubExpStart, KPubExpEnd);
+	RInteger pubExp = ParseIntegerL(pubExpIn);
+	CleanupStack::PushL(pubExp);
+
+	CRSAPublicKey* result = CRSAPublicKey::NewL(mod, pubExp);
+
+	CleanupStack::Pop(&pubExp);
+	CleanupStack::Pop(&mod);
+    return result;
+    }
+
+CRSAPrivateKeyStandard* VectorUtils::ReadRSAPrivateKeyL(const TDesC8& aData)
+    {
+	TPtrC8 modIn = Input::ParseElement(aData, KModStart, KModEnd);
+    RInteger mod = ParseIntegerL(modIn);
+	CleanupStack::PushL(mod);
+
+	TPtrC8 privExpIn = Input::ParseElement(aData, KPrivExpStart, KPrivExpEnd);
+	RInteger privExp = ParseIntegerL(privExpIn);
+	CleanupStack::PushL(privExp);
+
+	CRSAPrivateKeyStandard* result  = CRSAPrivateKeyStandard::NewL(mod, privExp);
+
+	CleanupStack::Pop(&privExp);
+	CleanupStack::Pop(&mod);
+    return result;
+    }
+
+CRSAPrivateKeyCRT* VectorUtils::ReadRSAPrivateKeyCRTL(const TDesC8& aData)
+    {
+	TPtrC8 modIn = Input::ParseElement(aData, KModStart, KModEnd);
+    RInteger mod = ParseIntegerL(modIn);
+	CleanupStack::PushL(mod);
+
+	TPtrC8 pIn = Input::ParseElement(aData, KPStart, KPEnd);
+	RInteger P = ParseIntegerL(pIn);
+	CleanupStack::PushL(P);
+
+	TPtrC8 qIn = Input::ParseElement(aData, KQStart, KQEnd);
+	RInteger Q = ParseIntegerL(qIn);
+	CleanupStack::PushL(Q);
+	
+	TPtrC8 dpIn = Input::ParseElement(aData, KdPStart, KdPEnd);
+	RInteger dP = ParseIntegerL(dpIn);
+	CleanupStack::PushL(dP);
+	
+	TPtrC8 dqIn = Input::ParseElement(aData, KdQStart, KdQEnd);
+	RInteger dQ = ParseIntegerL(dqIn);
+	CleanupStack::PushL(dQ);
+
+	TPtrC8 qInvIn = Input::ParseElement(aData, KqInvStart, KqInvEnd);
+	RInteger qInv = ParseIntegerL(qInvIn);
+	CleanupStack::PushL(qInv);
+	
+	CRSAPrivateKeyCRT* privKey  = CRSAPrivateKeyCRT::NewL(mod, P, Q, dP, dQ, qInv);
+
+	CleanupStack::Pop(&qInv);
+	CleanupStack::Pop(&dQ);
+	CleanupStack::Pop(&dP);
+	CleanupStack::Pop(&Q);
+	CleanupStack::Pop(&P);
+	CleanupStack::Pop(&mod);
+    return (privKey);
+    }
+
+CDSAPublicKey* VectorUtils::ReadDSAPublicKeyL(const TDesC8& aData)
+    {
+	TPtrC8 pIn = Input::ParseElement(aData, _L8("<p>"));
+    RInteger p = ParseIntegerL(pIn);
+	CleanupStack::PushL(p);
+
+	TPtrC8 qIn = Input::ParseElement(aData, _L8("<q>"));
+    RInteger q = ParseIntegerL(qIn);
+	CleanupStack::PushL(q);
+
+	TPtrC8 gIn = Input::ParseElement(aData, _L8("<g>"));
+    RInteger g = ParseIntegerL(gIn);
+	CleanupStack::PushL(g);
+
+	TPtrC8 yIn = Input::ParseElement(aData, _L8("<y>"));
+    RInteger y = ParseIntegerL(yIn);
+	CleanupStack::PushL(y);
+
+	CDSAPublicKey* result = CDSAPublicKey::NewL(p, q, g, y);
+
+	CleanupStack::Pop(&y);
+	CleanupStack::Pop(&g);
+	CleanupStack::Pop(&q);
+	CleanupStack::Pop(&p);
+
+    return result;
+    }
+
+CDSAPrivateKey* VectorUtils::ReadDSAPrivateKeyL(const TDesC8& aData)
+    {
+	TPtrC8 pIn = Input::ParseElement(aData, _L8("<p>"));
+    RInteger p = ParseIntegerL(pIn);
+	CleanupStack::PushL(p);
+
+	TPtrC8 qIn = Input::ParseElement(aData, _L8("<q>"));
+    RInteger q = ParseIntegerL(qIn);
+	CleanupStack::PushL(q);
+
+	TPtrC8 gIn = Input::ParseElement(aData, _L8("<g>"));
+    RInteger g = ParseIntegerL(gIn);
+	CleanupStack::PushL(g);
+
+	TPtrC8 xIn = Input::ParseElement(aData, _L8("<x>"));
+    RInteger x = ParseIntegerL(xIn);
+	CleanupStack::PushL(x);
+
+	CDSAPrivateKey* result = CDSAPrivateKey::NewL(p, q, g, x);
+
+	CleanupStack::Pop(&x);
+	CleanupStack::Pop(&g);
+	CleanupStack::Pop(&q);
+	CleanupStack::Pop(&p);
+
+    return result;
+    }
+
+CDSASignature* VectorUtils::ReadDSASignatureL(const TDesC8& aData)
+    {
+	TPtrC8 rIn = Input::ParseElement(aData, _L8("<r>"));
+    RInteger r = ParseIntegerL(rIn);
+	CleanupStack::PushL(r);
+
+	TPtrC8 sIn = Input::ParseElement(aData, _L8("<s>"));
+    RInteger s = ParseIntegerL(sIn);
+	CleanupStack::PushL(s);
+
+	CDSASignature* result = CDSASignature::NewL(r, s);
+
+	CleanupStack::Pop(&s);
+	CleanupStack::Pop(&r);
+
+    return result;
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tasymmetric/tvectorutils.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,69 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#ifndef __TVECTORUTILS_H__
+#define __TVECTORUTILS_H__
+
+#include <e32std.h>
+#include "asymmetrickeys.h"
+#include "asymmetric.h"
+#include "bigint.h"
+
+/**
+ * Defines static utility methods used by the vector tests.
+ */
+
+class VectorUtils
+    {
+public:
+
+    /** Parse a hex string and return a new RInteger. */
+    static RInteger ParseIntegerL(const TDesC8& aDes);
+
+    /** Parse a hex string and return a new descriptor containing the binary data. */
+	static HBufC8* ParseBinaryL(const TDesC8& aDes);
+
+    /** Return a new descriptor containing the hex representation of an Integer. */
+	static TDesC* PrintIntegerL(const TInteger& aInt);
+
+    /** Return a new descriptor containing the hex representation of a binary string. */
+	static TDesC* PrintBinaryL(const TDesC8& aData);
+
+    /** Parse a string containg either "ETrue" or "EFalse" and return a TBool. */
+    static TBool ParseBoolL(const TDesC8& aDes);
+
+    /** Create an RSA public key from from action data. */
+    static CRSAPublicKey* ReadRSAPublicKeyL(const TDesC8& aData);
+
+    /** Create an RSA private key from from action data. */
+    static CRSAPrivateKeyStandard* ReadRSAPrivateKeyL(const TDesC8& aData);
+
+	/** Create an RSA private key from by CRT */
+	static CRSAPrivateKeyCRT* ReadRSAPrivateKeyCRTL(const TDesC8& aData);
+
+    /** Create a DSA public key from from action data. */
+    static CDSAPublicKey* ReadDSAPublicKeyL(const TDesC8& aData);
+
+    /** Create a DSA private key from from action data. */
+    static CDSAPrivateKey* ReadDSAPrivateKeyL(const TDesC8& aData);    
+
+    /** Create a DSA signature from from action data. */
+	static CDSASignature* ReadDSASignatureL(const TDesC8& aData);
+    };
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tbigint/scripts/tbasicmathstests.txt	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,713 @@
+<action>
+	<actionname>BasicMaths Forward Backward Test</actionname>
+	<actiontype>BasicMathsFB</actiontype>
+	<actionbody>
+		<bits>2048</bits>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- ADD 4 bytes</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<a>AAAAAAAA</a>
+		<b>55555555</b>
+		<ans>FFFFFFFF</ans>
+		<op>add</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- ADD 4 bytes overflow</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<a>AAAAAAAA</a>
+		<b>55555556</b>
+		<ans>0100000000</ans>
+		<op>add</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- ADD 8 bytes</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<a>AAAAAAAAAAAAAAAA</a>
+		<b>5555555555555555</b>
+		<ans>FFFFFFFFFFFFFFFF</ans>
+		<op>add</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- ADD 8 bytes overflow</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<a>AAAAAAAAAAAAAAAB</a>
+		<b>5555555555555555</b>
+		<ans>010000000000000000</ans>
+		<op>add</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- ADD 4 bytes b > a</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<b>AAAAAAAA</b>
+		<a>55555555</a>
+		<ans>FFFFFFFF</ans>
+		<op>add</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- ADD 4 bytes overflow, b > a</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<b>AAAAAAAA</b>
+		<a>55555556</a>
+		<ans>0100000000</ans>
+		<op>add</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- ADD 8 bytes, b > a</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<b>AAAAAAAAAAAAAAAA</b>
+		<a>5555555555555555</a>
+		<ans>FFFFFFFFFFFFFFFF</ans>
+		<op>add</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- ADD 8 bytes overflow, b > a</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<b>AAAAAAAAAAAAAAAB</b>
+		<a>5555555555555555</a>
+		<ans>010000000000000000</ans>
+		<op>add</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- ADD two large numbers</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<b>1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF</b>
+		<a>2468ACF121579BDE2468ACF121579BDE2468ACF121579BDE2468ACF121579BDE2468ACF121579BDE</a>
+		<ans>369D0369B20369CD369D0369B20369CD369D0369B20369CD369D0369B20369CD369D0369B20369CD</ans>
+		<op>add</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- ADD two large numbers</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<b>1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF</b>
+		<a>1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF</a>
+		<ans>1234567890ABCDEF1234567890ABCDEF2468ACF121579BDE2468ACF121579BDE2468ACF121579BDE2468ACF121579BDE2468ACF121579BDE</ans>
+		<op>add</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- ADD two large numbers with overflow</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<b>1234567890ABCDEF1234567890ABCDEF2468ACF121579BDE2468ACF121579BDE2468ACF121579BDE2468ACF121579BDE2468ACF121579BDE</b>
+		<a>FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF</a>
+		<ans>0100000000000000000000000000000000000000001234567890ABCDEF1234567890ABCDEF2468ACF121579BDE2468ACF121579BDE2468ACF121579BDE2468ACF121579BDE2468ACF121579BDD</ans>
+		<op>add</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- SUB 4 bytes</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<a>CCCCCCCC</a>
+		<b>33333333</b>
+		<ans>99999999</ans>
+		<op>subtract</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- SUB 4 bytes</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<a>FFFFFFFF</a>
+		<b>98765432</b>
+		<ans>6789ABCD</ans>
+		<op>subtract</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- SUB 8 bytes</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<a>AAAAAAAAAAAAAAAA</a>
+		<b>5555555555555555</b>
+		<ans>5555555555555555</ans>
+		<op>subtract</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- SUB 2 large numbers</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<a>0100000000000000000000000000000000000000001234567890ABCDEF1234567890ABCDEF2468ACF121579BDE2468ACF121579BDE2468ACF121579BDE2468ACF121579BDE2468ACF121579BDD</a>
+		<b>0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF</b>
+		<ans>0100000000000000000000000000000000000000000234567890ABCDEF1234567890ABCDEF2468ACF121579BDE2468ACF121579BDE2468ACF121579BDE2468ACF121579BDE2468ACF121579BDE</ans>
+		<op>subtract</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- multiply small</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<a>10</a>
+		<b>10</b>
+		<ans>0100</ans>
+		<op>multiply</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- multiply large</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<a>1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF</a>
+		<b>1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF</b>
+		<ans>014B66DC328828BCA8DE2CC20802F69A5070F2A7DD7DC477F803B88DB2F892559F967E7388736033472944595DEE2E10EEBC0A3F3368FBEE93B8026CA3D37852EC253C86CE58AA75449276A0F8DDDC979CFFB0BB23630EB9F56CEAD54DE840DC4DDA24EF786D72FEA6475F09A2F2A521</ans>
+		<op>multiply</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- multiply large different size operands</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<a>1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF</a>
+		<b>014B66DC328828BCA8DE2CC20802F69A5070F2A7DD7DC477F803B88DB2F892559F967E7388736033472944595DEE2E10EEBC0A3F3368FBEE93B8026CA3D37852EC253C86CE58AA75449276A0F8DDDC979CFFB0BB23630EB9F56CEAD54DE840DC4DDA24EF786D72FEA6475F09A2F2A521</b>
+		<ans>1790FC50E94EFB2011AA5462D02F816CAD8FF281833861E5EB41D6AD02699C8BCAC000E54DC3315E4C0A712A6545205D6F21277C48EF6988ED512EE83CD51B8165B4691E042E86209A7F173A33373C668BB1393CC9EF3E53394ACF25C8568BE6A34BD8F52E6D2520C9B456AAFC330A01F3373D39ED952BE980BAAAF23F5B3AFDB00A5EB75D49A43E81265889476067ABF40E9867FD9F854608C31E538006FD0CBF43EA4BCE96CF</ans>
+		<op>multiply</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- divide basic</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<a>1230981F</a>
+		<b>0238973B</b>
+		<ans>08</ans>
+		<op>divide</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- modulo basic</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<a>1230981F</a>
+		<b>0238973B</b>
+		<ans>6BDE47</ans>
+		<op>modulus</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- divide basic no remainder</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<a>11C4B9D8</a>
+		<b>0238973B</b>
+		<ans>08</ans>
+		<op>divide</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- modulus basic no remainder</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<a>11C4B9D8</a>
+		<b>0238973B</b>
+		<ans>00</ans>
+		<op>modulus</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- divide large</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<a>0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF</a>
+		<b>1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF</b>
+		<ans>E10000</ans>
+		<remainder>8D90000E100000008D90000E100000008D90000E100000008D90000E100000008D90000E100000008D90000E100000008D90000F0FFFF</remainder>
+		<op>divide</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- modulus large</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<a>0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF</a>
+		<b>1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF</b>
+		<ans>08D90000E100000008D90000E100000008D90000E100000008D90000E100000008D90000E100000008D90000E100000008D90000F0FFFF</ans>
+		<op>modulus</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- InverseMod 1</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<a>01</a>
+		<b>08</b>
+		<ans>01</ans>
+		<op>inversemod</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- InverseMod 2</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<a>02</a>
+		<b>08</b>
+		<ans>00</ans>
+		<op>inversemod</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- InverseMod 3</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<a>03</a>
+		<b>08</b>
+		<ans>03</ans>
+		<op>inversemod</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- InverseMod 4</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<a>05</a>
+		<b>08</b>
+		<ans>05</ans>
+		<op>inversemod</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- InverseMod 5</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<a>05</a>
+		<b>07</b>
+		<ans>03</ans>
+		<op>inversemod</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- GCD 1</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<a>18</a>
+		<b>20</b>
+		<ans>08</ans>
+		<op>gcd</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- GCD 2</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<a>06E4</a>
+		<b>0364</b>
+		<ans>1C</ans>
+		<op>gcd</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- GCD 3</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<a>0364</a>
+		<b>06E4</b>
+		<ans>1C</ans>
+		<op>gcd</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- GCD 4 (two really big prime numbers)</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<a>96FC57652F5221A76EB6CC1E6EA830CA44819734C9146590D6269935D9FE0A550B664BA486C237EBC592A1A5083A55C1F67F4820BC5C485C622D2E539EB348B6ADFCA98C74C5ECBC707785E86528F2127FF51B48CDF9D7F0182D52E0EB87440F43F170CB1070A2EB53BE7C5F9400729ED5C180A3C589C3E7FADA19E7AA94730C3896744A976BDB344AAF51235AD0868E4F336BCFA732F4E5CC67ED204EFC70373C8397007909690154EA7064C5DF1A6511C8D731AC307E4623B265DFD71C14CCE20EA277E2156CF4191DEC3247C2A2BB893A07C4D1574D1C3C69400A14952B23AA53A445627A9D6F112751BDFEAC9743BFCB2585CC6747D42549</a>
+		<b>AB33704201D2EF00EA25B8DC1FE2A80B33677B6E9272E8FEFE43F72844E17EF624C257B0C731CCB53DF2879BD0E7128D7E42588869AEF5076CDDB63410999FBC1E197A933D07AA49DFFE96490F8C1F8F0097F34EBD090FCCB4435C1E551327C9F0BC570F1C2FDF4D6A0728E06F7E80DE2FF1CB35B6839BA2D2B746CBC40C300D0D2B06A812719F157713F506DDB7C18EECBF8EA32D68D0258D188664AD349CFB0AED250FC6A963C173E1A1A7A7416148ABB35D5FA85ABBF9E53CE060AD31AF15A71955ED654ED76CDCBEC2ACF44F53CF41F44F289C531036F7FA040EEC7D0F0AE02EA91CBE737CC8FF24475E44B55FF6DE6BD0E75D32C35BCF5D</b>
+		<ans>01</ans>
+		<op>gcd</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>OOM start</actionname>
+	<actiontype>startmemfailure</actiontype>
+	<actionbody></actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- ADD 4 bytes</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<a>AAAAAAAA</a>
+		<b>55555555</b>
+		<ans>FFFFFFFF</ans>
+		<op>add</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- ADD 4 bytes overflow</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<a>AAAAAAAA</a>
+		<b>55555556</b>
+		<ans>0100000000</ans>
+		<op>add</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- ADD 8 bytes</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<a>AAAAAAAAAAAAAAAA</a>
+		<b>5555555555555555</b>
+		<ans>FFFFFFFFFFFFFFFF</ans>
+		<op>add</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- ADD 8 bytes overflow</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<a>AAAAAAAAAAAAAAAB</a>
+		<b>5555555555555555</b>
+		<ans>010000000000000000</ans>
+		<op>add</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- ADD 4 bytes b > a</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<b>AAAAAAAA</b>
+		<a>55555555</a>
+		<ans>FFFFFFFF</ans>
+		<op>add</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- ADD 4 bytes overflow, b > a</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<b>AAAAAAAA</b>
+		<a>55555556</a>
+		<ans>0100000000</ans>
+		<op>add</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- ADD 8 bytes, b > a</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<b>AAAAAAAAAAAAAAAA</b>
+		<a>5555555555555555</a>
+		<ans>FFFFFFFFFFFFFFFF</ans>
+		<op>add</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- ADD 8 bytes overflow, b > a</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<b>AAAAAAAAAAAAAAAB</b>
+		<a>5555555555555555</a>
+		<ans>010000000000000000</ans>
+		<op>add</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- SUB 4 bytes</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<a>CCCCCCCC</a>
+		<b>33333333</b>
+		<ans>99999999</ans>
+		<op>subtract</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- SUB 4 bytes</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<a>FFFFFFFF</a>
+		<b>98765432</b>
+		<ans>6789ABCD</ans>
+		<op>subtract</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- SUB 8 bytes</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<a>AAAAAAAAAAAAAAAA</a>
+		<b>5555555555555555</b>
+		<ans>5555555555555555</ans>
+		<op>subtract</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- InverseMod 1</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<a>01</a>
+		<b>08</b>
+		<ans>01</ans>
+		<op>inversemod</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- InverseMod 2</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<a>02</a>
+		<b>08</b>
+		<ans>00</ans>
+		<op>inversemod</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- InverseMod 3</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<a>03</a>
+		<b>08</b>
+		<ans>03</ans>
+		<op>inversemod</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- InverseMod 4</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<a>05</a>
+		<b>08</b>
+		<ans>05</ans>
+		<op>inversemod</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- InverseMod 5</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<a>05</a>
+		<b>07</b>
+		<ans>03</ans>
+		<op>inversemod</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- GCD 1</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<a>18</a>
+		<b>20</b>
+		<ans>08</ans>
+		<op>gcd</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- GCD 2</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<a>06E4</a>
+		<b>0364</b>
+		<ans>1C</ans>
+		<op>gcd</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Vector Test -- GCD 3</actionname>
+	<actiontype>BasicMathsVector</actiontype>
+	<actionbody>
+		<a>0364</a>
+		<b>06E4</b>
+		<ans>1C</ans>
+		<op>gcd</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>BasicMaths Forward Backward Test</actionname>
+	<actiontype>BasicMathsFB</actiontype>
+	<actionbody>
+		<bits>512</bits>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>OOM end</actionname>
+	<actiontype>stopmemfailure</actiontype>
+	<actionbody></actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tbigint/scripts/tconstructiontests.txt	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,82 @@
+<action>
+	<actionname>Construction Vector Test #1 -- even number of bytes</actionname>
+	<actiontype>ConstructionVector</actiontype>
+	<actionbody>
+		<input>1A2B3C4D5E6F</input>
+		<memorylayout>6F5E4D3C2B1A</memorylayout>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Construction Vector Test #2 -- odd number of bytes</actionname>
+	<actiontype>ConstructionVector</actiontype>
+	<actionbody>
+		<input>1A2B3C4D5E</input>
+		<memorylayout>5E4D3C2B1A</memorylayout>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Construction Vector Test #3 -- long unsigned string</actionname>
+	<actiontype>ConstructionVector</actiontype>
+	<actionbody>
+		<input>1A2B3C4D5E6F7A8B9C0D1E2F3A4B5C6D7E8F9A0B1C2D3E4F5A6B7C8D9E0F1A2B3C4D5E6F7A8B9C0D1E2F3A4B5C6D7E8F9A0B1C2D3E4F5A6B7C8D9E0F1A2B3C4D5E6F7A8B9C0D1E2F3A4B5C6D7E8F9A0B1C2D3E4F5A6B7C8D9E0F1A2B3C4D5E6F7A8B9C0D1E2F3A4B5C6D7E8F9A0B1C2D3E4F5A6B7C8D9E0F1A2B3C4D5E6F7A8B9C0D1E2F3A4B5C6D7E8F9A0B1C2D3E4F5A6B7C8D9E0F1A2B3C4D5E6F7A8B9C0D1E2F3A4B5C6D7E8F9A0B1C2D3E4F5A6B7C8D9E0F1A2B3C4D5E6F7A8B9C0D1E2F3A4B5C6D7E8F9A0B1C2D3E4F5A6B7C8D9E0F</input>
+		<memorylayout>0F9E8D7C6B5A4F3E2D1C0B9A8F7E6D5C4B3A2F1E0D9C8B7A6F5E4D3C2B1A0F9E8D7C6B5A4F3E2D1C0B9A8F7E6D5C4B3A2F1E0D9C8B7A6F5E4D3C2B1A0F9E8D7C6B5A4F3E2D1C0B9A8F7E6D5C4B3A2F1E0D9C8B7A6F5E4D3C2B1A0F9E8D7C6B5A4F3E2D1C0B9A8F7E6D5C4B3A2F1E0D9C8B7A6F5E4D3C2B1A0F9E8D7C6B5A4F3E2D1C0B9A8F7E6D5C4B3A2F1E0D9C8B7A6F5E4D3C2B1A0F9E8D7C6B5A4F3E2D1C0B9A8F7E6D5C4B3A2F1E0D9C8B7A6F5E4D3C2B1A0F9E8D7C6B5A4F3E2D1C0B9A8F7E6D5C4B3A2F1E0D9C8B7A6F5E4D3C2B1A</memorylayout>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>OOM start</actionname>
+	<actiontype>startmemfailure</actiontype>
+	<actionbody></actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Construction Vector Test #1 -- even number of bytes</actionname>
+	<actiontype>ConstructionVector</actiontype>
+	<actionbody>
+		<input>1A2B3C4D5E6F</input>
+		<memorylayout>6F5E4D3C2B1A</memorylayout>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Construction Vector Test #2 -- odd number of bytes</actionname>
+	<actiontype>ConstructionVector</actiontype>
+	<actionbody>
+		<input>1A2B3C4D5E</input>
+		<memorylayout>5E4D3C2B1A</memorylayout>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Construction Vector Test #3 -- long unsigned string</actionname>
+	<actiontype>ConstructionVector</actiontype>
+	<actionbody>
+		<input>1A2B3C4D5E6F7A8B9C0D1E2F3A4B5C6D7E8F9A0B1C2D3E4F5A6B7C8D9E0F1A2B3C4D5E6F7A8B9C0D1E2F3A4B5C6D7E8F9A0B1C2D3E4F5A6B7C8D9E0F1A2B3C4D5E6F7A8B9C0D1E2F3A4B5C6D7E8F9A0B1C2D3E4F5A6B7C8D9E0F1A2B3C4D5E6F7A8B9C0D1E2F3A4B5C6D7E8F9A0B1C2D3E4F5A6B7C8D9E0F1A2B3C4D5E6F7A8B9C0D1E2F3A4B5C6D7E8F9A0B1C2D3E4F5A6B7C8D9E0F1A2B3C4D5E6F7A8B9C0D1E2F3A4B5C6D7E8F9A0B1C2D3E4F5A6B7C8D9E0F1A2B3C4D5E6F7A8B9C0D1E2F3A4B5C6D7E8F9A0B1C2D3E4F5A6B7C8D9E0F</input>
+		<memorylayout>0F9E8D7C6B5A4F3E2D1C0B9A8F7E6D5C4B3A2F1E0D9C8B7A6F5E4D3C2B1A0F9E8D7C6B5A4F3E2D1C0B9A8F7E6D5C4B3A2F1E0D9C8B7A6F5E4D3C2B1A0F9E8D7C6B5A4F3E2D1C0B9A8F7E6D5C4B3A2F1E0D9C8B7A6F5E4D3C2B1A0F9E8D7C6B5A4F3E2D1C0B9A8F7E6D5C4B3A2F1E0D9C8B7A6F5E4D3C2B1A0F9E8D7C6B5A4F3E2D1C0B9A8F7E6D5C4B3A2F1E0D9C8B7A6F5E4D3C2B1A0F9E8D7C6B5A4F3E2D1C0B9A8F7E6D5C4B3A2F1E0D9C8B7A6F5E4D3C2B1A0F9E8D7C6B5A4F3E2D1C0B9A8F7E6D5C4B3A2F1E0D9C8B7A6F5E4D3C2B1A</memorylayout>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>OOM end</actionname>
+	<actiontype>stopmemfailure</actiontype>
+	<actionbody></actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tbigint/scripts/tmontgomerytests.txt	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,148 @@
+<action>
+	<actionname>Montgomery Multiplication Vector Test #1</actionname>
+	<actiontype>MontgomeryVector</actiontype>
+	<actionbody>
+		<a>16A0</a>
+		<b>04CD</b>
+		<modulus>011BBF</modulus>
+		<ans>011AC1</ans>
+		<op>multiply</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Montgomery Reduce Vector Test #1</actionname>
+	<actiontype>MontgomeryVector</actiontype>
+	<actionbody>
+		<a>6C9E20</a>
+		<modulus>011BBF</modulus>
+		<ans>011AC1</ans>
+		<op>reduce</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Montgomery Square Vector Test #1</actionname>
+	<actiontype>MontgomeryVector</actiontype>
+	<actionbody>
+		<a>6C9E20</a>
+		<modulus>011BBF</modulus>
+		<ans>FC04</ans>
+		<op>square</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Montgomery Exponentiation Vector Test #1</actionname>
+	<actiontype>MontgomeryVector</actiontype>
+	<actionbody>
+		<a>16A0</a>
+		<b>04CD</b>
+		<modulus>011BBF</modulus>
+		<ans>70A6</ans>
+		<op>exponentiate</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Montgomery Exponentiation Vector Test #2</actionname>
+	<actiontype>MontgomeryVector</actiontype>
+	<actionbody>
+		<a>125C881E</a>
+		<b>B009377B</b>
+		<modulus>0160126EF7</modulus>
+		<ans>0160126EF6</ans>
+		<op>exponentiate</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Montgomery Exponentiation Forward Backward test</actionname>
+	<actiontype>MontgomeryFB</actiontype>
+	<actionbody>
+		<bits>0200</bits>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>OOM start</actionname>
+	<actiontype>startmemfailure</actiontype>
+	<actionbody></actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Montgomery Multiplication Vector Test #1</actionname>
+	<actiontype>MontgomeryVector</actiontype>
+	<actionbody>
+		<a>16A0</a>
+		<b>04CD</b>
+		<modulus>011BBF</modulus>
+		<ans>011AC1</ans>
+		<op>multiply</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Montgomery Reduce Vector Test #1</actionname>
+	<actiontype>MontgomeryVector</actiontype>
+	<actionbody>
+		<a>6C9E20</a>
+		<modulus>011BBF</modulus>
+		<ans>011AC1</ans>
+		<op>reduce</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Montgomery Square Vector Test #1</actionname>
+	<actiontype>MontgomeryVector</actiontype>
+	<actionbody>
+		<a>6C9E20</a>
+		<modulus>011BBF</modulus>
+		<ans>FC04</ans>
+		<op>square</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Montgomery Exponentiation Vector Test #2</actionname>
+	<actiontype>MontgomeryVector</actiontype>
+	<actionbody>
+		<a>125C881E</a>
+		<b>B009377B</b>
+		<modulus>0160126EF7</modulus>
+		<ans>0160126EF6</ans>
+		<op>exponentiate</op>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>OOM end</actionname>
+	<actiontype>stopmemfailure</actiontype>
+	<actionbody></actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tbigint/scripts/tperformancetests.txt	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,230 @@
+// <iterations> is for how long time the test will be run measured in seconds.
+
+<action>
+	<actionname>Montgomery Performance Tests 1 512 bit random exponentiation</actionname>
+	<actiontype>MontgomeryPerformance</actiontype>
+	<actionbody>
+		<bits>512</bits>
+		<iterations>10</iterations>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Montgomery Performance Tests 2 1024 bit random exponentiation</actionname>
+	<actiontype>MontgomeryPerformance</actiontype>
+	<actionbody>
+		<bits>1024</bits>
+		<iterations>20</iterations>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Montgomery Performance Tests 3 2048 bit random exponentiation</actionname>
+	<actiontype>MontgomeryPerformance</actiontype>
+	<actionbody>
+		<bits>2048</bits>
+		<iterations>60</iterations>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Performance Test (#356 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes)</actionname>
+	<actiontype>PrimeVectorPerformance</actiontype>
+	<actionbody>
+		<prime>039F9BCF09A995</prime>
+		<iterations>10</iterations>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Performance Test (#357 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes)</actionname>
+	<actiontype>PrimeVectorPerformance</actiontype>
+	<actionbody>
+		<prime>0341D0E82B3E81</prime>
+		<iterations>10</iterations>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Performance Test (#358 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes)</actionname>
+	<actiontype>PrimeVectorPerformance</actiontype>
+	<actionbody>
+		<prime>02D94A8735D113</prime>
+		<iterations>10</iterations>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Performance Test (#694 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes)</actionname>
+	<actiontype>PrimeVectorPerformance</actiontype>
+	<actionbody>
+		<prime>C172218B482F5E66982A0A4283F6A26795AEFB32C1A0659733</prime>
+		<iterations>10</iterations>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Performance Test (#695 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes)</actionname>
+	<actiontype>PrimeVectorPerformance</actiontype>
+	<actionbody>
+		<prime>DC9F6AE82E1957F7126743AA9940F6CA8CE25C1C4180000ED3</prime>
+		<iterations>10</iterations>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Performance Test (#696 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes)</actionname>
+	<actiontype>PrimeVectorPerformance</actiontype>
+	<actionbody>
+		<prime>A222E4A8E9BED3EF5F16096AC7C2508BC4CFE43EE771F1C8A5</prime>
+		<iterations>10</iterations>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Performance Test (#798 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes)</actionname>
+	<actiontype>PrimeVectorPerformance</actiontype>
+	<actionbody>
+		<prime>0F62D50FDE3EF31518A6FEE0E560D9799D58F38B667D3D8F316CFEE90DADD93ECD29B19DA468798FEA2A28EB3C31F21BC26E33B8D428AD151D4F1C57B0A745</prime>
+		<iterations>20</iterations>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Performance Test (#799 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes)</actionname>
+	<actiontype>PrimeVectorPerformance</actiontype>
+	<actionbody>
+		<prime>09BE697DAC5815D1D09026750D168A690A88812239BEC1133213220E875D01489B1B837317705B9656CAF1C3A14037058746057E033117FA275718DB2558DD</prime>
+		<iterations>20</iterations>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Performance Test (#800 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes)</actionname>
+	<actiontype>PrimeVectorPerformance</actiontype>
+	<actionbody>
+		<prime>08BC68DD8CDDE87509160E05EFEEF2BD27CE45D7774AA41AAC61950AED0597DD0BED7AE305904536197DAC0AAE62BC484E4927354495760222B38B096A7BDD</prime>
+		<iterations>20</iterations>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Performance Test (#807 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes)</actionname>
+	<actiontype>PrimeVectorPerformance</actiontype>
+	<actionbody>
+		<prime>A720FEC20FB6518AABED0EDBCD0221E2A5AEF3B5B729D879EEBD0BD35F577B42D15B0BD6AC39F355BE1FD55242E0DD9173CFEA1ACD36A733FE368F79B87EBAC7090F5977DC4B6772FF96B0771D85297175D4157E0D1B9EDA3225DCDE8D730DAB3B83DDE26B97B7352554A57FAAA9BD03304550C833D61210B99BE53D89</prime>
+		<iterations>30</iterations>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Performance Test (#808 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes)</actionname>
+	<actiontype>PrimeVectorPerformance</actiontype>
+	<actionbody>
+		<prime>9A4E1EA85C063BA17DC02CCB82F17C537291C79DB60F5C79D5A24616D415773F5D3BE3D40B754D17ADCF0A432C17447C6722C1D61863D348100AC9A493F63B3971F98544CD5798CB0859607EEF3B98023C4AF20DFA093E85090CCA683D61549D498597B3E8BE1BA02561864A89AD9AE9BA15CC9798A56CAAC29F4CE1D7</prime>
+		<iterations>30</iterations>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Performance Test (#809 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes)</actionname>
+	<actiontype>PrimeVectorPerformance</actiontype>
+	<actionbody>
+		<prime>A139CBCAA6C325842507755069043ED17818BA3694568385505D03E448D72F363DE0C36BA9B717E213975E3FC94872253C51B66A0AF18D59B736D024DF9B2ABF4D400E7177CF21295F433B7DE074391B14FAFDB9241FC773B8F42390EE37455FC81490D033AAD4646C67CFD303F57CB5D983807E41C0B081C050CDAAB3</prime>
+		<iterations>30</iterations>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Performance Test (#904 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes)</actionname>
+	<actiontype>PrimeVectorPerformance</actiontype>
+	<actionbody>
+		<prime>0A91B01C98D4F99C6D86C4F2C159224940371B1E1B59EB377EA0537BA737B0DF543C53D231E20C34A5E17107FFE68ABEF9BFB1836D66F6C6DC28E2A8A13E1AB2657DB7D8F21E988EC5A332B3637D423CCF94081B0AD5C019269D6A043DAAC57C5BC25BE8B581C1FFA42FB45B229127CC42C76DDAEE59E24A5E51B4502CB2FFD0FB9952ADB5B1B981494D9432B15918915B3C4B4FF5D0DF3E05FA71AE1D8990F27C109A8F49DB254B149E9F53503B55FA774B68D946BA757F204F747B</prime>
+		<iterations>60</iterations>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Performance Test (#905 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes)</actionname>
+	<actiontype>PrimeVectorPerformance</actiontype>
+	<actionbody>
+		<prime>0E02BBF4CF2BFE980FDAABB51C092521747883DD9DFC35958039DB60CB2C244C93E9AC70C011D0C95A8FA70769D0450F0133FDCE0C207083796B6C149244FD3475EB5D6AD6EAA3C341525707C095C1DEEEDE88F0FD6AEF378B9077E653C40C8EB617F257D5C607CCAC0FABB6E331BAAB3C7E4EBFDC42D7311D1A9D38AE222BB0AE62DA76B8259D09F43917250455CF625F8DBA3380B39C2E95BD16D03A00A4A3E414EB9098BC4F203FBF646553A560BB06DBF720B5DDCCE8367DBB0B</prime>
+		<iterations>60</iterations>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Performance Test (#906 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes)</actionname>
+	<actiontype>PrimeVectorPerformance</actiontype>
+	<actionbody>
+		<prime>0D2D2F7D8D824F224A2B12A96C813188F90B60FABB5F39A8FEC326FBC3683D94B34CE5C2D396A39FB850C90DC817C6933B0A935B74030CF9112D3BB19D07519A05C37A08B44AC6F47140F2FC6ED2F4D5D4D0D569578ABDC79639AC4C152B85B2BCD680858C327F0D1B0116F97BFEF8130A20FF9AB2959EEB3EE31A49D715E4357A15E78EA799B020F8A9F7A59B92F0014F002B4F50FCE5EEB9BAEC52663A8A0B171B44EF982449337FDCC75CA5150266D06351B3B637A9DA91367A2B</prime>
+		<iterations>60</iterations>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Performance Test (#1101 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes)</actionname>
+	<actiontype>PrimeVectorPerformance</actiontype>
+	<actionbody>
+		<prime>9E3994BA839691BC3C5F1FEA48D712E64F99DA22974D358C5E6CF5DD9ED3C89B598868D9D6096C7B1C80F1B7DFA8F5FB4E1F5C445FF8A58848B8F11FF35FCBA40985A98FA9F25335B6C0FF725439887B5F6A8F43D3B66F31EE7A18F21B9FDC81D19377559ACE30DA3BB236028BA8E197FE8E3B753467DA5A82CA989CE6763BD42B81ECBB326F9DFE9ACF28DCF234A45CF5A3282384A82E16A06F8B8AC75964BD84DD62F2A2DB03114B1A346F684480BF315DCDD65049A350AA07B696AD41A5410460D5406A9117B2012A7BA0130897B81AF98CA281056B9E09F2AE58318B176047C8539741ED154B20F14B713B3189453CD4A2C101C6C918BEC5</prime>
+		<iterations>10</iterations>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Performance Test (#1102 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes)</actionname>
+	<actiontype>PrimeVectorPerformance</actiontype>
+	<actionbody>
+		<prime>AB33704201D2EF00EA25B8DC1FE2A80B33677B6E9272E8FEFE43F72844E17EF624C257B0C731CCB53DF2879BD0E7128D7E42588869AEF5076CDDB63410999FBC1E197A933D07AA49DFFE96490F8C1F8F0097F34EBD090FCCB4435C1E551327C9F0BC570F1C2FDF4D6A0728E06F7E80DE2FF1CB35B6839BA2D2B746CBC40C300D0D2B06A812719F157713F506DDB7C18EECBF8EA32D68D0258D188664AD349CFB0AED250FC6A963C173E1A1A7A7416148ABB35D5FA85ABBF9E53CE060AD31AF15A71955ED654ED76CDCBEC2ACF44F53CF41F44F289C531036F7FA040EEC7D0F0AE02EA91CBE737CC8FF24475E44B55FF6DE6BD0E75D32C35BCF5D</prime>
+		<iterations>10</iterations>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Performance Test (#1103 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes)</actionname>
+	<actiontype>PrimeVectorPerformance</actiontype>
+	<actionbody>
+		<prime>96FC57652F5221A76EB6CC1E6EA830CA44819734C9146590D6269935D9FE0A550B664BA486C237EBC592A1A5083A55C1F67F4820BC5C485C622D2E539EB348B6ADFCA98C74C5ECBC707785E86528F2127FF51B48CDF9D7F0182D52E0EB87440F43F170CB1070A2EB53BE7C5F9400729ED5C180A3C589C3E7FADA19E7AA94730C3896744A976BDB344AAF51235AD0868E4F336BCFA732F4E5CC67ED204EFC70373C8397007909690154EA7064C5DF1A6511C8D731AC307E4623B265DFD71C14CCE20EA277E2156CF4191DEC3247C2A2BB893A07C4D1574D1C3C69400A14952B23AA53A445627A9D6F112751BDFEAC9743BFCB2585CC6747D42549</prime>
+		<iterations>10</iterations>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Generation Performance Tests (512 bit)</actionname>
+	<actiontype>PrimeGenPerformance</actiontype>
+	<actionbody>
+		<bits>512</bits>
+		<iterations>60</iterations>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Prime Generation Performance Tests (1024 bit)</actionname>
+	<actiontype>PrimeGenPerformance</actiontype>
+	<actionbody>
+		<bits>1024</bits>
+		<iterations>30</iterations>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Prime Generation Performance Tests (2048 bit)</actionname>
+	<actiontype>PrimeGenPerformance</actiontype>
+	<actionbody>
+		<bits>2048</bits>
+		<iterations>60</iterations>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tbigint/scripts/tprimefailuretests.txt	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,5968 @@
+<action>
+	<actionname>Prime Vector Failure Test #1</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D0E21AC160D03F1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #2</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>04FC17B11D7BF311</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #3</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0593158FAF6AE131</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #4</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0304012FA6A762CD</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #5</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>34B31B02187811</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #6</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>023BA52E5AA8AD81</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #7</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>06323B635AD11EC1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #8</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>07C1D97C872745</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #9</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0201010E29A40EA9</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #10</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>B8E257B38F59E9</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #11</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>018DBC97F897EB89</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #12</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>9492E28BDB0251</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #13</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>01C75387377B77C9</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #14</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>08F93D3740153479</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #15</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>13AA7DFB39C6C1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #16</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>064631480F958EE9</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #17</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>08011A546D16AED5</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #18</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02442D83A5E3A96D</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #19</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0426986D22BF8041</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #20</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D7D8A03B92E1A41</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #21</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>027D8D3B500D7381</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #22</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>01E775BCC73A1A45</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #23</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>240A4A1B7D02E1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #24</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>B57BF0F50D6909</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #25</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0490C4A6308D3211</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #26</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>072E23D1CAAA1051</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #27</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>ACDBE223536091</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #28</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>01940B2AC2D95661</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #29</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A86DFE657662AC1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #30</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02D54D6F79FE9069</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #31</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0845CC53CBBDA201</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #32</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>FD2BC2372F9BA9</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #33</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>09B47B8C439E8201</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #34</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0648097C3F33B0C1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #35</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>053AC25AA0311D01</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #36</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0615A0FD468A528D</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #37</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0103D5390A291C35</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #38</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>06A07E9D0A0547C9</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #39</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D00A9C327031781</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #40</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02D1A5C9AC60E381</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #41</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A275C1B43FB73E1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #42</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>072E50CE194889C1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #43</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03C3E62A04F74461</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #44</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>D6F7F11563F991</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #45</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>D3FF7721685E01</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #46</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>D9CDE3697ECBC1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #47</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A2C6505526F0E81</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #48</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>05AF60A3A3997301</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #49</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>5784E2E53D3CF1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #50</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>190DF94D5526F9</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #51</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0936DD820D6B5DE5</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #52</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>022C42F39C19B5A9</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #53</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>081E2E78A4F46C01</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #54</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>079A0093CFF45F4D</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #55</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0557A1213F902A81</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #56</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0111D98332018CD1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #57</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0129F3FA72CEA105</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #58</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>620E0EDC303A3B</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #59</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0C69659838CD1671</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #60</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>011D5EC462E79E79</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #61</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>6AAB109E02CA81</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #62</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0117F8C8B7903DA1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #63</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B77822CA2D46C01</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #64</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>069CD67C361517C1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #65</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>013AD412F593E461</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #66</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>06FE2051D77788C1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #67</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>067CD03CCEC5D219</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #68</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0309ACE3EB41B281</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #69</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B7D94042A0EA931</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #70</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0BB571646E039CB1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #71</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0694E7C8E5C9E63D</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #72</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>08809D479E7F4D91</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #73</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0CCE29A2872BA601</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #74</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>032ED334E50E9D81</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #75</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0CB034B2A631DA41</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #76</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>BCC6D6ABC6BB19</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #77</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0AFAFDDCF0647FF1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #78</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>273975E9C57A01</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #79</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>059CA41D3BA3C0C1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #80</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>07C1D5DDDB86F5D1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #81</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0749D33DAB459429</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #82</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0764266E1A60BE31</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #83</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>66EA88D366CF29</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #84</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B169095987C1829</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #85</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0C275D94C7C92651</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #86</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>047889C256619941</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #87</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>18AB03C60BE951</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #88</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0412D36899ECF541</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #89</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>094E0BC4BD22AD61</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #90</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B0D4BE75ADCA94D</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #91</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>01B76D029C922359</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #92</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>06F415DC84315671</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #93</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>026530498D98E091</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #94</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0425C0084F470C3F</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #95</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>1998FA34746A41</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #96</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0C44A6BDC3C250CF</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #97</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>026A760C39B60001</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #98</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>021C99545F64CA75</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #99</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A82D82458FF0C61</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #100</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>099E83F31481C0A9</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #101</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02DC3E08A253637D</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #102</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0CEBDAEE74CC67E1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #103</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>086EDC029C097EFF</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #104</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>04552557F59E8445</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #105</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0541B65F9FDCC841</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #106</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>05025682D5B08A01</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #107</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>B0C7B86AB98371</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #108</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>05FA03F7B0277F9F</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #109</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0816BCB7C437BE95</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #110</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0850DB2C17E7D661</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #111</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>046AB2591CD17901</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #112</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>05A6B7C0972CBF09</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #113</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0275893165CCA849</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #114</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>06BE359EADF54381</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #115</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0505AD702A0E8395</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #116</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0556427CC23C7E03</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #117</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0CE9B58E7BD728B1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #118</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>04AC4B6C83F10311</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #119</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>01289A75AF9DABA1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #120</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>B727DB5F974519</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #121</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0C2E2D2857F2A3DD</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #122</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0ACC067C8FCD2921</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #123</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03599272DAC0C5A7</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #124</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A5A881666D8BB69</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #125</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>166508D3A71A51</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #126</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>05F714B57BC16C81</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #127</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0476C35AE57A59F9</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #128</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0223F38B6B3A6D31</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #129</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0780483B48D5E369</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #130</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>033DB8DF970526A1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #131</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>050024A2DD7C8D89</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #132</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02D0078020748901</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #133</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>028EC3191125FE13</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #134</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0488C915F74FA251</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #135</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>06FD3E44F1B37AC3</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #136</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>035E746EBCCCBA51</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #137</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03106507F8A546F3</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #138</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>015B2DC2F6AF03A1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #139</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>05A0CFD2E3C42761</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #140</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>09A731BB7C8FEB11</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #141</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>010D474A07B7A4FD</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #142</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>04E20EA0EA854579</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #143</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02582B334FBB60F1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #144</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>048EEFC93E4E6631</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #145</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>035AB511DDE0D845</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #146</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>01AAABA7184A7F53</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #147</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>023DDD6379D64089</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #148</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>06CD24DA5DE47819</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #149</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0BD5A8E19AF9659B</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #150</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0C09B51DD63E9001</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #151</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>075F55F1A2B5ECD1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #152</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>026B54BE962AAE11</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #153</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>010CAEF3EFE51A61</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #154</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>019DBD933D9B1C49</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #155</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>027D32EE780B514F</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #156</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>07D540625057BDC1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #157</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02DC7BB63A7F6369</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #158</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>01360C7921ED2489</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #159</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0700A6F262AB1781</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #160</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>01121383C829DB89</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #161</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>EDBDE5D821FCE1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #162</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>06F9972E261CB675</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #163</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>064A1A44BCF752A5</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #164</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>068438426EC5E9A1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #165</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>063B4A39A9CEEE89</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #166</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0240216D0F0BC445</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #167</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>04BF099DC8052C21</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #168</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>056B6A8FD24E06C9</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #169</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0104EED0957C2901</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #170</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D08BFC7A14F2B39</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #171</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D35D814CF1B4709</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #172</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>04668E984403FCC1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #173</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>01A04DDA61FDBA1D</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #174</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>05BF67CE08B30FA1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #175</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>05C05F911CC5A6E5</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #176</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0594940070D0ED19</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #177</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>A8B9423A217BC1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #178</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02A88192985A7A89</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #179</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0995A640BC300FC1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #180</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D74856B55FB32A1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #181</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0AAB4BCF5EFA0301</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #182</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>BFD06062728E19</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #183</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B4BE4456A942061</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #184</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0196ABEDBF844681</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #185</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>07A5E946BBD85141</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #186</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0BFCF927DFDE61B7</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #187</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>045B7015EED0F2E1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #188</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>047DFEC3FA021019</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #189</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>04A2705E4127AF19</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #190</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>07A1DB9D323EF983</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #191</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>021ADC9D6E727019</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #192</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03BBCBE9BBDC1689</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #193</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0C9FCAD0B0361059</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #194</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>092F20C453DAB401</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #195</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>07D23D210ED8F6F9</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #196</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>08103DB7EB827B79</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #197</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>70A19C06C96301</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #198</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A26EADE33B7FFC1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #199</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D0C381330E39B89</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #200</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0342312CD67C0029</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #201</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>096CA50A88733CA9</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #202</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>06F52916447FB5F1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #203</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B87B32BF2BFDEC1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #204</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0C72ED217B38B2FD</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #205</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>07F6417D4E962D41</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #206</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0994CF8360C6BE39</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #207</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>086667E994CC6331</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #208</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>05FFDCB36C3207C5</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #209</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>011A9C174E88F871</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #210</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>012476280DC698C1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #211</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0972AC37C4777289</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #212</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>07DF3F8CA8362C61</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #213</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B2BAA4F091FE08B</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #214</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A74C3E3D5BCE841</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #215</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>011B61A7F537DFA1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #216</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>06CBDF00C94A25D9</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #217</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0110FCE5F89E7401</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #218</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0C08A2775D4C4FD9</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #219</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>062691BB4314FBCD</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #220</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B461F882BFD5E71</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #221</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D6AE827178EE011</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #222</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0CB2FB0949D98711</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #223</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>04CA4EEB01403671</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #224</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>09010ACE9342239D</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #225</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0C9FF4ABF096BCC1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #226</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02168616E778AA41</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #227</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>06FDEAA6F93F0401</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #228</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>065CC22C146EDF11</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #229</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>08F2E4F5E25CEEB1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #230</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A345B4C1F074573</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #231</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>063E96A098A53AC1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #232</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02C8F59FEF11C999</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #233</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0965EF6D8C361551</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #234</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>042BF68C63D00D0D</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #235</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0543650BEA8A63F9</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #236</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D52682084EA9019</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #237</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>09C331B550876105</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #238</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>057016A6DC9EFE81</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #239</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0C57F55BB0D93B95</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #240</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>07C5D747A61BD3D9</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #241</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>01D7B5E87371A031</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #242</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0AFB0A1D98C66CAD</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #243</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0C458EF9E3E13031</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #244</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0AC72CFBD8995599</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #245</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0983181ED34C278D</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #246</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>076A08065635D2B9</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #247</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0DB12F22C3230A69</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #248</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>091C4B9D9266CA11</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #249</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B8A0E9B4123C2A9</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #250</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>07D239068E0F80C9</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #251</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>15E52BBAB1C5D5</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #252</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D05CE0DA69141</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #253</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0CEE3A92C0CA71</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #254</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0304012FA6A762CD</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #255</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0E453A1ABD5A41</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #256</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>19DD10CE313E55</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #257</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>06323B635AD11EC1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #258</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>07C1D97C872745</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #259</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0201010E29A40EA9</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #260</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>1A697A92443719</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #261</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>018DBC97F897EB89</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #262</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0AFE75B410AD01</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #263</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>16EF8D894F23A1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #264</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>08F93D3740153479</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #265</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>13AA7DFB39C6C1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #266</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>1FB4FBE29E19E1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #267</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>08011A546D16AED5</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #268</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>1EA3A3031C6571</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #269</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>09324821E7E741</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #270</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>1D171FC0405B51</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #271</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>027D8D3B500D7381</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #272</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>01CF0CB0881281</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #273</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>240A4A1B7D02E1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #274</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>B57BF0F50D6909</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #275</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0490C4A6308D3211</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #276</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>105C038EBDE6A9</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #277</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>ACDBE223536091</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #278</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>01940B2AC2D95661</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #279</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A86DFE657662AC1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #280</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02D54D6F79FE9069</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #281</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0845CC53CBBDA201</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #282</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>1FC7F28AF9D0C5</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #283</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>20661FF8FE0801</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #284</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A3E06330648F1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #285</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>013CEFD999C441</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #286</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>01E5E63645E3D9</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #287</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0103D5390A291C35</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #288</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>15E59162D28901</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #289</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>020813C1FC94F9</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #290</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02D1A5C9AC60E381</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #291</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0BC61D868034D9</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #292</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>072E50CE194889C1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #293</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03C3E62A04F74461</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #294</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>D6F7F11563F991</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #295</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>D3FF7721685E01</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #296</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>D9CDE3697ECBC1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #297</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A2C6505526F0E81</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #298</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>17DBDAF5B0D601</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #299</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>2301F55CCC2FC1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #300</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>190DF94D5526F9</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #301</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0F61D11494789D</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #302</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>21FE042F520E11</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #303</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>081E2E78A4F46C01</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #304</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>21B5D5DB76E9ED</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #305</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0557A1213F902A81</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #306</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0111D98332018CD1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #307</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0129F3FA72CEA105</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #308</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>620E0EDC303A3B</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #309</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0C69659838CD1671</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #310</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>011D5EC462E79E79</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #311</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>6AAB109E02CA81</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #312</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0117F8C8B7903DA1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #313</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B77822CA2D46C01</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #314</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>069CD67C361517C1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #315</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>013AD412F593E461</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #316</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0EF44EFD911D21</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #317</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>067CD03CCEC5D219</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #318</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0309ACE3EB41B281</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #319</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B7D94042A0EA931</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #320</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0BB571646E039CB1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #321</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>032390A0B1D969</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #322</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>08809D479E7F4D91</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #323</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0CCE29A2872BA601</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #324</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>032ED334E50E9D81</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #325</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0CB034B2A631DA41</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #326</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>BCC6D6ABC6BB19</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #327</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0F31D2A68F3951</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #328</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>273975E9C57A01</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #329</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>18599216377981</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #330</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03F23E50F1A341</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #331</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0749D33DAB459429</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #332</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0764266E1A60BE31</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #333</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>66EA88D366CF29</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #334</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B169095987C1829</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #335</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0C275D94C7C92651</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #336</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>047889C256619941</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #337</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>18AB03C60BE951</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #338</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0412D36899ECF541</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #339</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>094E0BC4BD22AD61</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #340</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B0D4BE75ADCA94D</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #341</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>01B76D029C922359</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #342</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>06F415DC84315671</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #343</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>026530498D98E091</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #344</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0425C0084F470C3F</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #345</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>1998FA34746A41</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #346</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0C44A6BDC3C250CF</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #347</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>026A760C39B60001</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #348</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>021C99545F64CA75</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #349</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A82D82458FF0C61</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #350</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>099E83F31481C0A9</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #351</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02DC3E08A253637D</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #352</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>16E7FAB2C76A41</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #353</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>086EDC029C097EFF</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #354</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>04552557F59E8445</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #355</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0541B65F9FDCC841</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #356</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>05025682D5B08A01</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #357</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>B0C7B86AB98371</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #358</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>05FA03F7B0277F9F</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #359</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0816BCB7C437BE95</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #360</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0850DB2C17E7D661</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #361</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>046AB2591CD17901</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #362</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>05A6B7C0972CBF09</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #363</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0275893165CCA849</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #364</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>06BE359EADF54381</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #365</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0505AD702A0E8395</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #366</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0556427CC23C7E03</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #367</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0CE9B58E7BD728B1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #368</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>04AC4B6C83F10311</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #369</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>01289A75AF9DABA1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #370</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>B727DB5F974519</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #371</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0C2E2D2857F2A3DD</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #372</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0ACC067C8FCD2921</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #373</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>1B5F24A8081551</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #374</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A5A881666D8BB69</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #375</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>166508D3A71A51</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #376</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>05F714B57BC16C81</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #377</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0476C35AE57A59F9</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #378</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0223F38B6B3A6D31</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #379</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0780483B48D5E369</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #380</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>033DB8DF970526A1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #381</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>050024A2DD7C8D89</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #382</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02D0078020748901</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #383</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>028EC3191125FE13</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #384</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0488C915F74FA251</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #385</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>06FD3E44F1B37AC3</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #386</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>035E746EBCCCBA51</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #387</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03106507F8A546F3</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #388</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>015B2DC2F6AF03A1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #389</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>228A4504BAC689</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #390</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>09A731BB7C8FEB11</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #391</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>010D474A07B7A4FD</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #392</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>04E20EA0EA854579</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #393</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02582B334FBB60F1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #394</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>048EEFC93E4E6631</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #395</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>035AB511DDE0D845</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #396</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>01AAABA7184A7F53</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #397</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>023DDD6379D64089</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #398</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>06CD24DA5DE47819</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #399</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0BD5A8E19AF9659B</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #400</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0C09B51DD63E9001</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #401</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>075F55F1A2B5ECD1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #402</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>026B54BE962AAE11</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #403</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>010CAEF3EFE51A61</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #404</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>019DBD933D9B1C49</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #405</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>22AD7F03D67B11</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #406</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>07D540625057BDC1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #407</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02DC7BB63A7F6369</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #408</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>01360C7921ED2489</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #409</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0700A6F262AB1781</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #410</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>01121383C829DB89</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #411</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>EDBDE5D821FCE1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #412</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>06F9972E261CB675</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #413</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>064A1A44BCF752A5</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #414</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>068438426EC5E9A1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #415</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>063B4A39A9CEEE89</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #416</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0240216D0F0BC445</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #417</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>04BF099DC8052C21</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #418</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>056B6A8FD24E06C9</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #419</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0104EED0957C2901</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #420</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D08BFC7A14F2B39</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #421</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D35D814CF1B4709</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #422</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>04668E984403FCC1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #423</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>01A04DDA61FDBA1D</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #424</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>05BF67CE08B30FA1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #425</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>05C05F911CC5A6E5</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #426</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0594940070D0ED19</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #427</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>A8B9423A217BC1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #428</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02A88192985A7A89</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #429</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0995A640BC300FC1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #430</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D74856B55FB32A1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #431</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0AAB4BCF5EFA0301</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #432</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>BFD06062728E19</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #433</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B4BE4456A942061</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #434</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0196ABEDBF844681</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #435</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>07A5E946BBD85141</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #436</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0BFCF927DFDE61B7</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #437</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>045B7015EED0F2E1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #438</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>047DFEC3FA021019</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #439</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>04A2705E4127AF19</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #440</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>07A1DB9D323EF983</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #441</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>021ADC9D6E727019</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #442</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03BBCBE9BBDC1689</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #443</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0C9FCAD0B0361059</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #444</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>092F20C453DAB401</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #445</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>07D23D210ED8F6F9</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #446</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>08103DB7EB827B79</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #447</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>70A19C06C96301</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #448</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A26EADE33B7FFC1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #449</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D0C381330E39B89</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #450</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0342312CD67C0029</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #451</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>096CA50A88733CA9</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #452</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>06F52916447FB5F1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #453</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B87B32BF2BFDEC1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #454</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0C72ED217B38B2FD</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #455</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>07F6417D4E962D41</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #456</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0994CF8360C6BE39</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #457</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>086667E994CC6331</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #458</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>05FFDCB36C3207C5</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #459</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>011A9C174E88F871</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #460</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>012476280DC698C1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #461</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0972AC37C4777289</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #462</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>07DF3F8CA8362C61</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #463</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B2BAA4F091FE08B</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #464</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A74C3E3D5BCE841</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #465</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>011B61A7F537DFA1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #466</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>06CBDF00C94A25D9</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #467</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0110FCE5F89E7401</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #468</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0C08A2775D4C4FD9</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #469</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>062691BB4314FBCD</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #470</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B461F882BFD5E71</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #471</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D6AE827178EE011</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #472</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0CB2FB0949D98711</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #473</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>04CA4EEB01403671</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #474</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>09010ACE9342239D</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #475</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0C9FF4ABF096BCC1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #476</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02168616E778AA41</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #477</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>06FDEAA6F93F0401</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #478</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>065CC22C146EDF11</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #479</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>08F2E4F5E25CEEB1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #480</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A345B4C1F074573</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #481</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>063E96A098A53AC1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #482</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02C8F59FEF11C999</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #483</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0965EF6D8C361551</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #484</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>042BF68C63D00D0D</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #485</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0543650BEA8A63F9</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #486</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D52682084EA9019</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #487</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>09C331B550876105</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #488</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>057016A6DC9EFE81</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #489</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0C57F55BB0D93B95</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #490</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>07C5D747A61BD3D9</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #491</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>01D7B5E87371A031</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #492</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0AFB0A1D98C66CAD</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #493</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0C458EF9E3E13031</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #494</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0AC72CFBD8995599</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #495</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0983181ED34C278D</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #496</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>076A08065635D2B9</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #497</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0DB12F22C3230A69</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #498</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>091C4B9D9266CA11</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #499</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B8A0E9B4123C2A9</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #500</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>07D239068E0F80C9</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #501</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>8CBD8C5D</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #502</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>042CC22FB1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #503</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0CE8A4CB41</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #504</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>1C80FE9881</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #505</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>369CBE3D7D</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #506</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>5B8A105E01</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #507</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>8E753E4501</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #508</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>CFC99E7CA9</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #509</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0121016A18C1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #510</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>01851D3BA711</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #511</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>01F4682F5551</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #512</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>027BC5CF8C61</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #513</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03144DBD7D61</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #514</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03BB7C341801</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #515</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0484393C5751</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #516</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>056AC55A8E01</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #517</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>06650A170371</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #518</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>076D3DFA10E9</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #519</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>08A0C369ED91</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #520</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>09F6CCBD9B41</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #521</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B765E255AA1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #522</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D020B343901</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #523</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0EAAD9B72681</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #524</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>10881ABA3375</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #525</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>126D3FD1EBB1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #526</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>1481DC08BC51</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #527</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>16AA79C41349</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #528</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>19029D8CEE81</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #529</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>1B74C1200E81</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #530</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>1E260E0050A9</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #531</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>20FF3FA626A1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #532</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>23E67F4F6E41</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #533</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>27024BF1ED61</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #534</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>2A6EF999F4C1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #535</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>2E0F509DA8E1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #536</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>319C519C0BC1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #537</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>3572736467A1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #538</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>398AEF17FFF9</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #539</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>3DED07E606E1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #540</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>42548A3EDC01</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #541</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>47087BA72005</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #542</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>4BF4E8D57121</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #543</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>50EAAFFC1081</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #544</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>567CEB57A0D1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #545</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>5C1467475DB1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #546</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>61C7879C25C1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #547</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>67B2376B2939</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #548</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>6DC7A83ED4F1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #549</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>7447727D1BC1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #550</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>7AE720195B91</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #551</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>818C8C26A8F1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #552</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>88588FD06041</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #553</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>8F94D253BCF9</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #554</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>96FF63D55761</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #555</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>9E770073CD31</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #556</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>A66196C02801</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #557</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>AEB1BC5B2EE1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #558</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>B6D8BA0FCC71</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #559</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>BF2101CB5DB9</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #560</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>C88CA9245E61</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #561</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>D175D4F10101</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #562</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>DB3DE1931161</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #563</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>E4AC0F660081</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #564</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>EEDAB65F041D</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #565</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>F8B569238B49</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #566</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0103416ABDBC31</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #567</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>010E1BC4227D81</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #568</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>011903ABD8322D</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #569</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>01249ED686E671</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #570</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>012FE890519FB1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #571</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>013B6BEFF18141</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #572</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>014721FA144CE1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #573</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0153EEDEE9E5E1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #574</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>015FF780553801</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #575</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>016D803724CBF9</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #576</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>017A95CCFE52D1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #577</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>01889F567D9181</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #578</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0196FC44A3CE01</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #579</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>01A5BA52B4D8A1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #580</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>01B49775ACB761</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #581</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>01C25F1343D089</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #582</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>01D27E4488F771</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #583</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>01E1CDC9FC7451</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #584</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>01F1D60458D901</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #585</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02010756010801</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #586</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0210F7DF551921</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #587</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0221B46D6C7621</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #588</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>023214F1FF27F9</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #589</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0243697080E539</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #590</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0255C82ED5FDB1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #591</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02676D8570B281</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #592</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>027A24619586F1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #593</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>028C77D1639AC1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #594</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>029FB041CE3041</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #595</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02B3E971BEF6C1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #596</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02C68427E8A981</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #597</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02DA0B7EC15781</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #598</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02EEE8F4B19D01</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #599</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0304F6FD55F979</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #600</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0319C156E3C709</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #601</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>032E78801CC8F1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #602</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0343D5CE198E41</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #603</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0358BE8B83DD81</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #604</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>036F4889C1D0B1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #605</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0386D47E364AC1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #606</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>039E175FAFA011</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #607</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03B5C62CB92201</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #608</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03CDF0B34348E1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #609</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03E78F7E984881</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #610</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>04013889CF2149</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #611</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>041A8E2C381DE1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #612</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0434DEEE208249</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #613</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>044DFB5E25B601</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #614</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>04687305ED1141</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #615</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>04829E6532B291</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #616</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>049FC279FB53D1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #617</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>04BD813FC247A1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #618</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>04DA89FDC0BA01</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #619</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>04F6A3F90F4EA1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #620</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>051416C6BAB621</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #621</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0530C7CBF57E69</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #622</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>054F24723286B7</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #623</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>056C365585A461</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #624</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>058A3885011EC1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #625</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>05A9EBB9462541</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #626</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>05CA14340A0C21</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #627</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>05EC1582146A71</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #628</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>060E1A7FF160F1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #629</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>062F22FCB3A00D</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #630</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0650C9B28BA881</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #631</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>067198D30CCF41</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #632</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0693D9F27A8171</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #633</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>06B562652CD791</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #634</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>06D8FD31324701</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #635</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>06FC3FC883C831</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #636</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>071E6FC0055881</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #637</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0742041874ECC1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #638</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0767C5A47AED65</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #639</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>078AB2F4B81581</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #640</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>07B242AF418921</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #641</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>07D8E2B5D31B21</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #642</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>08004811E6EB81</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #643</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0825868CB4ABC9</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #644</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>084CB8991D0181</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #645</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>08757F9949EE41</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #646</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>089BED67B07041</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #647</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>08C417A94F1359</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #648</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>08EC0D748DB2D1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #649</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>09177FE8FAD511</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #650</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0942A3EAA01A39</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #651</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>096D2FBB4C19C1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #652</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>09985FD23448A1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #653</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>09C3BB90370731</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #654</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>09F313C9FCD491</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #655</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A1F4228CC56D1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #656</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A4C83C94BEE7D</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #657</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A7792E6A5DB39</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #658</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0AA7164C2B57F1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #659</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0AD6E92B03FE09</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #660</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B070731D8DC01</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #661</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B37AC05AC1E51</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #662</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B6A95A6882691</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #663</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B9D0792C8FB81</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #664</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0BCE569704CAF1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #665</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0BFFE3288D8AD1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #666</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0C343282D44B41</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #667</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0C66AA5075AF41</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #668</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0C9A94FFC769C1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #669</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0CCF4CBD52E9B1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #670</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D022EFC4C4535</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #671</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D3663463AF7E1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #672</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D6AB484E10D61</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #673</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0DA171AB44C4D1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #674</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0DDABE877E8961</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #675</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0E139C043F3EC1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #676</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0E4B94DEDE9871</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #677</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0E8393934F1421</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #678</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0EBB12969A9801</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #679</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0EF3200072AE81</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #680</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0F2E835D4A1AC9</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #681</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0F67CEF1A0AA51</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #682</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0FA4E7789E9441</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #683</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0FDD9ABEB454B1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #684</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>10173951F5E0E1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #685</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>104E92D03EA939</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #686</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>108FAB71B23061</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #687</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>10CBA542242161</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #688</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>110C02BED9FED1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #689</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>114E9A38020351</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #690</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>1191A4EB41E4A7</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #691</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>11D45DF7E0F2F1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #692</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>1215BF95B583A5</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #693</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>1255CACFABBB01</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #694</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>129827E5D49B81</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #695</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>12DB43269B1B89</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #696</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>1320999C194E21</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #697</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>1366D0AA203241</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #698</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>13AC1B52502969</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #699</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>13EDCBDBDDB759</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #700</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>14339DED4E68D1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #701</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>14752AED30F179</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #702</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>14C1BF1D9A3941</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #703</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>1506745F497139</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #704</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>1549C223459749</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #705</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>1590C8447D96C1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #706</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>15DAF242A760F1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #707</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>16233B77152421</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #708</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>166CCAAB989EC1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #709</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>16B92CB3F579E1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #710</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>170281EEF96D01</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #711</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>175133DCFE02E1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #712</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>179F9B78121401</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #713</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>17ECBFC16BDDD1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #714</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>183D3FBFA51F8D</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #715</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>188B97EAEDA001</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #716</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>18D93A53BF0A21</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #717</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>19288B6B7373E1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #718</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>1975E6DE22C6E1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #719</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>19C4AB0A423901</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #720</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>1A176F7EB9AE01</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #721</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>1A6A90D1AF3601</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #722</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>1ABEB4257055F1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #723</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>1B0E7A6A493001</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #724</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>1B61B99CF2C101</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #725</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>1BBB704BFA3601</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #726</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>1C13161CDED821</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #727</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>1C66D37B199571</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #728</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>1CBDCC84B6F781</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #729</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>1D13282EB73C41</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #730</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>1D6CF8E86D6E41</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #731</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>1DC7687AB6C0C1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #732</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>1E2167EAA0436D</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #733</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>1E7BBF10D14C01</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #734</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>1ED51E3E22D225</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #735</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>1F2D5E91CA7839</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #736</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>1F85079905C4F1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #737</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>1FE2BDA369D261</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #738</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>203B8F18BE9261</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #739</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>209A58FF6DA661</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #740</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>20FFF41794F031</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #741</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>215AEB4CD17281</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #742</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>21BAD22500C7A1</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #743</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>2217CB70CFBA01</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #744</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>22738E92F71385</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #745</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>22D7C77929AB81</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Failure Test #746</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>2339BF2A07BB61</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tbigint/scripts/tprimegen.txt	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,192 @@
+<action>
+	<actionname>Prime Generation Vector -- 0 (tests the overflow from something less than KLastPrimeSquared to the probablistic prime generation routines</actionname>
+	<actiontype>PrimeGenVector</actiontype>
+	<actionbody>
+		<bits>32</bits>
+		<random>1304E0B1</random>
+		<prime>1304E0B5</prime>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Prime Generation Vector -- 0 (tests the overflow from something less than KLastPrimeSquared to the probablistic prime generation routines</actionname>
+	<actiontype>PrimeGenVector</actiontype>
+	<actionbody>
+		<bits>32</bits>
+		<random>1304E0AE</random>
+		<prime>1304E0B5</prime>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Prime Generation Vector -- 1</actionname>
+	<actiontype>PrimeGenVector</actiontype>
+	<actionbody>
+		<bits>8</bits>
+		<random>01</random>
+		<prime>02</prime>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Prime Generation Vector -- 2</actionname>
+	<actiontype>PrimeGenVector</actiontype>
+	<actionbody>
+		<bits>32</bits>
+		<random>02</random>
+		<prime>02</prime>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Prime Generation Vector -- 3</actionname>
+	<actiontype>PrimeGenVector</actiontype>
+	<actionbody>
+		<bits>129</bits>
+		<random>3CA8</random>
+		<prime>3CB5</prime>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Prime Generation Vector -- 4</actionname>
+	<actiontype>PrimeGenVector</actiontype>
+	<actionbody>
+		<bits>32</bits>
+		<random>45C7</random>
+		<prime>45C7</prime>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Prime Generation Vector -- 5</actionname>
+	<actiontype>PrimeGenVector</actiontype>
+	<actionbody>
+		<bits>32</bits>
+		<random>45C8</random>
+		<prime>45D9</prime>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Prime Generation Vector -- 6</actionname>
+	<actiontype>PrimeGenVector</actiontype>
+	<actionbody>
+		<bits>112</bits>
+		<random>0271966D879E61</random>
+		<prime>0271966D879E61</prime>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Prime Generation Vector -- 7</actionname>
+	<actiontype>PrimeGenVector</actiontype>
+	<actionbody>
+		<bits>112</bits>
+		<random>0271966D879E60</random>
+		<prime>0271966D879E61</prime>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Prime Generation Vector -- 8</actionname>
+	<actiontype>PrimeGenVector</actiontype>
+	<actionbody>
+		<bits>112</bits>
+		<random>0271966D879E62</random>
+		<prime>0271966D879E6F</prime>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Prime Generation Vector -- 9</actionname>
+	<actiontype>PrimeGenVector</actiontype>
+	<actionbody>
+		<bits>112</bits>
+		<random>098463BD095353EAA69FFBDB50</random>
+		<prime>098463BD095353EAA69FFBDB6F</prime>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Prime Generation Vector -- 10</actionname>
+	<actiontype>PrimeGenVector</actiontype>
+	<actionbody>
+		<bits>1024</bits>
+		<random>0B495A29516BC41670BC9FABF98CD75FF119E70DED5C2895D4E035EDC350D9E665F1A112437C6DC0DB0BD6972E818E088C087A0B3295AB5D7EF0388FE44800</random>
+		<prime>0B495A29516BC41670BC9FABF98CD75FF119E70DED5C2895D4E035EDC350D9E665F1A112437C6DC0DB0BD6972E818E088C087A0B3295AB5D7EF0388FE4486D</prime>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Prime Generation Vector -- 11</actionname>
+	<actiontype>PrimeGenVector</actiontype>
+	<actionbody>
+		<bits>2048</bits>
+		<random>96FC57652F5221A76EB6CC1E6EA830CA44819734C9146590D6269935D9FE0A550B664BA486C237EBC592A1A5083A55C1F67F4820BC5C485C622D2E539EB348B6ADFCA98C74C5ECBC707785E86528F2127FF51B48CDF9D7F0182D52E0EB87440F43F170CB1070A2EB53BE7C5F9400729ED5C180A3C589C3E7FADA19E7AA94730C3896744A976BDB344AAF51235AD0868E4F336BCFA732F4E5CC67ED204EFC70373C8397007909690154EA7064C5DF1A6511C8D731AC307E4623B265DFD71C14CCE20EA277E2156CF4191DEC3247C2A2BB893A07C4D1574D1C3C69400A14952B23AA53A445627A9D6F112751BDFEAC9743BFCB2585CC6747D41F49</random>
+		<prime>96FC57652F5221A76EB6CC1E6EA830CA44819734C9146590D6269935D9FE0A550B664BA486C237EBC592A1A5083A55C1F67F4820BC5C485C622D2E539EB348B6ADFCA98C74C5ECBC707785E86528F2127FF51B48CDF9D7F0182D52E0EB87440F43F170CB1070A2EB53BE7C5F9400729ED5C180A3C589C3E7FADA19E7AA94730C3896744A976BDB344AAF51235AD0868E4F336BCFA732F4E5CC67ED204EFC70373C8397007909690154EA7064C5DF1A6511C8D731AC307E4623B265DFD71C14CCE20EA277E2156CF4191DEC3247C2A2BB893A07C4D1574D1C3C69400A14952B23AA53A445627A9D6F112751BDFEAC9743BFCB2585CC6747D423CF</prime>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Prime Generation</actionname>
+	<actiontype>PrimeGen</actiontype>
+	<actionbody>
+		<bits>512</bits>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>OOM start</actionname>
+	<actiontype>startmemfailure</actiontype>
+	<actionbody></actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Prime Generation</actionname>
+	<actiontype>PrimeGen</actiontype>
+	<actionbody>
+		<bits>512</bits>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+<actionname>OOM end</actionname>
+	<actiontype>stopmemfailure</actiontype>
+	<actionbody></actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tbigint/scripts/tprimetests.txt	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,7257 @@
+<action>
+	<actionname>OOM start</actionname>
+	<actiontype>startmemfailure</actiontype>
+	<actionbody></actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #901 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>FEFE1E5FCAE89D94E4DA1043CF1E608B2BEF1CA7C3344293BDA917B1FB9663D9B236FA04D775894150D63E8D51B453EC99A5A1DFF3F8CC54342F76C275DF6E7779D8A3C2DF79F662537CCAC64B5FC83C2F87A948B09E5040A5458C307DADF2A3A24BBF68252CCB05B5561AC8C5C11E0298CF3A37D51192AE84C2B1F601</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #9 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03FD</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>OOM end</actionname>
+	<actiontype>stopmemfailure</actiontype>
+	<actionbody></actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Prime Vector Test #1 (Failure test)</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>01</prime>
+	</actionbody>
+	<actionresult><result>EFalse</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #2</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #3</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #4 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>021D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #5 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0287</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #6 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02F5</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #7 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03FD</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #8 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0373</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #9 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03FD</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #10 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0347</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #11 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02E3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #12 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03B9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #13 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0329</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #14 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0329</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #15 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0335</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #16 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02E7</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #17 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03D7</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #18 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02B3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #19 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>024B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #20 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02A1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #21 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02E3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #22 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>038F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #23 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>021D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #24 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0223</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #25 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0259</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #26 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0305</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #27 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>036D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #28 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0335</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #29 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03DF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #30 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0337</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #31 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>035F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #32 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>026B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #33 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02B3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #34 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02AB</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #35 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>022D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #36 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0269</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #37 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03FD</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #38 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03B3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #39 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0335</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #40 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0295</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #41 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>026B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #42 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02E7</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #43 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0377</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #44 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02DD</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #45 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0329</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #46 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0251</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #47 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0335</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #48 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>033D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #49 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0241</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #50 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>035B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #51 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>038B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #52 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>021D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #53 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0239</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #54 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03A1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #55 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0329</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #56 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>038B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #57 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0397</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #58 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03A1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #59 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0251</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #60 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03D7</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #61 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>021D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #62 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0209</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #63 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0313</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #64 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0295</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #65 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0295</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #66 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0295</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #67 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>022D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #68 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>026B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #69 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02BD</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #70 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0293</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #71 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>038F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #72 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02F9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #73 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03D1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #74 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03B3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #75 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02D7</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #76 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0265</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #77 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0397</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #78 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>038F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #79 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>033D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #80 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0209</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #81 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0355</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #82 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02BD</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #83 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0313</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #84 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0305</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #85 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03D1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #86 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0269</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #87 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0233</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #88 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0257</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #89 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>024B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #90 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>020B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #91 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02F5</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #92 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03B3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #93 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>036D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #94 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0283</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #95 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02CF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #96 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0329</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #97 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03C7</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #98 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>024B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #99 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0329</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #100 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02DD</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #101 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>022D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #102 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0281</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #103 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>035F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #104 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>4EC1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #105 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>66B5</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #106 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>7EF1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #107 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>53FF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #108 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>58BD</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #109 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>79A3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #110 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>6FD3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #111 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>4067</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #112 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>48A1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #113 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>6FA3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #114 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>71AD</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #115 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>6803</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #116 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>5DB9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #117 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>5C2F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #118 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>60D9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #119 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>606B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #120 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>56AD</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #121 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>68BD</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #122 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>6EFB</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #123 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>71C3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #124 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>7D4D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #125 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>7E47</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #126 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>700F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #127 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>7DFB</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #128 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>6943</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #129 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>526D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #130 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>5705</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #131 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>78AD</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #132 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>676F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #133 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>7BB3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #134 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>4561</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #135 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>6B2D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #136 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>5315</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #137 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>7E2F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #138 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>4831</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #139 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>568F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #140 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>588D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #141 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>7633</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #142 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>4BE9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #143 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>7721</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #144 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>77E9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #145 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>6713</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #146 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>5803</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #147 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>5D19</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #148 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>6EBF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #149 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>5FE3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #150 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>53F5</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #151 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>4B43</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #152 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>41E7</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #153 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>5567</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #154 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>4C15</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #155 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>5FBD</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #156 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>6BFF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #157 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>51F7</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #158 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>7DB7</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #159 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>51DF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #160 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>62E9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #161 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>7E91</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #162 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>73C9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #163 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>42B5</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #164 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>6DCD</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #165 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>7B8B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #166 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>61F1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #167 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>6265</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #168 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>7EBB</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #169 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>54F7</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #170 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>43E7</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #171 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>51D3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #172 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>4E95</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #173 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>694F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #174 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>4783</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #175 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>5227</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #176 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>664D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #177 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>74B7</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #178 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>560B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #179 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>4D29</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #180 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>738D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #181 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>75B9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #182 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>5E49</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #183 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>5435</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #184 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>6BFF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #185 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>5FCF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #186 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>5117</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #187 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>4DCF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #188 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>7A1B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #189 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>58BD</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #190 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>4799</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #191 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>5AA9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #192 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>4ECD</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #193 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>51A3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #194 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>6C8F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #195 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>6857</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #196 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>6FF1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #197 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>7D1D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #198 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>7039</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #199 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>4EC1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #200 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>7AA1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #201 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>6C55</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #202 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>650B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #203 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>7B77</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #204 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0DB0CD</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #205 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0F675D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #206 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0E4097</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #207 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0F2029</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #208 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>08D517</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #209 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B997B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #210 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0E0273</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #211 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B8E3B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #212 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0E9065</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #213 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>090BE9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #214 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0E8F5B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #215 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>08D529</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #216 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0CD53B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #217 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0FFBF3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #218 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0BECC9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #219 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>082DFB</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #220 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>097945</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #221 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0AC5F7</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #222 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B7AFF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #223 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>08EAED</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #224 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D3D27</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #225 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B76CB</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #226 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A90F3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #227 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0E1469</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #228 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0EE37B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #229 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>08D1E5</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #230 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0EAC4D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #231 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0EF58B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #232 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0AD681</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #233 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0E9B4F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #234 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>09C7C3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #235 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0F52C9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #236 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0DF669</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #237 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0FD621</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #238 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0959E9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #239 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>081D73</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #240 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>09C4C1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #241 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0909E5</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #242 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B60EF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #243 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D9D6B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #244 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>08261B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #245 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>08D7D3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #246 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0F87C7</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #247 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B26F3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #248 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0AE66D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #249 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A0C9D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #250 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>09FC07</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #251 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>09E53D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #252 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A2A3D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #253 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D343B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #254 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B53ED</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #255 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B9741</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #256 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0F270D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #257 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0E89D5</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #258 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>086F35</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #259 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0AD3A1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #260 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0DFFFF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #261 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>090E6F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #262 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0E551D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #263 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0F462B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #264 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B36B1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #265 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>080189</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #266 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0C76DB</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #267 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D41BF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #268 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0FFAE7</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #269 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0E2FFF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #270 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D5F2B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #271 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0DEFAF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #272 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0968FF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #273 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>09252D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #274 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0F53EF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #275 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D01D5</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #276 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A55BF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #277 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D217F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #278 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D84D3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #279 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>091EA9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #280 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>08DBD1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #281 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>09C643</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #282 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0CC2C3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #283 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D869D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #284 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A98EF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #285 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A44AF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #286 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0AFC1F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #287 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0CBEC7</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #288 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D3CEB</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #289 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>09D711</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #290 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>08CACB</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #291 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A849D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #292 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B9EF7</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #293 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D742B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #294 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0DF5FD</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #295 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0ED4D5</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #296 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D5B35</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #297 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A8353</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #298 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B1221</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #299 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0F71F9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #300 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0C2273</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #301 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0C54D3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #302 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D71FB</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #303 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0F69D1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #304 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03646DF29CF1E1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #305 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0276973F5018AD</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #306 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03F5C3C201FBCD</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #307 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0388F2BC30F785</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #308 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>027415EDA35DC5</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #309 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>023971A0E99571</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #310 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0225513C151C3F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #311 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02CDDC9F5E77A3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #312 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02AECF1300C44F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #313 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02A56567191FE1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #314 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0380B1CE5D2499</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #315 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0300D50CAEAC45</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #316 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>034EA07E708363</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #317 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02E98A6991BE1F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #318 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>034E0A4E593C53</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #319 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0393D7BA61238D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #320 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>028654C6A77B49</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #321 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0301E4D9749A95</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #322 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>025FC2B322A6C9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #323 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02169B63A5A80F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #324 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03F7C993FEBA01</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #325 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>031E6AB554FEE5</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #326 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03DAC59ACC1839</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #327 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0244AB74986611</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #328 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02B4D3FADB7035</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #329 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0325AE78C82305</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #330 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03397D5008B4DD</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #331 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02E916754BAA07</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #332 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0343E584079181</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #333 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0283558A5CE137</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #334 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03808D2166E385</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #335 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03E59D68FFC8EF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #336 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02806121D0DE6B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #337 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03A7C7C67F93C3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #338 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>028C95E6C6737F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #339 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0300EDB00E51B1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #340 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03AB67CC80B7C5</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #341 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03D3A371CC009D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #342 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03358FFBA18F4B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #343 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>022DFD98E01EF3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #344 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03555C8628A6B5</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #345 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03207330B0CC47</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #346 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>024BB53D49C3E1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #347 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02BB62436F52D9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #348 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02B54CDADFA93B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #349 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03BC1A4A657EB9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #350 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>034F50B8989BB3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #351 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0213A60AB0F86B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #352 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02725D18672995</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #353 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02EAF046DD0D59</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #354 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03E5DE75610EFF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #355 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0374E9BFB645A7</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #356 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>039F9BCF09A995</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #357 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0341D0E82B3E81</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #358 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02D94A8735D113</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #359 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>026A7D0CA6CF73</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #360 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03A48D22FB8CBD</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #361 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03D06470620033</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #362 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02D7914D9BB75B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #363 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>036F05828FEF67</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #364 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>036EB799952C55</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #365 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02A07070828EC1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #366 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03764B8674AB2D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #367 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03000EF23101CB</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #368 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03701E7058F5B7</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #369 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>033B605B4DBF63</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #370 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02A7FCC1C830A5</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #371 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03D1D948162D4F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #372 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>029AD1295B603F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #373 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03E8F5170FA325</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #374 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0266CEC7033F4D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #375 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>024DFDE0E8951B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #376 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>027FE9A8EA016D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #377 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>039A58024FEAF9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #378 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02808A1EC1786F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #379 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02FB1B8F8AEB15</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #380 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0317CB83C5B2E5</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #381 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02837670F060A9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #382 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>025390CAC1B55B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #383 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02CD6748792B43</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #384 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>031956B99A2881</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #385 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02BDA12DF3981D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #386 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02854A6D678D51</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #387 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>036CDA79A7CEBD</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #388 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02497B93BB8F2B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #389 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>020A343FFF6AF9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #390 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02306BFB40A7B9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #391 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>029BE1DAC620C9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #392 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03520901DAF385</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #393 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0259AC269B13E7</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #394 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>031BDC7200E05B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #395 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0219DE16C61431</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #396 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03E9B724FFB87D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #397 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>027EAC6AFD01A1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #398 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03A0AAE9CEFBBF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #399 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>02E73857B054D7</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #400 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>030664A092CD5D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #401 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03115451F218AB</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #402 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>03EF2805E223C3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #403 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0271966D879E61</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #404 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>098463BD095353EAA69FFBDB6F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #405 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0EC70BE31B91B2C5AB95C23CD1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #406 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>082D7C59155BC1979A6A18C883</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #407 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A5BAED12D1CA7096434FA01C9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #408 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B67915B29AB47C8A1E6E2A315</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #409 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D52C934F6F9A95DCC91C9ED0F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #410 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0C45FA08698031D5E9CF40BCC9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #411 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>081907BF9A45359E5A30E3B89F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #412 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0ABA1A746AC2BA3BCADFFF52DB</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #413 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0985D1752994D15A67F9ECD847</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #414 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B8BE43707FA031040B3FE3857</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #415 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0E232C7D65E72CCA4AF9F0699B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #416 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0FD891C98C4B1ABA730A2DD5B5</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #417 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B77FD567E17965496D2AE8A0D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #418 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0E9EADB7110808F2713BFDAEA5</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #419 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D8C10698A4ABE7CB913A62F9B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #420 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>09E964FE48D43B685C00936015</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #421 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>09DDA4601505A906DAF945E5A5</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #422 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0E10D4CD6EC18CC5A0B2B6DC4F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #423 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>08D9BA811F20C8E4B581FEF15B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #424 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0E57B4773F289E58B96F81D4FB</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #425 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0BD14CE14A8C3536A3B5406C1D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #426 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>090455686C849DDA3C998545EF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #427 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B7C025AA5CAD888223DFC0989</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #428 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0964EE3045F7DA0C8C61CEAF95</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #429 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0DFD10E07C02F5C593266D79CD</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #430 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>09714F2F498805B48205A7646B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #431 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0C7FF375D55201458FFA14F65D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #432 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0F159879B1504A111DCD726BD1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #433 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>086D75CB23E9B08C89B3C2BEC5</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #434 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0E1630510666E1C734079DE9D3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #435 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0FFA0E23F5B75D61915238C6C1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #436 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B1C2D24EA0B64322F09B90479</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #437 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D2003C1DD49A4F7136CD98063</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #438 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A047097BEB342AEF29248A00B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #439 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0913F5ACEB40F5747A56345605</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #440 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0FF48A98FA9ACFDF37F9289323</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #441 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0E87560010D682861603302B83</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #442 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B1054A689664D524CEF80BF63</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #443 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0E5671034D75267EB7FD49EEC9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #444 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A5D944B10C050DB2F5B0F9C77</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #445 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0EE3DE00BC51657109E0EF8F3F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #446 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>094E6DB14577CE3665A879EF27</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #447 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A5A8ED7C4358F7783B6CFB79B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #448 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0E2CEA568F3D7A2A527CC09BDF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #449 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A6056D6BD145DF2333D934D3F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #450 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0CAEBA01AC17F0FA651933CE61</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #451 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0BB527286B34EE39A4135E0C59</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #452 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0DA70FEBCED37391F3B8E7E6A3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #453 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0BDCAC120199402DAE303F0A37</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #454 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0EE0FC51A2E839BC4AC7DDBA71</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #455 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0F4113259AF639F3288320C1CF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #456 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>086CFAD9ADFF8BD18DE060594F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #457 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0ECC390EB54F77EA60CE0062B5</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #458 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0C352E5700380060EAEFE8B18D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #459 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0913167F718F4011AA4F14E507</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #460 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A5324D1C7D3607D497EE63E1D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #461 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>09A2D70AE986339CCE8304EDDD</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #462 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0F7ACFD0B09EEBE98F883CC345</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #463 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0E27B86D07B1606C58807883A5</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #464 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B96C52013736D03E5F0E051BB</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #465 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A8BF3D18B8AD60E832411544F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #466 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A78EA3ED59A5AC641E46558A9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #467 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D036707440FD72C5472258385</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #468 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>091D3EE140E685894AA33C6BFB</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #469 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0C29FAB63F6F9FD50DAD0332A3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #470 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A8C92D88A0107A6AE7BD75EFB</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #471 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0CA04E1EAFC5C680B1FBF184CD</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #472 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>08095BDCDE9C56C6E8784C2FDB</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #473 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0E22B1A50FE3414F91222E8CA5</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #474 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A527EEF4880EABAF573CF464B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #475 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B7D9B06B2978D07C04207821B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #476 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0925ED2CA485DF93F833A27513</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #477 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0BBE715FECFFB56394C01B2C51</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #478 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D5E904FF2E048A5D3F35E1CDB</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #479 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A916D474A336EE6000B42C1D1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #480 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B60B6C2A6B3AD90E959DFC411</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #481 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0AEA7F071EBBCEB4326AD64F1D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #482 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A8ED1C422B573DC7CB3297A63</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #483 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0AAAD19A527913E7AF8BE8562D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #484 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0C5AA90A3C549D572A67E4B6FD</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #485 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D263E3256FFA21167489F7019</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #486 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0C9F28307CF4345ADCA7455937</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #487 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0E0A39C536C2F7310D05A0A89F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #488 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D2879B9CD6174C7B8647C6B07</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #489 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0BCC463F68D0EAA348B9D4E097</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #490 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A4D665C50176B0DA5C6476B61</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #491 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0E56F158B879CF4331668CE123</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #492 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>08C4F7E703E5CD9A4A8F9F09EF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #493 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0863D2DD9896716C7942F234F5</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #494 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D1796052410B16D88B5B564F5</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #495 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D597479FC9C4135A6263BC29F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #496 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>09780B9C5361389EC9CB6F7997</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #497 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0FDA1A971A215B4CC77D6DAB9D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #498 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>09CB6D6F532A7EA37A43556297</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #499 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>09FC212E19C9ECF56CDA960941</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #500 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0ECF3E3B6E741F1D464247D36F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #501 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>08AEA6EF213D35CF8BAD154617</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #502 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0C9E44738D624C43C5119C6E13</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #503 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>09B8C69EB7BA952EEB9FDFC6B9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #504 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>30E324FD79BCDA5ED5F1F97A3F406D7DE26FC9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #505 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>2A37841A46AE52CAB5C357A6D0D5183EBE14AD</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #506 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>2EE1621074F095DEA50134C86E0A8329948C27</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #507 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>3D02A5E8384299CC7E47604FD026A986C69527</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #508 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>2BF987B7A3390951E11204DFFFD1893396941F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #509 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>3C5BAA4FA4E4E37AAD27EFCE4B5A122CB4B159</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #510 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>30254B396FAA123CCBEEF72598135803B51251</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #511 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>2555F037741478E5058169BCF82E686216D0FD</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #512 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>3A264C808EDC25AFD5CC6C08D223244633064F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #513 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>2FA4A5EB8D5783FE15C27DC7D29D3FEBBF7E43</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #514 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>26435E733FBFFBCD6776AEC4720D7DFFEC1607</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #515 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>284AE3F972E4A174F620C9460BC76B8FC32F97</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #516 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>31377A769E555BA9FD1A50C2B04D08DC048D79</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #517 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>3CB8394BB475F800487852A62772D2795AECE1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #518 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>37EF7C62DC290BC8351AAAA3DAEA41D3FEF8AB</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #519 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>3075B359EF508491A69C17E68C090A80ED3001</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #520 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>265E3754B77CC74E2578718C99F5285299AF0F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #521 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>2055545D8D83403968A5789A7B04BCD7A91A81</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #522 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>38319EDFFC09516450242D2337E9B5A8C4720F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #523 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>32BA55A7CD8B91C9A993654375F2561D4D1F9D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #524 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>37CB1C08A0D44BAC0F6AE14506CC5F0BA8A8BB</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #525 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>2E59AE35F52DF246F267FFB9FDC2764C9664E3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #526 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>330B48C0456DC2A8C50C805A42E27709E637AD</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #527 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>2E60D74D4858190A9B1016F66813EA43730D07</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #528 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>26741FECBF6D82DF8CA168E65604D2A7D56F7B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #529 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>292CE64946649D17A37CE0300D2DCB5B28FC53</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #530 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>2A8F5CE695ECF20ACFB10184BC7867ACA28E33</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #531 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>267CCCFECDF7A68EE05585EF5A15AB002C4CEF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #532 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>26F9A0EBEDCD30A5D1E9A6FB833233EC14084B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #533 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>3C2CCE5358FEB1BD0FD437A38F9F28433E182D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #534 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>27DCF74CC573C66EBA236768B89A57DCD6B2BB</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #535 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>2AAE41F11F296F847A3529C3247CE27457978D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #536 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>3FC2504E651D816DC1F7AF7F919A456EC66375</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #537 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>2432E5AB55F7D1DDF490E054A7DF51DD6FC851</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #538 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>272BEAB9B2EDC84BB6C7E9F8443D7C98C9E31F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #539 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>21FACFBA0D763304B8BEED29F3DAE1D9B12753</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #540 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>2E9A81BAE7EEF72D601396475A26677BC20881</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #541 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>2A609F084900EF430E26F51BEC2EA9468C6CD9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #542 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>238E48F81CC86715013AA57AF09177E4DD3F11</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #543 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>31EC89CF30434527F23735FD39CCD341FE3C4D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #544 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>3B6B9340EB024B1A4B343CF50BD60FE125A81B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #545 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>3DDB71AB22B74D6FD327AB29B653CD61D98547</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #546 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>2B95228A6D41216E2740A551B958E7D7308053</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #547 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>35CDA4E36B0C2D06E0F3083CCB366A296E2F81</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #548 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>3D18065927BEB5DAC99A2A90335F7FA570B3D1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #549 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>222C0EF0C4AE0523363639ABED60CF6A3C3E57</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #550 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>26F85D58DA8C51E2586C852FA1CBF18102D697</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #551 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>3020019F1C3A141982AE86E571C9B30AEC911D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #552 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>33DB8CF712FFC22686476538DC4881B9768DCF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #553 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>2BAE5ABD36910B724BD2FA8069AEF5F355CEA1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #554 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>3803417512C600B5A853B9C984219D77CE09D5</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #555 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>37EB7D4BCF6A8C73F4B40B2E840B2D7E2F921F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #556 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>25AFCBE3BE10E253EAB53F59E2BC4BFC40C81D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #557 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>24C59418D2677116AD809801A5A8F60D57007D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #558 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>2C705426B5316C133F1C7595BB288EE9195417</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #559 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>3CB89087530369F35131636F55A3FD87EF401B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #560 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>382AC0A11ECD508803098209C04F4D8E2BACFB</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #561 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>3DB807FED5C3D9F532160882743C1BF88832DD</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #562 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>3673F6F82BAE81C0672843E10A9D2A9140CA23</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #563 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>3CE84D4B9CF3820E9F181368B2D1A33A61937F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #564 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>32829DD1CFF3886C8E849DAB46762AD65198ED</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #565 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>25D427AE7288CDBC024380651B3E1DBDB02BDF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #566 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>24E81618C65DC9608E59EB28CAF47D43BD111D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #567 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>35EA8B27C4A1371F7F04072B121467FF9BDF4F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #568 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>2FF39E39CCA2FF9EDCAB29F80A63DC4D8EDBAB</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #569 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>360C0B35014CD2FCF1675B6A4A17820591EF83</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #570 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>3D83123606F53EDDD95F235966AE266E595BFF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #571 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>241E6449FDE3AC8D9EF2A8E8475AB792FC877F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #572 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>2756713DD5733D76BB50F49EDD50A227488E19</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #573 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>2D74785207993843213616ADF44EA48E482481</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #574 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>375D61950DC22DF1BAB677EBFEACE3ADEFAFBD</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #575 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>2CEDFA47AC50C2442DEAA2E6101338008D8B0F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #576 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>2B13D2BDC0BA36923490CDE369650DDCB1834B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #577 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>3C642BC66A8C8B8FB3ADDA450F4B24B079E35D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #578 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>3260C8C866F566A96C6B967F7666D9DAC3C801</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #579 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>387B14D6B0F95D8A1B7BEAE833A7B5A7868D73</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #580 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>2EDFD552F42F0A814B2DAAE2C13A57328EBD55</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #581 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>3B16ED7AAE9D9D0852850090C7BF5EC13D5979</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #582 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>2131D943FE1D15752CEB6631F5584DA2B8F7B3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #583 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>2B60638DF6F0F1E85DF39670D70AE5A177AF8B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #584 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>36937B5754C1253D48B8AE6C26575690480BDB</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #585 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>2ECC6F06FCB53D55B738CC9BB20BF37DCB2A47</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #586 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>38956FF2E436922E372D40283B01E9C2AA40E7</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #587 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>3B0931F4AE292291F6BB88302DEBC437B0462B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #588 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>23BCEBE502C843755B09E6C226A697CC23684F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #589 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>352F9CDD1729EBD22A7B9B3ACB9FDC793527AD</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #590 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>36B648FB300E0DCCF3AB56509BC550C8D2A39B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #591 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>2A3CDC9B4C3DBA780322172C60EFA4F0F0C06B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #592 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>36528CA5F4AB08669293F0BD17AC9DB69FBC4F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #593 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>3F860C15F6A0EACB7585213A246453B2220551</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #594 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>276724168B780ABBD397EA64CCC7E9513E1FF5</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #595 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>2A3F78E4786548A7B8B176619EB93E056E2CE5</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #596 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>342A5E8E01DB9240FE852DF7D1940B72E6B6BD</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #597 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>3F5E6DEF823C15E60B7DDFD35A13B648812499</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #598 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>2C0FBB56F1C887A8EC9F6287EFD887EBC8A1D3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #599 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>3B15F5763DAF66E70C7006005F95B21E6F3AA5</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #600 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>3B001E3664C1090E916F4C0E4C06F48F762B9F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #601 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>3BC519947463B656316AE1A241B10FE260B7BF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #602 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>2DECCFF5B1B449737B1838F6505A6D9799B9D1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #603 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>37B82F5F82A1D3AE848C14DD28C6973F808915</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #604 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>C62E97073AB85321C83266A604DC76099800046CCAC41E1133</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #605 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>9DA517CF1D57B445B05E2C7640D63193ACFD52A1D39FCFB34B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #606 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>9B3FB213A7FD232FE6651B4A5D2AACA4331E38B156CE9F57B3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #607 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>A90649AE4E940EB897E79F657C16B2E5F4B34B5278A4173D3F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #608 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>F708F0A95E41937957B9A0AF8C39C2690B97DDD1E1E387C78D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #609 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>BCDBFB789A791AE9D2144B557484789A2303687244915FDD2B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #610 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>F4EC109B198A86F30F0AC914C41F9AEB625008C97E4B2A36AF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #611 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>9597FC36E6A76C5145C4BABD8BF3074DF2267AD9432EC75239</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #612 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>B5B8E9F2E6E79F8F93A048AFFEBC6AD817E5B7B7524351FEC7</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #613 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>F5212EAE3816E69D174CF6B1A5CF7DFCBD8A4924B3510E2C8B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #614 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>D5F56CF0D075BDAEDB9EAADCBD28F6F25A92AD6DE5867FDAEB</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #615 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>84C7F91F22D918BDE6A91282F1D0307471BEC19381BBE9D411</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #616 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>CD9CF62A00B99DBFAD81357549CAC466E9B68701DA79F92A71</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #617 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>8694F0F385598538368FA6D0FC4AECBAAA71E0FE734982456D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #618 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>D2EB4CD91EDFA1CE74467023BAF7B20BB9EA05B17F687B8283</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #619 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>FBA30853FD2AC2B812E55573E928D67A0C758B8CBA7A775AEF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #620 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>9835DC4DAB33F2B1FBA2C60A9F2809C162A7EB93F8715D272F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #621 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>CFA02B080990FB41CF410A221CC0C139A4D7C3607B0D093219</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #622 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>B49D511BD833B86D3177E3E857D76A2495C6EAC2C99C6697BF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #623 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>E341698011AF88594F82A6DDD7800C363B2DECD0F5C97228E3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #624 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>BF5D3A958C96CC5C6AE332A39B896F4AC28C9D335E1DD89A6D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #625 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>A091507DF02CD829D18C335B9F90651B7C0CA5AD5AB5416DEB</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #626 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>DE7A827A20262B89292E628B3F646B97384F4426D6DEC8AE69</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #627 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>CA2C02F518E7AB588AC08DF955019D7198851EF4F8C49BE035</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #628 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>BC4957DABC785D0DB2F248356C811947CEB133CA214009251F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #629 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>807FA3AD9D369F55BD8E9AF8840B622F02AC4303BF6914406B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #630 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>A81DE1BA0AECFE159E35D7BD4FFE69DC4CF9E279A1BEAA086D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #631 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>EC8B02E9FE76B306A2B9B9C1C8C62A6C2667FD571D3CEFF52F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #632 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>E74EE3CFCC55947C6BA0940640648EAFF10AC3A6F99E9EE8BB</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #633 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>9E00BFDCDD24B08B02C37F37F590CB3D6F0195725A042F112F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #634 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>821E6CEE8D8F96EDCD9162308D333FDAF8FA551AA068D741DB</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #635 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>C6FBCC15105D16B38F2D9511120822325C1CB645E6BF33B9FF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #636 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>878C4C90229C4CE6B50E873D4774AAA58AB140E42AF456B86F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #637 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>E2244AA199EF5134257D60EFB4CEA5C08D75B672143C45CE43</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #638 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>ADC65920145041DAC0579D8CE7F8E322DBC5682DF49E4875E1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #639 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>CF5716A81CA2A6D1BB4D10CE830F3AF1527724D3F286611D11</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #640 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>A60F1DF1C4CBB7C792CC077942CDD99ACAFAF1C57914AD8D1B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #641 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>FE32832A8BE42B51CBE62BB2151F91C544DF49D8FF3AB4CADD</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #642 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>932EAA17117FEDEFF84475A34E539991A59E4476323869B249</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #643 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>AF3B57102BE165AAA5A2813231C24EA53A6ADB902606976477</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #644 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>8EADAAC19F5DDB945A8798399D75BEA48C323AB10084C56117</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #645 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>F80CEC6F7D6F2776B5A5A5AE04CA2528C1B479B183D8439827</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #646 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>AABD2865D0354CB12816199B6B4D92ED185CAE0FEFCB8A56D9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #647 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>C2BEA2FCD29244FB7E2E804AEEA270B0D2238B4E12A993EB33</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #648 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>BB5329B2A5CDEA6E58C0EEDD2446519E8B1C6FD54C2FEE16C3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #649 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>C8E874B59406BB37B17935B676E14EE31CC1E8E2FD2E5DDEA7</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #650 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>F78F2E99C04A207E75073AF6A07434604BF6EC89A08407072B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #651 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>A153702FCFF8192439FC67FFCE6F634BEA4E2AFDC1431308A5</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #652 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>F0BE1881C0F2EDF657DF626D5189A7C6FD02ADD038D122E18B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #653 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>81985A49FB342EB39FF804EA9DB476BBC13AB28703F10F8809</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #654 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>C1F0C10D736C6FEB1B6B033B1ED8988DFB60C4BC0CA9968745</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #655 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>DA656F7361F741879B68E7452174B80EA1D496535B276ACF89</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #656 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>BB021F3B9075F4802B07489B5EF733A67402745A0EE13DE44F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #657 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>8A92A41BD4213D8F1DC1AEDEB15F9023F2D192779857781611</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #658 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>A0B9082077C8F4C2A66D6976320EA9C1BAB9F652A3EAF31085</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #659 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>CF398221182DC0EF9E20C32443F5C61E769D5F051311AE91A5</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #660 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>96A63914D170799637992F19B01A1569334D5B31BF19FBBE99</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #661 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>9CF63B3D40CE8D002F019BA25FB0F521E28920FF5FB0F6AD5B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #662 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>9B26765E71D74C03C0659D942B1C471701D9AD5983DCBA08FB</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #663 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>A2EA88348C9EC711E1B6340885E3D1A3CC3B479637317F2809</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #664 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>E24D2F217F4CB41DBA4AEF0410A46DB4B7277910876DC0DF27</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #665 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>EE59213C914DDDC4726ABB63812EC24233F6A0E4B82BE295FF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #666 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>DCC2FB4F1D44B819DB0A8AECF692CA4D1B818BC8DB3F414963</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #667 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>C09E3F3939EACF4C262767997357456C40E8171B0CB7893D2F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #668 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>DE4E971F5B36F8C96E3706C808084D0CCDDE42F3960350E151</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #669 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>8F55FE860072A7E6C7D80BEABC0CDADBDFDA40BC77E154846B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #670 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>9AF8F61E480FEA36C81446DF8E168B9FB8E379DFA13106AC43</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #671 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>C13FE68033B7BC57BA7C249BC8288D3219CE96964D941A748B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #672 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>9C193C108CEED26C5D945C4EB5F778EBE7F9E4F31D01BC3139</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #673 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>9CEA7F5947171DDF471BFC3D99664B91A9B703D076ED4DFF55</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #674 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>AE4A7A15D35F0B8B7CF2C60CAFD4DE265163D32910ECF1D8C3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #675 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>EEA693DF43FF8AFCF828AF0811AB1775C63B2EA42926BCC39D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #676 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>FD574E1F31D95D4B70873FAD88AC765CF2BBFE8BE78567A919</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #677 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>A48FA2212C0EED8EACA9595985D7DC808296EC229BD46178D7</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #678 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>ADD683B6C558B4022A298225AD79A80F534D78AB18C4907FF7</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #679 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>CB532585ADE4385F5BC408269A126DD48B4ED9682FDF9D7841</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #680 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>9D2F9A3FF34CA7CE7FCE43397324B489CB440E78E8EF476EB3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #681 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>8F8CE6B75E70AD5792FA908FFE51C7926A2EA58BBB946EBE39</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #682 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>C6B93A89CCF3A3290BB38078FEC3439948855A404AF3B2715B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #683 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>C4190FE766D3E48A6593D32CE7C171E7EF55DDAD52C780E041</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #684 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>9BB6ADBEE3A9C94DB76168C2381A924106BCFF512AC0BA6CCD</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #685 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>8CFF1479DDA884A24E0506CCF07B3772BFE30256441DE42A09</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #686 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>D28252BF261FD06FC25B780D6FCF6FCD271F719660F281DC99</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #687 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>CDEFAE9B81A96E31DE7A508E8C6F2FA97059D8CF5D078B50D5</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #688 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>93AFA5EB8A73D97BE5D22F0AC2687D068A29789ED8CE66FED9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #689 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>BD95D4A6F97DE81FFFEEAE5FA3BF0CF6B904D1F30B282C8BFF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #690 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>B90F7CD5E8FE39223F02E04F536B1E14781B2563AB235C45B9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #691 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>A608F0618E289EC858E38165F98234F4CADB0C95D15BC9F1C7</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #692 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>F2CBBD3545829D016DEF40CC50A0486F391766D69962B6CB67</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #693 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>C42E7DFE1B90169A4A131DAB4DEAEA94464F3D748EA9E46251</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #694 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>C172218B482F5E66982A0A4283F6A26795AEFB32C1A0659733</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #695 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>DC9F6AE82E1957F7126743AA9940F6CA8CE25C1C4180000ED3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #696 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>A222E4A8E9BED3EF5F16096AC7C2508BC4CFE43EE771F1C8A5</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #697 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>AEB3A64B4422718D54A6D5C3F166928577BF8CA44F43AF0565</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #698 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>CFCB9E301B34D3564A40AF3CAA8B28502F0FE685B12E39C737</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #699 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>C36496F6EE3CBA64011C2CBA1A232DFC50472AAE5B43898F31</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #700 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>E258C6567683154C4D02DFD5A240694A7AC724060DF2F70AEB</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #701 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>A96653DF3C7BD8397D3FFAD327E07625BCAF316C2153FE7BD5</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #702 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>C870FD81FEB1BEE957EC4D95C0E925067934F1C715881E7A87</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #703 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>CEF80E3CE8C13C43107386713661ABE5D68BC0C22E871D9947</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #704 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B58B2F26651D06549028BA5F306F68B04A889D51403A8CDE0606FC275D1FD48148516DF34C7E8A8B09B1C4D4367AFA3BEDAFE74B7CCAC612DB45DE054B263</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #705 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A2FF423EA647F1DDFC14294B16793EF16224F3B1A533BA23DACA9E588E5036700B996054BD05BD7514CF932B804C43E36921EDFBF0D4DFD5C82299AA2DFD1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #706 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0FB036AAE991B0FF184CB0487A2CB6544E5208741409F6E5A28FAD89D961B1A66CB50D0851FBB844EBE0B81B9D285F3FD5BC4AE87E77CCC4BAE8A8901A7847</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #707 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0864BFD4389FADD5FD4B817D5560F503DB2D84B2187ADEA694AFE8180DFB9B32FFC6ABCC6A5776F5A6EBC00FE9181EAF531B24895A2967181F3EFE426B6485</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #708 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>096185D0626A781129E00AD030954C221B5C61C9424AFD70586DF0837EA9D8E42E96C5F77234B91F5387F8E9740419BBEF8F6AA823765BB6F1E6E2DDE24C5F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #709 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D95C8D6E3445629A5D0E305F5DBD4C29F46C78D56F82611FA6E8CC40F729224658E9B16FF02258E1EC0104B90366762F8D64987E11BEBEA55EE9D717A763F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #710 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B1300B1BE5DCD0532EA5AD91E262B24EC668A1AA05D762B9F9EAF39DC1A52B1470064A895492DBCE5E2A5C18B6E7A6A7C55D1F75509F9140E1FAC2AE2E5E1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #711 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0C15610E2BC189215CF47284F6D68752F03B017E7EA0EFF4C120CDACA029AB144B4A250B90D44CD96A13FC647A384FBDFE88B44D68CC9F3FE18FF0A282A17F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #712 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0F9C3932860C74FDA92E39701F879D05A1A92F4BCC4AA1CB38DAA3841B102C16B408CD19D8E02949D932E6937FB6BA1BC309B667A206AA3F6683616C9BA837</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #713 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0C236401A7B9D017701BA78B2E2716161652C0C121FD0D8E887CA3FD69DBC407D6908E09AA64C0F83C0B68E9CC14F18E1C6876A7548615B69AE1F46BAFCB27</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #714 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0FCB27FCBF2773D67A986BEC310D2EDC1E7E19B9AF916F6C81716E850C703E54C290CA43FC7E9ECFAE7CC8E44376D433BDA0247106101B2A8015ABD50FE055</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #715 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>09468F089909785E87F053313DD9B190E097B4ED0C702C849352DB26F2847B5AF6859EC0C275A99C4C6E813103B8D115291B620D78282F0F4B13888B3AB90D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #716 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0F5CFAF6640B63C839935FB7C04C7908849C1F7029E49BA725815303EF6A41FA4A4B1A81BBB8418011A84B5A12BF8D0514711A907D154324367B887C1ED0B9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #717 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0878217F5A09972A76B7F587BF003B658024914676A548F43A55B849E74DAB86A5CBF23106D8B2E1A63018F37857113CB25F2589281E6755DCF0DE1B44E839</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #718 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0EC8D97856E2EC3164CAA4C5105B566DE86C7C22AC1CC96A056A031E1B9BF85E4C83BA9DFC3C286A9B0FC2F0728CE805B3FBC43DC5F036B8767B55D2AFF1C1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #719 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0FDFDBA29E6103E1602F46683B0E9847D7818323678902590D74C6796FD0D18D2FE6177D950A8AC6DB72A6378A5253C366A1D8C581BCE38006194537254C43</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #720 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B2C2C3CC5136A65CDC59DA512E7A7EDE6A9E4D735FF2A5D064934F74602CC89C354CE980644471B0DE7250C51FF16615718ED39D504A4BD547E64ED77185F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #721 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0EA43D1761F38430F921D0E06CF4A4394A86ED13740A69F1E76C9D09A59D31D22EE5FD4E733D5CCC622BFA2F584A7E737EA5E254770AF7A1DF393DC1B4750F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #722 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0BBBA136508CB594744F388BED4ED6AD45F1FF53ED08A2ED2F1AF77A080A3D558DE0C7B5998E95D799943947F219C4EFA5D7F10BC06E446AF996987E61CD91</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #723 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>09AEC0647F4639DE268AC0466DC0B7B3E10350A97DDD7580BA80B811C559AF51A148C2595231D3D4FA69EB42294D9754D451648F50EED0AAF52077EE55654F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #724 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0F314AD625F66D9E269DEF5C39CE17024B1437391C3B1FE8EC42C937CFEB3945A4F73458606C820970026E69291185FE4DAE0C394101664C49A0A2A5779805</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #725 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>08DBFC4F9F03BE1897C1A49E3A2D8E488E4922B8D2FE1EC03E4EA0C5661C166AE08C6D25C85E1C788575D8B7841DD18C867F2CCA463F1DF76FC1C474664A5D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #726 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0F69A7DCC07E8B4477D1F1F399E3CAFF62AEFE4252C1D25BBE3A490857BE4641A3554A58D4AE4CDF2947487218E3D60D820EACF141AB1FFEFDCB5F98FE62D5</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #727 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0CC70C836FA1B778DEF54720DA4766D9E6E26524B3CE9FA05A6CEA64537F213A83FB9CA9C8D5CB82ED1661D10CF13D44D98BE3678B5DB37FFA986355516695</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #728 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>086A4876413A6E689D81BA446FD7FA394B35993E5F263DE45B0363AB211C485E907F6B4DC9B4E6FB6999C48C99337A1A6D0F150F5222195BA4A3C4E7B2B217</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #729 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0868610A67D762D5D5ED82A02E94D61862FDE59C7956B3B6A679BFCA4D20CE7A5A64647F6F2B11A21F0AAC9CBB85BCE3572F13EF9A1DE2E33AB705BBA2CAA7</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #730 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0DEC3938DA8D69ECAEEDDEAF1C9B310FF477CC0DACEEDB1D2E39C5570FAD602F15D781DD99EDE0BB34022E379CCC7D472B67E8412669BDB835F881CD4EF6ED</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #731 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0DDB6FCA1FC64B2FF0E5EA0BA2FC63DD4DCB3D4690A1E4FDCA6ECCA7472523E519389B25353A552459F84979B3F16A21450AD2D2D3395962053C724DDFEF59</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #732 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>08E620D3113DFCBAACB4432162B2445493B60BCA59BA4770D108DA68F34A489B1A9D34C0E81B149F9D64761C828EAD84869409F1ED7D47B7A0C6ABCE86A177</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #733 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A306CD6E8F0C89E8A4CD9D87FEA3646F4FFB85BD9C54AD1B2A6411B95864AB130EA0D337BDF25431B5BD8F859D4AD4A40BE6FDE2730FA775DE5F261FC504F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #734 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0DD32D351C945ED46ED11159170B2681E9DFEE0752FAA5307A9CE7E0C44FC61E0C2AB00C51F544D5BE01F5F90B465DA3D3179B51A3749CB34BEAD3C69A18F3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #735 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>08B3E56F816846037E21C02D54D0A4A5311A5D83610A2F176F4904B85632C7D06850CA4C383E7C7119B1F83B3C5A9ABE8863BCBC4F42889C273BCDC778A139</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #736 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>09497162B0962596229FA701D982F20337379DAEFB84EAB915957EA659404ADEBA68A8DF94FDE27A7DD76B49A915E5D4BB25DCC38F02500BDE86786EF99AB3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #737 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>08BCCE17413C26F84CE7431A796AD94B27866B7F87E8DDD8EFA96175783112B0246B1368C6F58A0F33114D40CB6295837E2CC7A867F3F05CE2E869AF938D69</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #738 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>092D130E2464F342D96FD42AC55D2B80B58136EBD31747A69C4BC1A3D376FE1570B2001999237BF955A479467EB74324C389DD0E4157230287559283B493A1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #739 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>09752024EBBD82EACABE563770FA17C217C83DB63186427B10BB1AB25448677C47E302D035477B936EE448F263B27FD66BEBA37729A1C56DA2C22E4C9F7725</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #740 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0E1D6663A36A5176934B22E72D3FD9FC14B353B8F8939366DE14792DCEEA02F7992E44CB16F0E0D389F6E541C2A9967780AC1CD2C53F1806EAC5C1EBF897F3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #741 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>09AFBFE1A7761F41109DCCAFCD289713E7C23FBC103B39CB42B94D566BB2D3CE0E383420AE631C53D77BB1B6614AEF79DAD7575E533CF5CB0E5984F5008BFD</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #742 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0E1037E63C41A8A4FFB5209B420A0E0341D879CEE3B8E52C9BD7CA4668BA5075C8ACFC023975C1F7765BE0B0916EA1F7C6897B5CE70F603EBDF7940DE6C35F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #743 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0FE746B3D9667E47FD761CB4A8E57897438C953E10C7AFC1D2EE63A664F3BF08A8B554DED0BF990EB1C83B4F1FD75EB1982E8EC4CE26EEC849C75D6D7FF1E1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #744 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0922A014F0CC682F311EEBA32FF58C0E52620150A7CF05D76BE6F793E348B93E77B0724993C928744A3157F1C7DF67775D9C761ED190C4B4B48EEC2C04131F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #745 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>08A564A8837076BFC23E5818D7FEBAC8F7BAE5A0CF1AABEC6CA8D3627D84606DC3057D8240B434FE27E40E720ACE184EDEA3394D5EF39021FFEDA8DA50011D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #746 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0979E494F0B273B03639D52E220E980EC606D6E682DF22E662D3B48EE9762445FFA7109133EEF6B2684C9B46780B8E4094DCFB47378AA1731B91D3156835ED</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #747 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A58E51B43BB134F99CDDBD6D3A84D8AC0949FB6C05D323E3A3FA314DC0FA753D021F38B115EDC14094A1A379EAA57BB9AB25CEF39338CB0EBCAF947296F45</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #748 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0E163FC36CB8A65435E723FDD79A279E55A6D4EC1A7F7DCAF57303B3F904371733B9A38401F5AB8494AEE95A53C1AD0E59DE395E91C4C755B39FB733E82753</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #749 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>086D1062621D3C8A3C067985E43F1CF94615527B1CA5868D404F2FD9C4C0CAF53C3905AC3B91A02A271E8E6BA7281E5378286CCA95942FF8EB454B6254156B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #750 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>08D2773675F853A6D2859A615FC34299CF4877E090E731F3E543737D4AD4166A8BDBBFEA5A8B3481B2461F9B30AD97D5FEEF6E9193A6F788DD087923858719</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #751 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0EBDEAFB6990DA4A93FA4184619A6B9AD7ADE79BF754B67E2AC2EBE01B18DE7A3E3CC3F2D7CC88E89D208E4D745911DA48795A31423B82B2F1F5EC18D5A949</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #752 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B80398E32059EC94B8045CB1E54F59256431BC4517169F91E1C6E089A20210C31A8BAD8AA893D9F05EEDEE6CDD889C7FDFF8D629512BCC3A2DB875185AD91</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #753 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A70618889D62E938EE0468445C08AEF675D63F0945025E8EC2A2658365E6553A23A149FA701D1BC041E251E4C86F8A27119039F56671F6EC9D7012BE02F69</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #754 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0CD9E48764C591B50E62BC0F94F10B1CC84A062A7697C86D1C257296671E6A80B72929E2C8722974EAE4CA4327E439D3C5890CCB822628050C4EDE54B1435F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #755 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0ECD7941599E16DBA3C8AD7D0F982A25E97AB357E23C090413B911C453618C32E11E8D3AB999FED50C7329C621F426C83DC270435C16A34AEDB7B226D515B3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #756 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0F367C76ABFFAF03007DDA7C4AAE6D2194FC5DFBB4C22BED1E30582E4A4846703CC777B1D1142C61AF973D7FFE25D5DB1997ABB65A55D9A30CAA23BF8F0BD3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #757 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B495A29516BC41670BC9FABF98CD75FF119E70DED5C2895D4E035EDC350D9E665F1A112437C6DC0DB0BD6972E818E088C087A0B3295AB5D7EF0388FE449C1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #758 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0E05AF1BD3850C740C205EE51CE8E643DEFD0EC02F17F5333AB6CC08212E61D855D61BC83DFFDBE8FE59FC651BF2A892859BB7505206182DB7FD6AE967A425</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #759 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A9FFF6F3A812B051F32198BD16E42B998025455C36A93BF4D859E23B32F10F69C69ED2864873EFCACFA2BF55086BEFC516B78A9241EAF5E62BADB08F8D197</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #760 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D7D463511987FCFCA17FE315377991312361A7B220B6B07D941CDD59B3AE6FA868736B3E688D7123B65F1BCB50EF4143165DE33B0B632784294AB8BCD8871</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #761 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0F93E1957824C0962AE505780F3C515C824EBB0244B8A6BCB78F2B99F51A66B14C9C655B54C56C1C3397FE0C32BAEA35477E66A4DABD69EF5E9FE4917C9C7F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #762 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D537D2D08D6DE0E7285F9C1134A8D95F0E1BA312BD74755052D7EFF435ABAB18CEE9BF2E10D7BA108DCE248B7763313FAA43B2275FF655BD73BF974028291</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #763 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0C15E58A55400BC3F9006F1DA4C44C51295E020610A62D2C7CCC2BD9E4D38EA6B514998801BF534A2C5A055554C3FA1495E72195BEA5ED06FD8457667666F1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #764 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>082C8AD8B88298A2F0CE013B257D080BE5CA0C9F57FAF074572B0AB7D3A1B31FF4FB3D164CD0C0BFE58BD9A7812CE21C4576256C386FBB24FCFA0A202BB7EB</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #765 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>09BCE0B4B5D3313BCE60CC16048F3436B7DCFC80F610213B7D0BFFB21E50BE61EDDEFA7F0BD59E4F7C52A64F8C6C748D42ED6E51B188167E6D53C16F887753</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #766 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0FA9D93C10733CCFEBB398A4E286202517678C89AE64E48EAB208A243F74F2B58B199FAAC8D87FB946EEFEAD7C0E79B733A775D4DB79FA327A0F6FD467C7DD</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #767 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0E5BDEF5C361DCDD45ABC26104E2C59F32B57832945998BF079E4D16E711F5C943FEC5EA62E457203453889C3C83AA1CCC8609ADD3999DAB5B3F18216A7165</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #768 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D76A80F2CF72E073035F31151FA38184D5CC8112BD4A417B9D23ED2F54873E311754407151B29B08ADF54C55FA19B853F28FA6FA4C325EC546B0756D1D5D7</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #769 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>08A9354FBD3F5B9BC7C6201E0A5AC523350235DC100EDD8C91A9382DC63BCF41E65401A218ABF2DE76F48E3EB6754D86BA94B8C1DD520436240943952B6FD3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #770 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0F8DC8FC8C3343F9304187348C8F8EEE72BC2C1DAEFD393C72946538B6C2DD605D65EE695A9C51145CCBFAFE472D92210577EAECF0AE92152BF0EDFBBFED1F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #771 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D21427FD1AB3C27823C7DC521F1E346219F1DD22082035AE9182AD8A3CDF0F1B1CDF42BA0D240D68C998FC82C25A52445A34DBFA9476BA926783C3CFAEE77</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #772 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A1C4CFB607E14134F46E1E691BAECBFE0F991020AEB75CBF2D457DA9DB7F8D73851C28F4A378F477502BBAC09481D3E2DA4792B18B44158ECA1DD1D31C065</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #773 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D7B54CA2E97EABF988C0F6B58A44E8BDE1DF2558D1F8961217CA7AA7D3C44AD730ADB182ED2894AAD59B494D2D6B035818D93EF77EC18099F4F01BF3A1983</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #774 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B27A7BD305B3EE16D78466B1BC21134B6595C166437517C9D573126B23DED533E1B5D64FCA8DC5A3D4BB239A93B6756381F03EA0FA505FC9D71D1C4824293</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #775 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D83FD3E970E596C2DE34FA5B307EE8B4A10B98AA5F98CD6D2E522136DD9A856D7A4A426DAC1FAD7A1CFF16D4A5C237B65CEA7D35108F4F9CAFA0517ECD6F5</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #776 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B8FC0A047B2B86B7DB78AF0F3CF163D2DD7469BBB0E911C233E898D8F313237DF8DC7477A0269E48B32ADA3F9D2698E61C15F96CF41651274581FAD5C7FAD</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #777 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A1FCD526FCE34FEC68BA0C7F3D9525C28D6617DCEAFE391FB332B1B40761618174A67B0D102D57963F117070B9529A8FF13B4AA5EAFEF2EF262D911A40323</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #778 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>09EE15A54C902A88CC1CCB060C87BC59465DC07482E604917D2A0D1CBE0426783C7C8BF688D10EBE7DB070B6CFDC757A3BBF416FAFEA4D3212504BA8FBC255</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #779 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>09392BC6EF87AB0BFB585508D24D35F30D00CB032C671B3051E311F67F393B6EA50C3A1C7446EE123FB7DF5B0041582967E80D4969D1C9F5BFFE129AD5E697</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #780 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0878613D8C6537233E715B4AD9CB1BB55129FBB57894DF4880B615018A511DEE64CEEE126B824CD2F8B2E026D4F1C60B11E3855081325CDE6B9635EC486C71</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #781 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>09344800EB2CAD1678B6400FEBB57356B2F4F85125DEDCC81EE85F310349B51C53A93253A55077907AF3A9B5123BBDD32FDCA188E115B4CF32DB52182D3EAD</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #782 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0FE30A115D0DD1ADD71868496F372DE2272B20B5999D4CD7EB83FDFDFACADF8F1AC946BAA16ECF62B259DBB9288E6100AE77F7F581670F71428AC1117B7003</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #783 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B3C1C8B437FC28198AC220035D35F01EA6DF5AC17A9201072ABA52856D98C803FA843E98EFA8E4623456E3280D8D2E6494E32C277B317134A436B437911D1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #784 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>09D55AD7B6C49F93F1A599CDAF93CF1FE338A84A81B9C3BDCFEC83A2D65774020E2E2D5AFF2E41D4411CC36C02DE3BDCB4422DC2647D40ED310407B5FDA7CD</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #785 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0AF5A03D9EEAD188E2E53E266C50BE721473AF79F49D95672F6A3E815CF76FB50F0297F0F11E8E6918F8465945AE818655BCEAE852832D7425275B01246ED9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #786 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0CD0C801CDC9F9D2666CFC2D43AA2B951DAE86C70848910A61ECCFD9E62A2A4CC6E2CBDFDB8F2D8A39905E431DD39DE0A305B9465927968F59D0A1AD4F953F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #787 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0C6FC8A7042CC5072CAA51E582BD0C9AF29CCEF3A3C90777983A5A442717712A8F428D0ABD65CCDF30ABA2960BA783B01759D672C45944BDECD54A5889A361</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #788 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0FA71A675632EC4092DEB3F2821F3A38378E9CC93C7997D638373DE1285400D5A2D25606A24EFBCECD14D41DF671222B2B1C9603C100823F32797F56A23587</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #789 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0FCDBDD51DC862207410B78236B41ABAF4E9401BFB17FC2CB0CF2BCE1FB02D7C3CA1E74B199A86142AED7BD283093625F0B6F7F2606177CCFDCD849AF2E401</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #790 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A81A86864A10538A8F5F160495C6A73B331CAB2F942EFA3B22C94BD6B2BB9404D0F098EF88B1DEE4B076C32F0680301B3BF19C64397FF3E4EABE47A0DCAC1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #791 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0CF217FFDA46F00D5F293AD0CB08A8D3423995219184235CA160F931B1F943AA1499E4861802D6815A8474E1646E57BF5CD502ABE1D7F1CDF531C57289D989</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #792 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0FE336EB3E3019AFD4BCA6BA29D980566C030ADE00F9A2C422C66196A2BB5831F248A2824185B2BFDC2CA2861C07A6EB67AB619438E9278DFA2BBE618EFA3B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #793 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>09379FF57210A7CAE1B74E23AF00BD7ADC098FDD9F2B1723EC7AB2A7EE6E85F148DD538DDAFEC645666858FF93D4C9DF87A0B1355DA0AF4907181F6AC628E1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #794 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0C8FCA8A528DB89353FD6C63EB787621555236F543F6DE9D37C18941DBDF33EEF93A9F3B5A753A3BC7CF405F0EDAD5B85D495E650A47FF42EBB81717349827</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #795 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>093696DC98FFAD502F7E8CF02032F3D9760AAD6BA424D4F35246C89F174B7C26564F71BF97EBCD4AFAB11425D6AE9A7478FAC53048ECAC3813B676EA572701</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #796 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0915537A783768899074D2A8C05C448CE0B9AE341BFD2ADC9C637C62E2037554487815B3352978C2DF0933D4D3116CE013E5C3931CE99DEE04725D5C6EB3FF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #797 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0CA5F3C722C7B006951C9CD589C99BD37EFD9CDEBC5D9AC3477F39C2A4182B00AAC43A0D79AD406D1520510F54E88970A17BB90DFFDB9B60B527AB70CB1CA7</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #798 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0F62D50FDE3EF31518A6FEE0E560D9799D58F38B667D3D8F316CFEE90DADD93ECD29B19DA468798FEA2A28EB3C31F21BC26E33B8D428AD151D4F1C57B0A745</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #799 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>09BE697DAC5815D1D09026750D168A690A88812239BEC1133213220E875D01489B1B837317705B9656CAF1C3A14037058746057E033117FA275718DB2558DD</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #800 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>08BC68DD8CDDE87509160E05EFEEF2BD27CE45D7774AA41AAC61950AED0597DD0BED7AE305904536197DAC0AAE62BC484E4927354495760222B38B096A7BDD</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #801 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>08BAF8A885D29D33C2A1C9810EC2A5C999669542397A4F2ADA4941D11C4BE4BA58496D5152FA67B5DF625457873F60F407BE9D1406CE7C76B9E2A0C90A2823</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #802 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0F44939CF54CF8020776DA95A9C18E181E9BBD14168E68116FC2A23475B838191E6A720391CED503CCF972169F05E838B7981D132438535E809DCC5AA28589</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #803 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0F98292A44844D2D658E9667E184C334D0249AF2E36C1A1EDF371C264CE7E19F3B8B5FDC44FF56489D1B115A97ACBEF62E6F19F1ACF9E622C0B62AFF3CCEAF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #804 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>8FA0FE5C9A7BD8351056BC75DF86DE617DEA02E1840CAAC87084ADE22A9B65BCC0048CAD014D6C13188ADE1895D2A6781C4AF22D9D8724B27F87E1BFD8F27D49315E00895F5F063D8F063625132DBDE7415B3369B6AE5ED08D9DF6FBBF820A8D8919A530064B1A7C9CD0F7FECE4144797305E4A31B5ED1C02D78A70E3F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #805 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>D706AA88BBFAB7916790B48A88F5494176903C2FB0033E56A8E62DBEE4AE7395A22B360B0185B679D5168B7695BE7F06ED50D1ABC77C0F4A32A693E34251C16C25E03028CA2FABC95B505767A3524ED8282627C0DE897346E38461C4E3AC7BDC81B4BD2A23339CA16AE6E2E024FCC58242E07390B4C829513A83A3620B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #806 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>FC16441FC352D0FC2D41BC80780C5A49847B3C8B517E8FEF26CD81BBD76158FE76179EE92E423421B419BFD9D50D208E3A44FDB72441F321D64BCE7DA4E323A6BFF799A7B783D44C1ED85EE9E09A578ACC638D3954309A62BE87CAE7677CC6682C4DFA33891D53E463E41490623E883F260BE066F58279EAAFC34E3AB7</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #807 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>A720FEC20FB6518AABED0EDBCD0221E2A5AEF3B5B729D879EEBD0BD35F577B42D15B0BD6AC39F355BE1FD55242E0DD9173CFEA1ACD36A733FE368F79B87EBAC7090F5977DC4B6772FF96B0771D85297175D4157E0D1B9EDA3225DCDE8D730DAB3B83DDE26B97B7352554A57FAAA9BD03304550C833D61210B99BE53D89</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #808 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>9A4E1EA85C063BA17DC02CCB82F17C537291C79DB60F5C79D5A24616D415773F5D3BE3D40B754D17ADCF0A432C17447C6722C1D61863D348100AC9A493F63B3971F98544CD5798CB0859607EEF3B98023C4AF20DFA093E85090CCA683D61549D498597B3E8BE1BA02561864A89AD9AE9BA15CC9798A56CAAC29F4CE1D7</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #809 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>A139CBCAA6C325842507755069043ED17818BA3694568385505D03E448D72F363DE0C36BA9B717E213975E3FC94872253C51B66A0AF18D59B736D024DF9B2ABF4D400E7177CF21295F433B7DE074391B14FAFDB9241FC773B8F42390EE37455FC81490D033AAD4646C67CFD303F57CB5D983807E41C0B081C050CDAAB3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #810 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>BE372C8BCCA41348622D1A8C1A8A5F65F82F4FE4B2086F802CBB72774946D6D362EB466163AC856D4CB6A11BD31986257934A673812159DABFC5AC3C5A6D64B3EF0DE581825013B5CB9F3F5F91FB6A36FA7758BC9CF63D49468AA6E9AE76A810D9C4AEF4180A41FDD656BCB8DB480F6F6C193F784D2C23AA4F45D2F2EB</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #811 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>8C55000A044FF5DCB0CE15A3ECE412E14034F6F1FBAEEA4D4BA25C354BDB27E46AFA41AD04EE7C076DB3DEF058E76C121279057F6170A67B6A47F08275BC645B5F5C581708406243A27907B2337A0E1BF17E95B4AA83B96F3444C58EBB6234983D3318BF7E22D43844A489527565E433565E6A32A3E056C623AB1FAC07</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #812 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>E153615BFAE5698C0BAD1002C909477F6BDCEB485291753757A1D06ED445F4E9D03B841175C779AD0DBD73B792233C27ED20721282C6C44E4EBF81C17C581CCAE04FB46C98AD83E377A6CFAC8CC6D747B8114B0E13770D9934D3EF3B6DFDE171FE99471C6A2DDC2CDDEC1DA1C120CE48F5FF5132E01CA507B36786DBF1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #813 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>AEFCC40468D380C5C1AA3AC8C193831DCB95451EAA921BCD525B46A0061FE2CA8681E934C7605ACED78FC38739A2D50E4B5E85950FBBE5DE3C50766E2DC3A58F216E2806D67D4555F77CCAF653BCDC16C9E1AA4995DCAE76D842BCBB9DA1F77D3686168F18ADB05EC89822A4A842060A23AE76A95E937D6E833DD0D27F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #814 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>9613F0A2B3F12385194BCCEC937BD43B5584FDC1B1A3BC0BF943479C265182F358F88F5AC048763EE18BABAD9FB04A295DF985780E5BFBC918A670F96EDFC9F4D1F761F63E3234FD239B829B57A2A46AAEB09F0A45F0B66BAB3979EB2F957A8B7A3C48BC0C357A96F3952DF832FE81F79E16D6E848B8EA08758CAA7D4F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #815 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>C7316B6767A7EE062CBCC405FF5338E1E5E10892FC8889BCDF75704F93D3013D594A6C82D1CE92EED458F4784C0F5FE94A91003908530C4761CF7E26E5F5848E62752617D37BC51FD697F31E8B6B0781E6AB4F28827457C98BEF1C620F760DFE9E41304F1E579781AD0DDA683C1EDE43B18C965946E48E58936779D6F7</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #816 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>FA295C7B5FC84E183122D19CF3D870F1640CEC3D6EBD65DEAD6BFF1726D9F4F3038317B337FDD314DA56F8EE682A045182275FC619EB79B2538D4D9CB88AF2E87D15006BCA162C21E37FEFDEBCEEA9DC110946BBAE6A9460A6769DEC9D65BC02A958EADDD788553E4990EB5F73D169C0E3703F0FA38740F2291F92DA15</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #817 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>9901D8D2730C96871725D5FAB25165F176F1287E941D1BAA28B4EE2018BD7E15B1EEC958B5BDEF9CEF5531E256A3CBD9E0BB0328D51345C996EE37A23000AE1E1BCC577ABE99201A75F0B50808B44E01DECB10B4CC192AD22CD0FD8A0FB575EAFC87EAFB31BDD375431B66CDDA7E300AA180F5B298F634774AA2D9213F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #818 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>C773C161E2BBFD43CADBE13AF78A984C534868692411AD8C40DBDA7C159871958AABFDC1EEEEEC512FDC74C1AEE24E2F2BD69F7FFE545C602C765DB5706D2C0019B631804FC973854F5889EB1C8B33E23A5D8AEEC770AE67FC467BE65CD8355E9F59B4ECED382A73AFA3E7E04F4AABC4DEDEC8718424BB9C1C13EF4555</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #819 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>C8A8A8F6743F91D301F10C5E15C36F4B4311E4677AEC00BC1F66BCF415D4D4A9E68BE26B3D3C0F158E6EA879F3E0D4F00FCB3C181DC95CA341C84A2B22BF304CBA1F49C412FC6EB42ECAAB72A388CE20B790490C236B87075730D6B40EED989BE59BF4E297D39795D483BBDFC7E3F4D1C19D7B2F5771BE63C9800A1223</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #820 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>D1780EEDEE83ACEC9DF37A0614F131C1A886DA926157A0CF15F2304DC09570DB60AF7A58461D5A9B981691FD9EC5194868EC14228FF66569B8DFA5BDCAA4FD56E2386FFE6BAFA7C788D9AEB9838090ED797083E454872822BDCD8E89032569386F5F8AFE0CB204A765B9E217FDB8C9014549A5B62AB8CB832BD93CC585</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #821 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>82C0ACD15E14E4AFF91625CF1BC979E6BCB04BE3DAE7FC36DEEE3F7FF30C4CF805CBBC882D843C07AB17D986F13D725DF34E1F621190FBD3C423084C892E037823B8BD2C0E6B17DF742F9C683434253B9EB9BF10FFE0AAA885F70609899D49C5668A43BA9B32DA2B754987028C8E735A544A73B868DFD5AEAA8D022B2B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #822 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>850EA4C1BF8A3527E6B579754D9771887C6A291A56B2FB59248057B9B76E8C411F4E13A5DBF96AEA9CF5DA597B27B9DC413650F36E8CA644A97CD5FF2E484340D7810401E1EAFF4592520AD4E12194ABA1925C40F9C079EE71FE3D8E1CDBDBEAE5FA8873FF80828CE5B4E3A957C7CAD5F2961ECD68E33D323C75030F1F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #823 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>ECE3D89E2E4D0CE5CAD9C832F211143C66C91C5C15579DD571677F529BA7F3F8003BC3B109768498EC961234E307B17D4E69621ECF5BA33E2B153517C823DE65421CB1F54504FDEAE66F4DF31B679C61B9BB48AF6ACE837DBB995B8184774A9CF8DFE4D4A2C055F17A7D37D978718466DD87CB6A5DFACE602FD95A1CBF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #824 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>AEE9BC4AAD649ECBFBA5E8CC9C6145D8D6D20ED593992871BD30FC5A1349C397D194E55B730EE0ED4712036A28629F4866E0165960B97CB90DAD53819E7FACC82933F6A31F5C4C8FFE6DBA0C0300112667B2567D5731AC2B6BD22F497498EBB407E8F68102A7657D2A12D5244F3C9E1DD3593FD64B03BADCA0EE22101D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #825 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>EABDF9C59971BA14126D3A1D7273C52EBC6D22741E6949754767EFD8F89AE28E79B1676D94B028F2D0D34E7EBBD0C415BD3F5FA8425EE2479A3154E317FDA0A8BD707D06818E42EC6A1A5844E90D4C9C74DC9D99A0A0C9A1EC1F3AE77F88C470B0E9B728DF1D43B7B5D4B5F804AE121B07EBBD5445931582B0247134A9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #826 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>C8BB62C45B178BB6E0A25375134E4FB6A3B925AA410162459508FD9546175BBFBC50AD37C44E565ED08EE66D04E5DEEF9287D03268024683FFD15DCBB07D274797918CC0041AD96C8B408A2D6FBC88F2457397422F793E0627156FD2C41661F4156415C58C8BDC9630E14D7260DE2E4C8AFD4191FFF24B054A14DA3EFF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #827 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>F3AF703EB341CC9E793F35907742754B26E495BE50BEF46ADAC39E31815F64B299F551B6DF5E7FC85708DA569F3FB0662532422DEC5E890C99FA8EE7A3C9723FFEF497C45BC4BDD56841BFC094A2FA376C11B72D4C8C93833EC02E307684DCDE06EBF80A453C461DFDD3FD74B633F011CA891865E1348FE74CE945B659</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #828 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>A5EFF8CC843EE00AF67300B31A338C999A9ABD3DF600A0CC26644B2D40E07AA4CA3AAB2E83A10B751A0107E48C9635E662B8E67586E780110C60B32FAFC762C1BF4670131FF25E5E5760263E8A120DCCC1D5EFDCFCF8198AAEF4D60218DB08D4F11E579432594949D877DFA3AC056E9DF9ACE7C62823655B728A1D7895</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #829 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>C2C647CB2B04F98482EB4F74276F9EACCD67CE7380872F3E59576A3BD336F12BBE5C88B88E238BB059896B5175FFC0B179E1C2573D20A3C8FCD55223779D257BEF624B1E230DECAE6CC8681249CE99CB84472AB497A8DD2CA06D833B908BA503261B9B2732E59C5A6ABAF9653AAFB3F5F0604A3B6D618703E9E7694FDD</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #830 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>D1C354F0DC209F77C67898FFA70CD6AEE5A0D8047002BBDA99FABE9D1AD86B684B5CAAD67D1E8F74C62885C94B50DD024CC851137ADA52EBAE35C2B910F5459BB2B4EA94F8F79748F3C27F795E37C173CBB8CFB8B3BE37A6A62E3999CDF547D714A8EBD2E047ADE94E5A902643481E345BD105BA27FD04D677B89737AF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #831 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>DCB0BCFB380972503CA94A038910F2A436440237EE406BE93A0C0EB8B3C2A91EFC7DE9297BD8AC94A2302C88682306EAAFD8A144D55F32F5142719F02B7ECCC7F6DA66FC71E21C5DD8EC276F84DEBBA5B1E82554C81BFB8ADF3E74C4D38828185E8623909C93EAEA55626A824EBA0A12857B62708BA2B27A058561CF35</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #832 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>F0C1293D56DFE86378CB5558B9DBD5F18325B37AA598192082226C531BB967A471C87ED6396943C199A8E5F7697069FC8DEE68BE51683315A9E46131F93E7F632A97986F900A2083494389925222BB79B5849EA11DE9CBD8E401B02B900C5A8794EFF7A77C75D38C7FC008E0BE10DC0AEAEE92A0199EF4723CCFF95145</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #833 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>ACEEBABF4C406B8AC9DB5BD78645BB5AD7D04ED263B7F4FB6D056EEF04F12F611681873D960601B8BEF05EA9A8FD2BB3D23BA06C1A5627BB2FC691403CE00FAE34EE992D5CE61E9C5DAC345FC967E0765F3B28E6F7247C7F2AC762A4A6B9D8B1DBD5E630406B7EB2F9D4CA6EE99394E94B719411D3D48001D7F3D65325</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #834 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>EE1587F31E2D8A1671E426DC9994BABB0976E00FEE2272EAB34909D45B733A3D97ECBF5B57E8DA68ED71C961841455F052B211227CF9F694233EBF71A54A4991C1A174C75250A5F2BE005FDE10F167A9AAD1C990EBCE2FFA136B12F93CDD7D88A0D0F6B4D53BDFFBDC0A971E10A15E276BA42C4F365CC2289B9C0222FB</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #835 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>B3EDC2FEC1E4D3A8746724D017A2B6246768A072DA213D07B1A43EF4E20E7AE7E1C38234B5701EC57304DCDED34A37B312A0718D1833E75C120E512BE062697930B47E08772CA48A3D38BD2A63578E8270F731514F6FB7F16FABA0DBA0E0A11A74B89C2255E90C0531426BB747ACF934335387E3D291C60B92F9458FC9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #836 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>EC8358F435CD83F8AA469984BB31CE5FBA07D72F31C0180341E1B1066C04D9D8C37AC2C9E8E67E4D2F3DF3C00478DBB3C7B2E8562D2539432ED19182C281142F40C0B2C29ED3DF23D9BEA2E898100D6ABC8C618FD2EC5BED60E857514A88E439DFAAE62B83478ACCE1174C26BDC12B499B7598F4F29731217BB11C4D8D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #837 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>DECDC2188D614398F6141C9C868510D191B0A5C26DB5AB2B98E053291E2F963B4BBEB6808A6A0CFAA0B72209AE63D26206A6779EAEB859A9F0425D563B3C04359D19925827495E3160DC3E0CB5AEE80E2CF4F0C39B52A94E61899C295D7706DDB894D29DD85ACD317BBBDE49C902851E22D36C6AC4FC9BC1EED5360CA5</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #838 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>AA72ECDD827D100713FFB9AA323C99C0FB09949753259FE8C68A1E06B0BCC224FCFBD54218047F2B0F2A0E6F6FA29E0CFA07EBE51925B0C650F587FF7BC40F5D47CA2244FB556C6B783679AFA0692C7C4ADF9079D3830DE638B4A0DE5A1DBC18E32701D67AF13D70E31E405C608E33374969E14CDE51D6FC07A290CDF3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #839 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>9167195ABE13B145C29344E58A37997F1FB52C68A0338123E6C57297349DB704087B71135719913C6F19171D04BF4FB13077911439F80D686DD1EE6B7CBB1DCF44A4A30D5FA128F95EB1C18095AAC6305A14097E2885AB059EBA6C6DC807C23E36497A60112201E1A4A666AF53D09FE845B72C127B00E8EA3F69C8E44F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #840 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>9708BC6B797553E6ED3954CAC4F0FB50B941DD86925B3AC3BF409C817E8CF8B34599A21AFA7A702ABD90026848AE33808FBEF4CA8C93C1EA9AED5C6BE3D1C82CD48548FC3750280CD27DC37D2AEDCD33A22C3C980B09EFABBE3F07D8D019476532804D134499ABBCF8186F36649340F25AF354C8B909A5F8D3C9DF838B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #841 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>8DBDA7E4E732DA28A9B84F901E637C1C45D71DCB116C4E4B01117C9C2C893394D4C5EACF18BAEE89A0DA2C669610C868126516C2E23002729B3A9FC0DBB1D6B55478475900A5FD6F3711C3FE36C899A0E780334A174CD0B2523FA128C4E0F44CE4C2B2D329C8B1389611B454B3099EEAC94231C7FC2B795F259CB382F9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #842 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>F8394A0140ECFE43242C8A03D19EFC031351AD3D19C7897663C769E88E0A3D4DF00603B1F83AB4F14CCF81B90EB3808686C557464F0B9E933DE402EDD3D1D115BD5B167B95F4AB6AF7638637B65E9A9FCC7463CD519C7550598DF8AEA1D4E1F1CD1E2580563B0EEE05EFAC05B17F0C1F7D308E3F5E81F56DD5C66476C7</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #843 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>E2F72A1A94738F6591A5471D6D72D9E004A2B974E46DA59B5E4419DA8B686E77BB45320A380F524230728EDBD04D5B5C3A7AD2CDCF69C5139DFF084E194369029C2BAA2DD9C5CBBC95D5B959B837BA6C64500203BC0750178E73D05395B8D295E96AA36C27194B6A4E14E85452FAADF7F50497F5B5AEF8E5FC74C25A13</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #844 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>D31AA871FDFC84961E243433C810318AC5595AC88A8D51424EB71D86542BF0D69E57B1D1C91D65A83BEEEE925E5659A167AEB884A4ABCD0A7989C3514AAFAC5170A30D9618855254D005906A20145B557801746DB413E8ECCC80B1443B7B890D38D491D67B32005F8FCA5DE83722598FD891E230255F38837377C90F33</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #845 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>EAE300F4F56AE315B18079912C38B52EDD63B5B831BFE720B3B1F18696C41214EE982FB287153CB3B10CACD3E51F55E370C18F9495D4EA3DE3B5CEA3B9D5FCB89D04CF2CB2D10F69D19C696AAC673F947FA30219FF9ABC12EB53F195FC6F3442F63C7E43623AE0A84E807D52102025A9866083B02CDD24BF832E261189</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #846 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>EA245720632C59024F1F6B19E68194E215A04D3009CC5339E85A7A3649CDB87D8C92730DF4814A64A24F098BDD1A252DAF6A79C0FDC4CD6D56F3DF0D86C82FF12002EC59D348C2E0CAEAADF9D45E66C8DE78CC0B4F0F81BA64A45B96AC4E8C909201A33F4DE96C3EA423D8E51F94E1AB96D975630E4D7B4FF78FE7A539</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #847 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>DED3E0BFC45D94B46398632E86E345F11B5658BF7079B925FBB3F319F5E632D472EE54B749B0945DB2AECF2CF71E379327E5FE9CF37DDC5F5E485F5C1629F6E489F6EE68EF6487DDDAEC1CF4413055D7E1940E9EBD0C6F86CA0264861DE13A63F98EDFB5EFF03523AE750C7367A733075B30BBA82CB0406C3DEA516CF5</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #848 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>DEF2BD6CD30C258F41A7EBA22A12B43B49A4996FB715114CA2E204D1BBE876235C25857153DB2CF6006E1C7FEA21750205ED738087748DF83E7A1241AF507A78EBDF706A6F8DDEA442FFCA6B4FFDA4B2B294E392F5FC6BB375AC6707AC6102169110795358C793DC667C029423CAFA397B6F6B41AACBBDB051CAA46A95</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #849 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>ED97C0B4799AF0534132AE2CE5DBC0AC74936BB98FA1C2928A884D82079B0C605866914E6A6ABD0D6191740001411366B4FECC3ADED5D0296238E42309AA97C4148EC37C43339F3FFE6E295CCFD0211A6F65A9969BFE025AD25040101F50B31C380F68F77C7F0B6F67B214809F943EE02B8445D0E06F8E7E4F5B78D39B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #850 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>B3B25664993E7B3FCAE8CDA1C25B2CE0E79EE104A10EF3E31BE77534642B4DEA746813DF5374863FFD1837B1D09521AB5A228AAA491A4B10AD2265761E1077959E4931983B4FD6CDBBDD9366E28057A02111FFD0D514E298438AAB962F02279F322D05083A2487532932AB29B707DC1AF072B9EB78A06800D9078FA18F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #851 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>901A987FD1679AA888815ACD8F606DF35671E7EE2D56BBB710A8731E74E67B71EED701BAECAC9F4BB88EFAC019DB14D347CE86A58670DD40366F7C5257E81E76E3D64520C7FFF3AFB773AED7086FAC7F8A342B7A38B7302E6625004FF1CAFF872EB43175FB95A2DAF2ED1647C015C76268F9E06EE7AFB6E3F48A2A6F8D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #852 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>D69FBA333250DE008DE3331675078CEF336383FA7F83575EFE716B046A1EFE650B4FE468D8CBF264FD0BB6C37E004916F476BED855ED58652E2962C815A21C6AF2ECC12AF5752F30B0A53A98993D44302FA0ABC6A96B6BA5CA51F0DAC20D69F4740EAAF1862CEC7D739680ED139912996A4460ECDA9D8D104EC47FC7B7</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #853 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>A0AF80C4D29958C6ACF479D1D1CBBCE6C157D0F28EC8395FF5C72FABDD53CB8E284204C8EA7FF712D285FE62FA0AC813BEA5D79C2487A0527DDB4E1AE366855E659EF0419452AECD12EEA0AA73313E712A6D7591ECA9EE706F3837C6474F21DD8DCF4E1E01DC99DC1806F68228BDD1DABD0663C2E36C600876FBEE1205</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #854 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>A3AE2DE79ABC7FAB25CF7BF560E9ECC67831540DEB876C83751466D7CF7DE9FE2E97D3746C5A8F9AD92E14EB8F5698B5C2AA68D6651472721BA7AEFE55121144BDBEBE09447DA9B290D8C904F67209E6184B7A7E1840C4A22F28B3C1FBD80FE11DA0576A534D4C51DA22F6BDCEB307CBDDFA363E9D515A5699CAD7818F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #855 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>9779AB5D68B883E2B657C0D560B0F7A73DE5F8FE188C957D71888ED6A9DB921B85BDF82BEE7093F83F5901BD846E929818517F1F016902902EC3B568DD01C3781B339229878CD97838F20BF6B55453D630739D4ECA9ED4127D17A5842C3AE81B1D824D98B727FFBC4F3A4A44DFE0EBFE9BD89C56D1FC2B33458654DE2B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #856 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>A46E27E0E6A49DE95FDD284DEA06321D9E5F46475520A0727C458E0D09054243CF71C4FF8F1A4E5031F15BD582BA8773ADC1D9207131B9B0F0B7B3BCE725A44B4EB3DBB33DD2433CC3E1EAD957A1F3E3BF784F73E8CA1773BD69D79103122973598E7B3663AB5728517B2235E5D06560C7A4EA35406D6283208120AF5F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #857 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>B43E44FE30497E95C3F9B8713B3B1502B188F85CE77AB64324E996F40DA4FE257CBE53FF2270A28272E80EAD92E3CE3C2BBDCF63515F5E2289FB955AC70308716B3452C2B773842E377CDD6C6D30C35C85527CD0CDC9F58E0288EB7461D3C405F935F2987903739073935877B25A2F226AEA15131A05C69BC0D7C07FA3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #858 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>CF38186F27D94F334E211356883FBDEA0CF7A1ECCB7356EAECC41CDF8FB0B823164E8E74DE6B1FBA06BD52AE4632F6F7575E7CB067F7AC52C5AB7B0A112E7FBF6171C570F7A813B399E785D9DD184A90917FCF2AE7206EE225BC844796A3DC07714D6179E5A4C951D693047F5B8E6FFBE8D210AF36304C3CBACA0567E3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #859 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>DA3AD36377CAE45760057C683F78E2E779A718707BD04A5A561B5FB3F455CE625E28BE507E5F2E2EFAAD4A5F45D7CB05F52EB310D2C7CEF8A82BD98AA2CF13109A70DFD69796B8B842E5BE7FF991F65AB601A148F8BC9408A7182D8C858E7BC0024B7BD701B578B28729A07EF2FB52FFF9D53531A1E1EDCF0D66CDA291</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #860 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>94C593E062CF3F4245374BC952A9237DB81079B903F5C7387A1B25CE2048F504DB806DF5C6E2111487F2C35D015D9A495B84F7B47BDFF3094255F1E131F44466060B8F81F038C4CF76171B109E59A1B51D12F99CA0149B0D217C397FFA564E759AE19C89B42BDA156D4C4F4AABEED46C8E57D0E0C44A8433B21F9C92A1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #861 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>FD3BC13EB26181832D00333AAF29E45DB8DBD9B1217BFD2CE0FAA88E98C9CF43AF139B3119FD012913BAF0CB58506329DAE701C91F49BBC09E82D080A6B8BF409EDB36B00CF4910A400F5DC1F8B53A06BB54A4F78605B29910092980DB5A25F979CC303C33EB42572C4E01E7569F20792E84E4AFE69573CFF3ED1F9DF5</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #862 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>88806A19549528F2135E1D48BA7E5FCF548D5BE8DFF6D4B3350A65493D3DA74DF0BA1BE499C11AF0CCBE0524DBB7EC06AEB888C7358C73B4F32E24E67A0DF4EF65B75B816413D25552EAA7D402E6997612B25A95502DCBCE7636EDE8BBDFAD03D06122BF5C2B9AF7AA2D17893A7AF623A152A140B1A058342C9016D34D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #863 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>DF93B79C19E47D806428E0D04F407D0BC61A379C7074598F0FB91F8753F1305C80122BE09E44179166F48935E5DF1514114B4E7EC48C2404CC164C3EA6DC4F8EAEA58099CCA6A4B3031BBAA7DBD7E2F6AB3B249FF52B28824E6247478B329D80821317B09C5D26333020A70CADFDEA55494A97035AED6099FE57DA2E43</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #864 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>C21C72BD4F2035E22E67E020DE18ACDC4FACCAD4304BA3A497C29E8AD726B96EAC8B484CEEB25D157CB93F051CB708BF9A203754B57BDD0E828049A5135270AC65975569863E9875DF8FC061C05540231221FE0C29B8C152BD7A1FB469DA91EACA42C09616ABD77D3EA8EFB8A661D11E64EEE3BDD30AC50A4586EBB8E3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #865 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>F58B2948BBAC7A9A6F703FDBFB3A9DDAA2A2B143207467164D7BFCF87968CCE6F1AEE53F8794E882F0B4AE77AD4EEF16B463C3DFB0607DF4E99528BB625766584FD804E73E91315FAEAE6999CDBEA40F90719E405BD87EF4B853B58C484F52741B1BC5AB17657EE2851F0A808E2AED3EB6BEA136872D1AD0DB3C1378A7</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #866 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>EF4840D388BCF393DBDDFEA97C20C74084DEC3CB614C407FC229AF589A6402F4EF7C58A495854A3448177C62682D67113999403C6F439115EC9D61B7447C80586FC876273699931AB1E272BF4D1B95D774B0981AC60535F6EE4CF8CE16B779D76798936CCBFEC0E52F4BF60825F4CBC2705138E5B96D841347BADF9BCD</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #867 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>D3E9D24ED6F651EBDA757A5C2488F893D4798FE9549A1D803E3D15C925107B8C9D3B25131DEFA042D1CF846DD28819F739CB2E9256E4D470BF7FB0683BE8160F06AABD513EE7E29D13A5C1474C6E590A5A01688DCE540F1F99811EA0DAD8E178A19F48C8D5C62EB43F05573B1CC7E3F00140AA5C85FCE8CF31C85FA40D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #868 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>BD66CDE09C766C5D96137DD33649353DBEC9A0C0182F42744A5DA219F5CA1A9B51518870371B41FEE8CD35457C6F1073C7408DD9B9A1E0D6930DD9BDC8238C6D76EB7634D92CB2B9AAA20D938098DB746B61D26DA92D0C5B4A31F3B5C03D1DBB03D5CF9689E7CC8717BAA13728870B739BF6786AFB12B394243CC98D29</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #869 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>B80DF4B3020BDE46DB31F71662CCA1C97694C04D1D8BD8450DE338B66F0443A8DD6A1C4061661DB8DE1A3D25886A617840F7AD74C4EC148E36EF046EA53C2F208A2D6A7525FCF6C4C5E63CE1A6EB5DEBA0A1CEC13D12425D7278D0AF968BCB0C07F8BABF2A844B334553078E9556CF3672EDBD7D20D72E5751B4116335</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #870 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>B995371057620A54DD41A83257E43C3219C365E10B6E0C296D9DCF7843296E1BB733153E7DE03F90983746CCB40833E6051C3152D464A6977944369C1B8BB4576AB90AD5BA95FC6877EBF518B27D6161A96E6BCD86714CAE085764BD3AC75720A2D4227587EE09B2976224227E93F5DCE0C39B0B22FE11C8963BAE9C2D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #871 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>8E18BAA99FD4BAF3E477C37D5502DA5FE588F847CA533BBDF502749898A517F54B85833FE79EAD16FE28A665F335CEBE55D57B177D5C584F6B864EAC742BA07BB4A9A283EC83355CE6FA1672156A187818A026DC0580344D55ADD16587F6BD46EC8B63C4A4A5B64BA3D40D555E43032E539F74C50E11F68B763F8775E9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #872 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>DE6FBDD2D782FDB1705CE225ADB949D105E312E2F1A71D36AFE209BE902E71630BECA11428CA93885731B431403A4415E2CF8D73591D9D8F5387E7D3FC9BD80E7223055755637A7336E6445462F624B03CEAB5D6B6B0289D38C11CF542C7687158F2CD79434D768020767A52E32B430B119AEE31705E8C5284914DC67B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #873 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>F17C17DAA11C6D10317F07354491CF3A0FC6A4A5519868A3BD462C8ED1532785EF8A4C796B07890C659EACBD974A9E6516102039ECFE9851B43D77A9E3A334F3AB24D535328AB292C3B12DEE7726A9BA4498D72C0627A34162510014E39950CC5BD3F48256FB49130F9E4C3B8D34E48329F27FD2E0D2CC42018AD4ACFF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #874 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>8FD649BA178C4EF1A7EE259C2E2A3455E0076CE86B876BCB9BF0F1E44EB68FE6EA5D579704470EA38F0FF3970D9989301C40B1FAAB1E3BA5E3FBF66B6C9FD5949F08B0C3450C536D74739B9CB08DA29CECEAC65FCEB2413A7F07CB11F073FC66654B648EDB31044C135531DBEFCB63F2FEB2D7AA7754E3FBACEE71B3E9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #875 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>913BD35BCAB9B1B364A8C2824B5733A841126A4F40981A150A8D99C5A1FBBF02D31FDB9B0FF35E65A1D723EAF9524D043F046B76E855AA16969D4D715972AE457318EE4BFD953AD54F655904460EA6297A3FCE83E7D5D2451676BE30CFDAD114EDBA06DE5C7B0FDFC5865AA941738B9ADCEE6C2F232147DE1A5CF532EB</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #876 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>ACE697D82D6BF2928CEF594729803F2C75A8ED86FF8E8CC5DF1426C6996EB98F6B421E1C114CC058749852CDCFC8076EC85DF5FA276D9D464132C8F3CBCCCF8A401563968C3D2ADA9E90CA5F435BEB0970138D90DCF0721144AAE48C3BBC7DE2BE6FF5CFF0A9F120314DD92A433C188930B0E3AC4F9279FFA2A4781821</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #877 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>F5C23C1BAD52FD37D39D2190D10DB1A0A8D2F453B22E3D4DBE22409ED917B5A20577C0856E8DA1367322FFCCCE60AA7C3CD526C1C5AC479D7FD8A804390FEBE3DED56D3AFCDE0EA709C95C53D0414CB3E57344CF2A5109FA502C12D05196130BD32CE752282324E8EF4DF44FC2A849CA07DE448995DAD09C5BDD82A98B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #878 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>80C96281F17C267BECEA10F46714AF42250494A3B21C5E1542E6A97CC88C4D02996EBB5E7003C7BC6F9CB84AF0BC6C78453B66C7CDE1A45DAC4961E88A36BB84632CF483C6E1353BE2B980F2FE3641D92712DC2EBD4BE1286F055EDA0A08E00C66281B75C9704DFBE874CE41CC5898EDBC272BCEC6E5709E6E82736C99</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #879 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>A829C20D90517F3CCA41F2C7A827810F6693EDF9EFBA87518738AEAD710613C290C08930649E4F1A1EEF587F148F8EC4A6A70CFDDB905EF6DF269268C6807FD30F11DC4683D98E4F4E9D90076113ACD759930C01AB7755CDAE3EC84636B0E1BC8E08A2C110B8FD64DE53FE21A1904F5FB46A16A912C66EB966FC042D73</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #880 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>923DDFA0D926B2998A7AE5AEE55E97E87D56AA83A6246565AA5F5874B04AACE4E5AFABF2349A2D701AF8E3549A695D24E4F1B766CB823293EA045892A4AFD2DDBB4CC58E874F53D113E413F13465720F120AFAEA910157B1D1478923384CAB87D8D0232800545B1655E2CCD898CD621D616F2392AC5455BDB187278F65</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #881 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>9899D5E2237A03CFCD94FA98F24247191A4B0E175AAD0B0559AAC4CC915975347FD38BE7B580FD683149E3748116C5ACC1CD6BCDFE2B3B727802B684A55B09382869E8E9CD6A272DCE8D1CB475B7E983F971A5A79FEDA1564186151354E6EC5A46CC02146F0D92DD62B7A7675C8B8E6BE67C11A6973F85917B480E4317</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #882 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>FB4562A3F3A82C08B951F67892F8E22D32CC91CADF7F6CAE345FB9F2B4CEE4960C17B7C8FC10A9EBD204BAB9625959B4FA6A9BE1FAD8591DA9DBAB64F0571D352B522B6F22166EAD09D4F84C9ED43EA30579A8DCEA1D0F06604C237DFC3061B9492D90A17090A64DE326DAC5B453C2A63C778799C1472081B476E3A16B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #883 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>9E722F672A7B3000007D162A53BD62031D190808A2C6ED90B6145F68CAEA0E1BB072F154A866FC7A32F4D1947E2403F336EBA5F6CE0EE57DBAAB276EB650EB58144923B4BBDE0368D3EE4BC65FFD0568EFB6A80ED926B75C48AD9435480B443E9CDFDCF99738D5DD7CDCE2367C5A5E6F26FC1377F19319880C8A7DFFC1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #884 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>92C12823795309BC3B31343C8477850CAF5FA6FA3B52DD5ED5DC1011D3761EF5D64C56D5B64ABB6A542B70E8F462CA9C149D3BE26066B9459914F9764FE9FCC02AAA0806A0562EF1AE81BA71E73E3EAF585394150BD3DBC6A423251EFF6A01FA89F91A6AEBA0017782FDBA7F34E30908DD01D60849BBC20722B5655C09</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #885 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>8904A9A6F95315860A257200E4C75C80961B1ED556AB3AB6EDD663C672C90CF4C28F60776D03F33D7069BC7959CDAD988EC92072F99EE39D3B322E4F88230C21D44DFE96241472DCB5A1126C3A6045CBBE6EEAB931E0727BC36F658FEC81B61DF6F6BA382E78413D7A0823E2E9B6DCEBE2A544EEB150BC47A175E44DFB</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #886 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>D54DDA9CE3EB0DC1AEE0B79D04438645812776BBD1E5BA7A572D59712680EA7BED14FA6949604DF9F0C9CA65A455E66FBF7F4C45856036FA35920CDEC8EC9E097FD9D3BA09E28154096BCCF1BF7310E61B3F9063B8CB30ED5CF731800D2905E5546F0350050E72179D9D32B523CC74189D2D071E9A15A7642799030553</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #887 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>EF5AB3128038E444FED2D6C4191C9DBB8D2B6D7A9C666E1239E1C8855B99C1E62283529FD87A654CE6F0399BB6D05D51682BE7FCCF0B91CCFEF4B8BBFC6CBE68E368F5A01451AE3A7DE1E4E96C18DAF640AB3BE1FA7DDBF862BF168361996099456847C934BDF884153237B2A3AFAC34F076174CF434BEE8778EAB95DF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #888 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>C2F0566F04585C47D5096C98EFDF3268F2D1641E1D13EF616D125DDD85480F44647ECDAAD8D3840B0300DDFE5C98ABB5021D4C60967B8539C47B6A73987E2F891B0398DB7A826F09EADF50F57C5C892D1331826193CD4E05D353715E39CEE5ECEF63FEF64E095EA3A12CEDDDEB7AD47628DA58C4253DA3E320F0CAC7DF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #889 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>D06A8973D8123E3E4896D0C63B45D8DFB57ACB0AF853FFBF29E7D678687D9ED91B9DECAA1FEE8BB2418E8B1A4346A8E88602F38C06763687D7CA4F277A0A9EC3BDCED783AAB9E9DF0D21AAAF11D7D9B547AF74B5F67E8323DD9BBCFE83E4FF3E04A4DFAD6192DEBFAB9992A62F82AD3A664D1664BECE1529139FE80259</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #890 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>BBF94E76C95804128644EDE939A18AE2B4665B899884286746BF119C1A21BC2F921934DC8F3BCAAFC1C48738B026E4C74FB13A4AF397CBB17863A5D88F1CDB5598EBED0758013ADA5604B6C251A6ABDE925F0718941657D00C6B6471BAFD83EEA1B7F4F78BFBD6EBE5EAF686942415046A81245921AB3870313C76C9CF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #891 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>F114B37EC02859AD17577CEE30E7A770E2E7C7149544321CE3B3D555C7B1B18C0D4D3873EB4AF3A39A697022CB5DBAA50B90365F81E432F91F235A005882FEF72B8E4C81B140D3EFD36307B8CB4C6F7666E1F5DDB4655BCB2D65918D9DA866EA98F538BF4B5D8D857FAB77053C5F39DAF2F620AC8CE06D658D65F4764F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #892 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>E19C12554CAB111EA61CA6ECDF3198092B2C3564297EFB1775F974CED82E5FCC6B5D866A5CA260B79B92DD2CCCE96B0687EE97ECE9CAE468554211B6BB5196276284ABEF95729B62E46F7E3C26BF7C76025A6057848BBBF190A2BA26C5AE8FD87FB034F1A3672C42F72199F89DE1D2F2A07E6DF32E0F74530F83619A0F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #893 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>C3DF7F42BE649AF9B54AF8055631A5F23FE7E0578A67088B0482D89BC4F8CD601676834AF7828F243183B2C34AA1CBEEAC44F894E19CB0E8715F75E7A230BAF10AB533B310A860A1FCF3D178D9C1DE576F34385F50980DBE327AB2EEC15EB67C260B9193E9FBC514DE6D73F3E373C2D0B6F22DE0035EF53E65712CA12D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #894 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>A7DDBEF6215B458C6E2A456E5C4CD3B11D56153581ACC1A905D97FFA0DA983C6F2EE274AC0DF2F27E5C37D0B47D30A6E17A573B7524F811FD6EAD6BB4ECF152C11C01A5B2BC32CF4488851C5487E0438AE1F86EA77C30CEEF2A546FF74BA1C4F6B0003D17EBE22E87384DB166FA6EC981157E173F41537B094919B44D7</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #895 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>C6147D1B11F40CB017F303FD8891F71819E8CBE9D4586A02D4241F15C59BA0F86BD1A330652E1B178853F7F013AABC2BC7BFA1A0EDE7709B84FCB3E5A6EE6ECFF26DDA3A22DF8A8F3E42729AECF081BC660CCA3BF6ACD02F0D9FF202337F918CF64A5B54B1B3C7482EB0343B090F574AFB6A71080776330B04A292EB8F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #896 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>CDE7D9B5FC2684B0EB8833D54F0EAD60B6C95F0B2EF99C62EE21C167CC7C6CF752B66464427EF6AFABECBF325C35DC512A2F5D7A202D6B0D2DA15FE5B00017B79294CA5C232E727C898619F0AB66C027C6C92A7491828BFB28C5A61774B37211B8DB8F3D982A3D3F3B3B401EC207E485259E0A7AB216FAD02BCF833F85</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #897 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>ACFBCD44199100BA0F1E74D37DCD7D0C46B28B31C28FC4D23C973156BC84A1651359ADA2FDAE44022633F6D885BF1113B21BA5B48CBFE00EE02A8728B9CAD9F1DE200ACEFFD9E02D416C32BB584145BB5BBFD5EB060E0D588A7AD3A679E2028E582A85668D13A71FD40B1145291A0C4A6D0F8ED5A25734D4024C2C8111</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #898 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>B83462BD1283EF33CAB62021B6373D347F4E5EC5D3E178181394E4A2EA1916851AD27A47B95BE2495B5F09CC0F0A8650CF767EC8819D37C26A205AB59F5BE93146A58C9C822CA024F805BFBA0AF31D636E93E3ACAC6D7B795BFDC291422381AEFFBFA52A6E66134CF70676AD458E3C621556F74AB33284CB94EC9B31E3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #899 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>C25C95405E8C1F55436914541DCDEE111F7C1C3E5DC3C1C903580C33B897FADBFB500349D83A98FA477F7D7117CB63543F8C92E63047B5FB5D283443CC4D1B0210D64E02BDF44BA5313C4B626A2ACE63AA9A76E26D85CB47CFD39452E611E2B10B4129293735FA9EAF43FE713D58706D23E5C3A9E12C0245311BD9031F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #900 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>934B5C0F69698817D2F5C7DBE3DE65A1BF07DD64A50E09DB99F3B78F25905B11756680D1101DF17392851FCCEC4267D12A02FD92D51A137219A22375D935F8EB60AFE7077D5B6FAC2B73FBF0717DB29AADBAEA8657ED0768C640A7626506A0DE9FABDABDD92254FFF3F5641E20198B682D07B048D504AF32568D666029</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #901 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>FEFE1E5FCAE89D94E4DA1043CF1E608B2BEF1CA7C3344293BDA917B1FB9663D9B236FA04D775894150D63E8D51B453EC99A5A1DFF3F8CC54342F76C275DF6E7779D8A3C2DF79F662537CCAC64B5FC83C2F87A948B09E5040A5458C307DADF2A3A24BBF68252CCB05B5561AC8C5C11E0298CF3A37D51192AE84C2B1F601</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #902 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>FCB1404C77F867DE957989746A5AE95933F23D3498E96D22FECE06397D49B636EAA97CFB87F6950CB3682045147747CA72DE943F1EA5CD3EF20F15F208783281D9C6291203A94467C40D84E61E88CCEF0D3FD44AD6C3B177110286CC94037753C3582A259E3C96C13C970FC3161B469B64FF0FAA969737398A736BD7CF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #903 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>B8D0E3B52BDD44FE463A28A2709F86805B1D386F706D9BB2034315F18D1EFD721EB3ECA3B963917005E23A9E396F0A5FF561C152931D5A696D24CA1445E4F0748FF672E9AFB9CA495493282B0C51BE09CA1CBFFD6F97DC39FB656D30FF2D628636E5359686C042BBFDC578312D924B8EB20E6024F8940DA69E621DE603</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tbigint/scripts/tprimetests2.txt	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,1600 @@
+<action>
+	<actionname>Prime Vector Test #904 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A91B01C98D4F99C6D86C4F2C159224940371B1E1B59EB377EA0537BA737B0DF543C53D231E20C34A5E17107FFE68ABEF9BFB1836D66F6C6DC28E2A8A13E1AB2657DB7D8F21E988EC5A332B3637D423CCF94081B0AD5C019269D6A043DAAC57C5BC25BE8B581C1FFA42FB45B229127CC42C76DDAEE59E24A5E51B4502CB2FFD0FB9952ADB5B1B981494D9432B15918915B3C4B4FF5D0DF3E05FA71AE1D8990F27C109A8F49DB254B149E9F53503B55FA774B68D946BA757F204F747B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #905 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0E02BBF4CF2BFE980FDAABB51C092521747883DD9DFC35958039DB60CB2C244C93E9AC70C011D0C95A8FA70769D0450F0133FDCE0C207083796B6C149244FD3475EB5D6AD6EAA3C341525707C095C1DEEEDE88F0FD6AEF378B9077E653C40C8EB617F257D5C607CCAC0FABB6E331BAAB3C7E4EBFDC42D7311D1A9D38AE222BB0AE62DA76B8259D09F43917250455CF625F8DBA3380B39C2E95BD16D03A00A4A3E414EB9098BC4F203FBF646553A560BB06DBF720B5DDCCE8367DBB0B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #906 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D2D2F7D8D824F224A2B12A96C813188F90B60FABB5F39A8FEC326FBC3683D94B34CE5C2D396A39FB850C90DC817C6933B0A935B74030CF9112D3BB19D07519A05C37A08B44AC6F47140F2FC6ED2F4D5D4D0D569578ABDC79639AC4C152B85B2BCD680858C327F0D1B0116F97BFEF8130A20FF9AB2959EEB3EE31A49D715E4357A15E78EA799B020F8A9F7A59B92F0014F002B4F50FCE5EEB9BAEC52663A8A0B171B44EF982449337FDCC75CA5150266D06351B3B637A9DA91367A2B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #907 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0C01C4B8D3109DCDD8C657B2A0F7244BBD0C13243060EF98D429C0BEEE555FE153508AEA55680DC66150588F31DBF8BC173E9A8D1D64AEF02C1F783B60B32E1569FBCBEDA79CCC806C747C4D9EB9CF983DFCE7DDE7EA99C6AF1DD30DA65EDBC956515FC8429055E7ED911315E3B7BC31721E8DDD2B79C5DD8B2836B190BF140290775C10A6722DA5F5F88BD2E48E7EED21B2D44BBDB1930CB8398B0DC485CD6AB885F9C719BE67EDFAE7C1DDB6A169517807DC1BEB76580D065945E3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #908 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0DCDEB49929246D154C4195FFDD8BDEF894D66E74033FA6D27D8A428E65DB6FAF0FC1B7314E92203C3B2EC62956F37E0CD79EF122D52067AAED5796FCD75F4FB1B19732B192DEE0D0EE1152830DEB5E634BD858BE3CC75C959D8BA6D646858E1F1FBBFA3C449AC24113DCE988DD8901AAB75C723A12FF8D20511CF4B6E7363D7C6B8938570953501885F0170116D6CD96E425D49F7CB55118B8D369F87C8E1C8A26CF6839B76E8E02E164AC266CEAF53D3A9789F716E234552A3FAED</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #909 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A792D83448294E355948A144A25A2022302F314C5C99E421E4C2766295239BA67885E424A33561147816A0CD565889647BF5F522B8F9987B6D272551D5A3883B5347A09696A9C1A2BE64D9F27967874401EEA7F1593559AA19A6A9BE4AC847D95237DAE00DB6D88EB8E0F545D2416856B48C07AC5E9ACE5F9E8BD3BEFF651E15AB73CB4A27E764AEDB17762929804E9C049542B2BAF8455AB201562BA90C237B19C6F8E86181810B12AEC2F4E6CCD7AB0C8B768109176DD12C13AD9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #910 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0C6DF500A262D62ECB49E61DD9B42623398ABD95FE559F384160307E9FE60C7E9D0D1282F53A5D8571C8B937FB99F2A0CE7E410D9B4C6A2B905F3C4AC07D4A91913FA678E756389B089F593D4BC1BE0A5F3317D14477D1C74C50E9988612E857B25B43AC556B57399F4359B5107F6AC71B2B72A4204497F2F20B8ABF70976A9A3FC6CC70DE6E5E3327493B2F2B82780117C69D8CEEAD0102020265E0A8FCDF4E63B573E1760AD86ADB2C82D84D1582A2DE845B17A8DFAB15F375036B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #911 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0F7792785B1AF994A40A4B620E89D577B5FA43EEB616AC1C9956D3D413DAD4ED45B3E4E23EDAB2DF710ECF4C66332C23CFE0938DFB376FE681E5C1AACF675ECA2E88489E465AEC7D983025D0B2829C3577833BF2CBEE9A31C3162CBF3A5AE697D5C7C89919666E0F5CD24BDC1C590A1C8D62555DF41777A64F279190107081A102EAB8132CE1ACC9DE87C79F46434C06C111F1E0B4A70941563FC2A2C2AC03A29C5FC31FCAE902B405941231E68420870A333641A78D5C0D338375E3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #912 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>09FD5F12203AA7646023C4FBEDEF1C26B4BA37826CD2DF037129EF20BE962A33BE653C51422D725B160FAE9ACE2F04D9680BC1D7ABAE144C4322D4E156911978022804953A5702E392C7F1552850DCE474505878A70E7E8CA771524DFF9E41E05703F2A6085782E5440EAC1FA90BDF2FCC9BFD0BFEA0C4D9F6C50D6C9E4DD6FE9BB19DC71E2023472BB9970AD260756000EE366A33A4D2E9B2B9DCC452CF8C4EA962659F4981138EB7F7476B4B22B6D44CEA762ECAA1C6E764920CBD</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #913 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B66C4249E80A45490F8E20959868E705D089FC9E9D1AD03721FB8B42E5C826AFE27B90B9E08CE9FE7FA958E0442ABC6B151CD16867ECDE68522C6B56D342B3B818399D32E7EF5D3D38448F67A8E060BF4C8E499DD7F0ECFFBE2FAA45BBC8FCF998A069CCA8BA26819FE0EAE73B813349B6CFAAE0DDC13FAC132EEF9D3316D5301F33CFDC82C34A2478011593FD3D68971BFA4D9D7910DAC1E5855C65DD412B1A96AE6807A9C30644FE4C54FBBC582F93E0E7A2453B2C5B8702511C5</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #914 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0851789E5341AB4C600069302BD90B30DB7065685F1E30926483663E1A4D9AC22E0B119C6716742D1DE965D5A818F5D07AF02822F60DB33B84CB358235520897E61CD6108AEB65A004330AC8891548582130BBE90F14981E129EEE4280BCDF1C8FE4F6ED4D002E11D9FD4025DEF915CB10680208FEB6009BF5A9D054AB44E82C27CE226BE361E819651D01797AA0A65915138B00457DC3C61A039E7C874587E79C108F19964FD62F19AD0E397418B277DC73997330BAEBD6DAD175D7</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #915 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0CBB3CF36CB6ACD1F80D7352F0C1523774EF81DDBF6D979EB2B2E993ADFDE50017C9ABBC6356D70FEE0512759535371585F960500B7D38172618833E5DAE0D6A91FAE648FDD741ECAC66118DCCC99458BC47266999011A272850132FD6347A3F3AC242D51816DBA1596CD314135AD4920C60F15CFCF33D58FDB853731A0B75CDF5378F4EC246482E809BCDB937AA50238C5E6F70E8FE11E4EF25C3D30800BFC30077D2D8A05925D9EF482D8272DD563C21B34715740A2B356B0BAD49</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #916 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>09F5FA402CFBD81F4535134F2697DC6F8D5B9DBB06026B874EFC2A23933740A087A8A3CC7D1368A11F4929742BCEE486A4C33814D94F6B347A998B2AEA89AE0C8CEBC65F565B2946FF86F8AC2E0C0643E26672FE63AC6F20CCFB4A93A8EEC9F9D9C549465F22A684002168D2A914D690A3BF650AD949AE8F7DCA29749E7B70A4FF9CE8EDE6107E2C3998164305EAA1B650D2E0BE04E250DA2B1444083FABFA642679141B1C42E7D193A19C741E83F12D3BE6F3B64EEFD5E1031071D9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #917 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0BBF4DE6497F40B0A82D7B8877B1EEA030D68FE13B9559B4A1971FC5FEBE3EFB5F962C6F69CF4D5CE942E8E49C833B155D0AD2DADCB4A9C76092EEA4FAD5E1FDC394D0A5D0D3849E96396E73D662D2DDB4D9BD161C02A5A20E600FC422686EE9D5AA14A9F39B0093AC9F031873BA0A359D201378F3473A4349DBDF942B56BB07F3865F7D70955765E8720F2D60501E2CFE5E3D77AE0DF815C468C37E5BFC332EF1563F350981553855B5E9CEA1DFAC9815ADB53018462336D2235345</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #918 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0FE44644F36FD6E1998C8C73BD82C19AE21E5F202DB996675A0674F37B39D6E65645BB27FDE5400F9B4388FB5560F395548C56553260FD1E31197E8364F99FC612EE2D73F7337CBA28614A5281A51C019ED5DE859A426E28F35CAF764ABBEE3CB52C9EAD1EDFA81216E8FEA5B3A0A40E18C6D7D4E2401ADB8DDE8391093919ABAB3FE31438BF6433D5E8BBC6C0632F4DAFDB8302E277F765E5187E3084344DFF332F74BB784ED95AD12009A03EC0B8ED460E61845C03667C12E20D97</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #919 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0E5C4FDAFF1103868957ADB0BC266690D0EC26EC504D62083BBE940991E178A46AE2E0D3DD65BECE82875D19BC576FBFE749018DE5A010F17F9348309E24A40C17BD03C50F80BDF3256C9ABEDE3746787826AEC6A5F6AA5961356F784B858ED26B88EBFED38F22E3CA73165708193D81BDAFF83FE450E682F155EE9897531589788B70D1713D00C257DE18C4431AE0C92334E98D1A852E5DAB04C8FFCE72968DC82922F71496B23B2CCDECA8B99DEF7F790220DCC5B36FAB41B78373</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #920 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0E4CB3DEB53E2735F05B94CFFFCD3FAFD7AC9B87163D62BBF3B38CA28FB745A3BACB8ACEDD3032D7FBA4AC41180EE55604ABE7F557168BEC38F5FB93C63AEBC75C8BDAE0BF8402A67E4D372094AA9A710F081106144D63768B8ECEE5CD4E01A8E5058B9B45E72D80DEB35464355077A337F8AC7889ECF2507C70915E2690782A5732BCDB250FC4E62A33D4ED257E9F6B1C8420F7570A5AA30F7435030C7C60A094675D67E54925C62C9D0C0F267539CBC5C5B94AA01690073B5176DB</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #921 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0E56A7CDBFC704DE41863133301DF703D4D6955C18F27DB94D4480EFB6E87AD223F0B9C67789C71923742E9ABB75CD55626DDCA73C1D6673ABC767F951D5DB9072472053AB0E64D380881CB23DA1262052B5F41B16F05DCBDC43273CE891AE3E99B63FB1F30E760B889AA60D3848B53E482A543593932C1C35F66DB0F9FBB3D495CF38D0EB46303D54FA949654008EF1B56414D745FA52AE019D6EB15C2E5DA32F698802E3BCF88CBBCB38B3A390CAA2B604065EAC82C76FEC4A6489</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #922 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0CD7EE8A3D0B598EA4D142FAA024BA1E42305E2626F24F2A0EF69787244DFA47A8597D0B326CBDC6E345D8981A977B3A4B7971B7D26A4A435062C2BC6E8A5AE7771D56B74476B14A3C7641EBA5C7C572400E2C54C6146397F3983E57EDD2DCAFC97C1D3B0C85AC5CDA5B1690EFDFA6C78D4C1ED904F4B6783C18961C43BBEE29103FAA61FB8EC78D85D7BB787B26B39848FC37675D4510D90B03FEB4BAB32E98E9C00BD8F46858BCD8A1EEEBA2A8245C4697CB222BECDD3E9568E743</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #923 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>086A0FD9BCEDD12BFE6A8F7D75D09FCE975C252F18AB2D944B19176A6E36A05E384DEA6DB0D082A93DA6341C41F04C7FC5AACCAB8A8B09DE4D093512C631008B5E758ED883729AEA80B06713CA6F0AF316EFE873710CC860783B0776BCC0131A78EAAC898247D3E938D45E50A8B699D77AF55395057571C0660638A145867605CC41A066680097F374D03656F65363A14BCFF29586567444DA6CA7260E25590B397F77172B9AE6CD7273639FD39E62D270805D5DF7E2F4A393FA25BD</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #924 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>09B51A347BB6AA66D417AC2B5AB2BD48A07634C61DFEAAF1F52DE301ED7735A7F63CFBDDC46190AA7614AF74F1F6F902D186579B0EF1088F322C5EE8F6B053F596C22981A3389C285A0560AA91DEEDB0ACB7A108D8146032CE6BBA61FAD551C40C8E98AE631DC3DF7B4A58577C8B3A44F7BA46579F4363F910FA23E59CD483E7D6DD9F6C19CEBE853B682CB672A36F604112DD1DEF82F71E2CDE3E9F2CD8AE7865B1E77359B4D8EE226276F96CCD69A78854E60897359E1DDB6FB6B9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #925 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0DF6DF0F715D32BBDE6C7615797DBC3E61C344550E54C6825265213B2C6A07D9CA3A185A9A68B3E8B7A0F2C17CAC417D3648D963A4D62126DD87763B62EAFF500E2A03F402852089244D79DD7927C96A2C06FAD4893418B2B03D0D3E5B407842E49F276C06EA90BBE5F2EB90A75D53004E2C19948EB25DCE04EC5F49163F5E0B0DE987F4C1B2D8FA8C3716E538E32AE6BC9E0A7BA247E4430B02B06F9E6C984FA978593B9826B203F4C0CE2FEA6F610BED3BEC9C6C3989ACB1731A21</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #926 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0EDE21A23435EC7589F1AF466CAAEBAD6BFC7BD869E36CAA8A9DD680D8FAFA742B82B09E8F744D873D225B38D9437CD1C3A3ADFF12BFFC2B955F378FF86DFD6DC8A26D5D3776CB3433439D505CF97787C02809D38671E0831E3B6359844BD5D64514065364B79FC688EE52FAC6FAB305725003083D96170CC6B93BF13322D9F4E70A59114AB6F7A543CFA0148D5F141AB8B8F6BC29FFB189F8D50A66F586550DDF06FFD7497419D776EADAED2551EA7D7390EBC600EDADA9109A7A3B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #927 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0915A00CDAC004B1B9442943FE044C35DD9479464D3C55231097977B4E0852BBB224ADC7ACFD7F242EF50BE89506B03CB8B2274D87384B4F58127C1EAEDB0B854B019BD9E9C50BAE703639FF308BA0719C9D1C8A7FA931F79E2566B7A9E8A8BF2E9D4BBB5C744CFE723AD7B0459AA2895E270CF5D03BA745DC11F40C5D2E19225B704D87685489D5BB57431CCEB0EC3B1FA1DAF72BEC50B2128D47AB12B23AAAA853042333B9A57712194DB0A5FF06AB894B7B8947AC5E3719ECE9C5</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #928 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0AD2FA3F0A379E16707252DB1A40CFE5F343FBC219EB9EB3389E8742A98066F3D5F4703A6FD244E02300537B9D1420498429A426CCE1FCF44ACBF4A09D809DFA7834749E945AFEE863A04B1A7CA8FAB3110504C427B1BC5083D586E9A146F8B3EA0003A49DB68A17DADB38507CFED0682FCC84F298376FE78BE2843222B3F6B5F19050AC92DC0809848B7E71E1CB5C0A92259921DCA585127B628D3EF2AD5ABD2E356EBB646BB705C7F259328547F9D74DFEA7EE5D3514879016F199</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #929 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0F52CDCCED06F9167F81CE073B949461DC99153E3E12A40B32476ECDFDF468B8BBFFB824FA561012972E88E6B52E7B776BF98D75245C8F824A65279E7CB1B9EB0249EB8D816E8E45E181A9381B831BF557886FEF0E525A779E480CAFC0A7CF53B7C14D36D70A40D0DB9598BE0407BAD060E1EDDD3782A49549D76088FAEEAC6930868CC8412C1FF5FA07DBD7EE824ACAD1EE39E1793DFE7C5ADC8162303A0A7C7CF837DE6F7E1187E221E8F3F2D690C7477E3A3B49896BBB8DDEFC07</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #930 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0C15B0016042B0D2A4CDB056C6986366CE67B3C96F7E7BF9B10084B08753FA9DAD93C79E11A73C718850035F13EC5053D34AAB4921003849009F9FF233BFCE096CA742CA9737E2B9ADF252509AE89E397FCC8134169C7345ED876C04E56C1EA4E795F19C54A8AA1874F56C8DDE78ECC30950794CEB9832F9559F73253665FF486361C52677809C1F939E7F75AE57763D5CB43BBBB74E802CDA7D3E902F328BE070112D924395EDACC4A4A0CD9CD9A9B68F881C6FB81D271C2D1F6487</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #931 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>09584AE4DE3B0A9984ED678F8D0998B06DEB5BD068CEB5631D987B57CBF1C090CD632BA63048A8A3F8B2772B9729065DD2D71A73B24BBA35CF3E895EA8A7747EB2B58EDDDF2373A034F22C3395BD4380C30D300A110FDCF9A4483BCEB13CDFD697D9681143832151ECB44C8A509535521176C3501002389F41BDDFD90C5AB805BA2F231EBB7B0AC76F5B9DDA4EADFF79400B7704EFBE127226A32101672C6EAB1BE126E85174A48FF7A87994C1CE66ADEBE6FB88A3FC34F2196527EB</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #932 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0ABCEF69D400CD46ABD8E59DD0E00880B385E0FE1AB433A81FDA2FF68D830F01F561D905D8C2881DC247D04919BEB8B8095761C55A0A071ACFF8D77AF5B7A45C1DCA526E6F59156249E79D94C90CA0DCA7BC3B887E1A30DD21595E10D508CD5ABD26D281ED8D6EAB880313000163F01BC25D867CEAEAB58A2D009D5FDF5EB47E79C6C4FF0ABFBC511FF5DD20488AC1B66425F479650248CEC0E0368D6319F43FF028494F283480284E4449FCD26EA3CCF278572497179A9F398BFE35</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #933 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0CB7E9A176E7EACD3D4CA9BC2985CBC26D611DBBD369B41849A3283EF1FD1EA10DAB7352B7F27E788C30419E30E7471012362459E865149FBCCFCD009F0E1D4E3B2EA99E480FA702659DC613E1FDE6DC91AAA9C50DB799667EBD2DCB24A9520CE84528D54D4476A7146D160AE54850D5DB34655CA963B9D443F78C192ABB1E9CFD46B3657904144125C1C6E16A9D543D667FED3417B489EB9B381919BBC8D0EC7DF0CC578B450A69F5B4833B99576945DE08D9F76A259CBFACCB6CE9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #934 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D4713A015384D3F17627773324A305C83E0B6AD90915EA11A1069090E6509367377AFDB14C1EBC4FCDCB41EF2600C3F9D791E0B42CF6551889BA373722407DEB844DAD5F3F0AF8BE2635FA0EA6866C32A06E82B69E0B009F87FC09998C92E796D4AA3800F243CBDA114B9A484EE5750F991659019F297621AF7DFB95F865DA107D499E3FF7B50880954FD6B806D2B8123D77D19FEC19FA60A0CE29B64CF8FAFA9D5F15C1528BF7297D1A730F6553AE2EABF5AE2DA533A68A4FEE93B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #935 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0F914AA9469F46700D703A5E93CB2C1C9690A109C8761F4D57976D581C44D03368DFC9A760F5A70F238852A6218E27B4675A21E8685D130115BF382104B77D95F8DC562EB083D230C2B5E9E401497410D54E611F3EA37723F7A739C3FF1BE8ED6E593BD2EC53CA317E5ADB87D123F9A50331EA1ECDD4C5CAE42C0A28704050CD2D824F2D6670ED2399F0BF9E68BEF142744514B922788D3DD9FAAA0DD1CA7A01E7C78869616BB2955EA646C740DC7495F95BD1D2F73102CF31353A3D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #936 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>090A5CB1A39F151EB0384795D19C6E70FCFC46DDB27ED476849B9F9D106CCA61307B90319779E48840BE426D7459685D86F90BF500F33993B6A90CFAE4A830E5EB890255CFD363C193F01BF217B42242A8663F445346478BEC52617E0C86851E1172975B16C76EB7ED3B433788FD97712AE93427F7E81DDCAA78B33D210D7F800A94F862A86D57C946A83B03904135FA048D112DE668DD9448883CDBBBCD6E03439AECE1F33F9601FD9607736FB7F126A35B87FAC547DAFBB5A977E1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #937 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A024E8D1BF906518AEF0A7BA65C293006BE5C352230EA18298B7C039E1E1B0393A30A109F920B435643C19D4D5382842918DD28F2121DB729441029CB6F216EC39EAF8DF2244713439F886AD8CC6E62DC4CFB09C790B0C3A534F2495E28B446B7849ED8A149DCFF5B826FBFF35A2580EA9E199E96D59C4E65E4A59BC79CDCD82A0DD1F5FF19DE39283F4250286B6E4EB56AFAD59E2F63B60260DD5625654F13FD9837A3DD1D2E6FEA70844703A7060F194934E217FEFC6FF12E0D2F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #938 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0BE15A152D007CCD71D86236C2A8249D8FCD306A12E3DF60A3ACFAD41C211DF12D59B3EA7300EA3C653C0061E5022FD35EA5583A3FF38083FC6701D39A51901523BD22881B7E7D9A3450AC9452ADFC9A76FB8DB48B9D05DE6EE57BC9C9024B2BB730043881D8FA1B3B161CB2F8C5CE4E93DCB49A94E78547F08A79F919D7DCD0CC9F5DE47D72788AD179C9C28C6E0CC63C52DEDEB08B76DA5738AAFE03F797BCD17AD4AA51035D06701ED66179D5E383D9B20AB6B34E031273BF3119</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #939 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B36BB0815F6B97D89392D4823EE8B1AFA21E55C9E829DF21AFB5923362636FE8E55BF3362C431183E7F5DA31AB3AB09BCD84249AD62C942D0DDE2CFAD212B936F3CA907F71774B5D679BEC7F60365BEAAE96D1041C7B110ACB90EAD0B540139ADBBF219467C0E709F849A230EA7A4326F8B724BE0EAD5BE44EE114EF137A5AD90F65D22FBEA71AE14AAFBC91B8169C31175CF9EE66B9E1E3B4A85EE21EF5222BFA04B2B9AEF41D6C88B67D661D4EC7A849C489427254D524249DB41</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #940 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A2EA728F4736CA65952FE7B1A92AA677857535C6E1283E276FE2F8B41C33BBEEBBB4E88F643729AB1999B1B4B7ECC7E8916F4BD6A822B5FE7F55DABFCE04FE92B893F821509554201D9DBEA838B7E94FB8F7D3A4E1EAFEB9C84F6C0B45BC609C9AFFEA3770648FD0D796ABB52B585142ED74DEAAAAEA082BA85252EB159EE2650AA3C3E3D492E3F6112AAD6E9FB0DB65558A32BA4E921FF7CE8743657631D3271AA5BBEE51952C4901A677851A32853E4CA2C3AFF479920A42B7261</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #941 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0C6CDD39ACF60B19E947FD8D1EE85F7E379FE7BE30E4876D1E30FBCEF0D08D0C952EB098D997CF3177BC9BB3BBD1ABFBED807DC74CB0FD3F3CAE6778FBDAF44391BE7DAB480F43607AD8B007B40831422A56CC58388465F471BC8D60D7F23720BB1D763D4509FE2F84781D10FAD7E64D34D61A5FBECCA72DB77F47B1DD7DAA106F1DC3E27B1DD4000E9FA44E94C252B2FA6B47DF683CDB4E2A0E995614D6DE298054AF701CDC9BE5E53E8CBA8CABAA9ABBED05C9D3E3122943E4FAFD</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #942 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0AF7A6CCC8EDCD14851AF101F257E95E1DD30A5BBB62ECF3CCB3A46D91DAF8802F683344C93F9CE2A2912722A5C4FE9578E21F4D2F508F836D120ED0EA53246F4304F36AC4A1F06885173C46D51AF5D884FAFB8344C7DD678D7B7BA355A0DC34D2AA0B51A1C9CE37437CCDB2E9CC5D2532137668F275259F40F9396C2660DA36BABD6B7DEB0DEE2FFD2C56A56AA39FDEF1E393ABF00B7FDA4F84A86B1B5D86894619C4BCD09CC67E90162697071F196F0B5B79FE05ECB30336CFA72B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #943 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0F1E390357509C1CB981FB5CC36AB2CC51AE77A15901B0293AFAA0D9F5A2D6C52542CE53CF144E3248937CA5BE75F1630C0BD75BD3C6A7CF3B38F181A4D9B8EA5924963C86CB7D99ACC8047B885601372411FE2C1D9806139BDBCD17A05DF33B11B31E1BD264BD6B03C2FE411A2D1C36AB5AB0CDE48800128AB1DBD1F30991A3AF504E89C5EBF5E907DED76DF6F616A1DD437500C271AA215B060896D2FF66F6044D546EA1245D5AF3EB375AB0BDD0B8653466222D38EE5E6C6F176B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #944 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0AC0B2B3F070E115DD250315C92F783CDF9E66D716C06AA833EF922D38D4E8AA82E3F8217368337D965AF2380A8246C8D2D262B434D5811DA2171382E1C803A5EB2412B1765814E65CF7D318205BB0DBD9FA161CED85481E292C8D4A533C0AEE6E59B69F15070BD279A26D1BF7A45BE295C3B2FE485F973B5BE42E4D6E2E2B163DDC12BBBBD2772EC4FB96FE55ED922A6518A035C5DDB9C40C74D2943394C633A5039920CD56C005B294B4AA68116364D05A8E19A386A566D67E4A77</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #945 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0E2F6AD346CE15810E0A594967D5A6C8E79583A7C9AC263C4B43432A8A0E30A178159CE84D36B5EDFCB77DC796E8F2264E427C45CD78D30DBDFD853E10DBDC110DB877070E0FA7E1F48006B68FB35AFEF7A4E3E01EF38E239DCEB47CD896076B5B7AB4BD59CFF9BF9609E82CBB55286D59A5E62EF3A6AEF52FB7C98E5A15FE650518D5A6ED5231E79FA2762D5766F29168BE4ABFE78B8001DB332474DFE50A374537CF198CEBD62463E3999E4FEB673818EB6FCDDF139A8FFF847A29</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #946 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0FD12DAE73699D438B03D56CA7BA5069517CF28B086C9D314EEED0B778F7B85C277A43C175582163E207480CA572159BF4EB570362E1E9BF2B7967E348A13420159B412A2C22ECB2554755BB9BE72F4540A6820F56739888F3FEBA2CE90EE7B4400EAD04D2EED583424076AF2C24EC2EC436808C5B7DD1CCF78261F7E3AE5532D7527AC0048199C8CBCDACA25E582E22456A9C1ADCA1D75020407356147B94A3FE6FC863074B04950110AF5358FAC3890FCB2CB7672F3CCE676DDBA5</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #947 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0E15D94A6D8FD460AF9C14D492475B462866739443426EF12AAC5B4F5018F6178454ECE3F3BDBA08B72FBACD97A06CAF362BA2EBFE382B9F20982CB829172D7E0446BA105189DA3AE12F800EDC19076A42D1BFBE06AA5F44A345B5B2DF49452BF2048F974690516642942917E0922548D2BD4FF131DF9FDFCC151D4BE1BBE87C7153098F4D66D672BC0BCC8896C5C0B277C216F9BD864255F7BAD32BE5A8C0755AF6FCADDBF7ED723C0AD7C40300A4B417960563468340E78DD7EC59</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #948 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B2B5EF4C8A8286CE0DFD6006D0E08B4F31915FB8223644164313F28DA1BC7F785709153E588E1F8FA081D499372C04B31DC36935F1E3AE10AEB9456477905B2EEF10916AC222E26B426A6347F15F789398A2CDC2FBD3EEA0CC1F7BB0462F3033194D04976D5B6D9D99EEB588B941C1F901C1B8945E2F104E4727AF390218259DA2E7A2D4D79D1E2AAF69B85472153A24794F20AB966A655C55A3A82BC95C26BEA156AE7142A050D2DA9F79E5220187CC150B04899211FA2E31A1FFB</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #949 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>09F65AB8E3E477BABB1915970F197F0FBA33FD54232919AF995BC6D8325468BE0304B046479041E005A90915ABF09BF135657761071FB6E7BE13534105762FA914A558FF4D17662B03990D86C924DE39E94B31C8B1F7C094FC2FA636CA015C5B144580846398D409D0F0CFA3038BB0CBE24BFA9BFB0F744C1C662462F8034AA6CBCAFA4FB8DC2824665BAA2D2274C0C881596C15F308D99CAF1DBCCAA958E1707254B437E1F4C476328F75D5B59152DCE81BC32D58E0CFD84FA3203F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #950 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0DA4C58B89B7AD98EA5DF8E7E1241C0FCB68B8C95F9218316A20AF333585590BD54F5A992C257F03F3372DAB19754379D1F25B43010BAB45DC22D3502EF5BEB9BB5657A5011C8BB62EF20CC659956126B788B513700669F2C178B713B9EEF159BA59759A62FA0B009F4C876B9FAFFBFCB12139439C34BBEEA770C44BCE9CED7F87436F9099B1927C48E5A721631EAC7DEF5A987F994CF915609B2674F4BE43F6A528009D6285E7890A55F7CB814C8B76DF29F83066909A205F3F06A3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #951 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0C19D02E0E77D48D2E291A50A69C7564357A0E34FCB7F7ADB699489B3E0726A3AF6010F6C2728D896AC2F63374F4F72A61231DDBA53BB22AB47545DE645B4A4FF6F09F7EB157DBC52E98BC279354F1E56F2A407D301ED985CE3A94E994D1EF4ED73AB34BFE67637A04CAEF77D3C161ACD7DF630A367B341B113041BA76340B08DD9AAD84870290D99E7DB820D9DBC3646F717EE8FF04A6CA1F4416183A34531A5B07B1732B9BB4AE15CC9B3EA361C0C6070C3433D32203533C3B008F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #952 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0ECE6A7EC0EC3EFBF9745D011276D000E8A12091F68B89AB875A4818C53A2296A6FF88E2CE1C2D03F195E865650E0827A6CF70CA221D346FE37044AD5DC469DBA6F38A6FE6BD6BE3410DBA96B917DFC952A54FCDBD05A120F25D2050D645FD2E4DDB33479D9D73852156C0D28E2D2173FB32947CF2BFC837CE0D95362CA4BD2CB03244CB258D86C63D0EEBD6FCACEB69C2528B872900704511D76850C99D6B4895E28803E58284BF36D1E9B6936332D96235285988CC65AF38930AB5</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #953 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>08191E673144F526461770B33E7BCE5C83C52898D8D9727E2F7771891DC63B18CA02DA945ECE1401F923A40E7BD28460FD0BCFC76B5CAFB43DC5412DED6E1BCBBBF9FF1952185D75AC9B51EF235981F729A1FF321D991A3001686827918B8F0AE86244563EA2587E966C66AD20C2EBBEF4FEFC9CFD5BC052307AC1CE1E3C7CD030C503DAE1E0A0D8A4573964456387CF7D7ABEC0B93F8E6DA2971122F294E517241FCDA6DC06F183D69A5D91C5788AE82B2576206EF2B27917FD1EAB</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #954 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0E0B98BA26B11C3F2BA951860F3B393F2072DFB417F3D5C6C54D47DCDB0662FAEC6D58E7DD7A21B1BCE3756D8D2204B9D5B5B1E11192569E027B645A2C501FA6AB85D7683E5A1AC3812CDEF1F150685D2EE86EE820AD860657E531E5ECBC3508F599DF12746284BD57408C838F5AFF05319499CDFE824EF2D98A5523997563A64CAAFB636AA0D2494FB833311A4D322181D702C62DCC1A71D67A356708028CA9BD93B45689F5FA81D97136052426B3904374FE1E79D1E5AA3548C75F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #955 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>096F3EFCA93BFBFF62D82191A2E53FCACCDEF9381DEC8D1E8C5C06E64290C3A8C5B7D1F880E4EBD990190E568FA6F477260473C798CF88B1CB0D24ECAFF7C6D9832290B6E15FB1B9714D81BD84A124C1C8130B622E88E5359ECDAAC8B383672B8D5A0EC64617E4783CE6E271F0B42643258CFD44A3C4FE7723DF330A20A845235F01FC1D9C519A9F5EDD6400B2D2BDAFFE26B920C1A6225E8CE9CEA3A4929421B7BD1741D5E69A29F596C7F6F93E5E1D98FF28CCB94B1AFF031A925D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #956 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0FF770DDA3E2E6B4D2D1573FB0F781EAC748CF7176D84725961140B734F66C184CAD184C33CD94FBB1FD61B72FC5C5BD5D9B2A4FEA4F12D5AF71695C7888A4E3115054C45E6AAFB3CBD1B27B0D5F11E12D4FE685162133575BBDAEA34D7A8E5256438B02C494C49F2808E01AB522C0A231F0FC16B244E1B6813D820D4A35547C79ECADC04AFDEF65DAFF3DF80DD8A430A8DB07DF48EDBDB30FAFD50583566749E8661A7D4AAD7DF50D26D0F32BD890EB2D3C9069A5CBCBF5AB7B3651</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #957 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0EF77074BB2A2595E0CB272FAA9CF289B8757D3CAC6AAC5599544595062DF799F91799653A9E86B46EC7BC34E245A159BE9183F6CE7EDB2B52EABCB7BFB5CBDA4C1ECF759CB105A6A3314EC8ED4139155D0592F6B467F6266DBF20603CD438C4786047427502F39E34FF0890E7F6FAEED4D183A3319A77277398AC2360064B029CD803309477087E6B485BD2BE9E50CDCD0F42719F88A3FB689D09980D93F1877A73AED5614BA964686E482BD4353501F35C5CC23C8302DE03A21097</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #958 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0E1A70066A0248FF52DD340B79E6221E4398820BF4262ABE35472CD46EC4852DD58F729AD5798421AB4FDEE190FD7EBAE357A14AAE8A231600C690901485FA8BA027F2E2BF7BAC29463F7A7A45595AF32B6962D6A1618E870DD56A474EC428E1A4950E600526904CB7308C40F9F7C53CD6FE6052C33809C6CB77ACBCC77AE472D2B0423AB341DF5DE6582F4A82DB30AB3A55212EE005DF1364E84D72BB1FC2241AEE1192F784091C8D94BD2086F209E8369FB17EFA925C061870ED6F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #959 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A48EEA79FC632810ECDABC39C86DDBE505532C55ECDEAF21D8229EE443983A376AD6F64042EE77AC16849275ECD22F365C44FA1A86FDF7BBB376F91E9D8871E5C3A5F1BDCBA0006C948EE4DF5F3CA65BF2E8E5DE3ACDAAA622A74F602F534EB12167C4ED729787B03188B95B80D9560E4576A4FCA30CE467745AAF12F67140EBCB540DC0DB11F7F0CA1588D227A0946607BE52949266C35279199CB529A64B1D9C19AE62254B0A46844164C9EF5579BBE4C0FF25ADC8EAC9ECFB945</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #960 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>09A28E3C52374591D8292EBC9C3DE6446C7E2FDD047FE40BD0C52B17B9E510935603419B9555B4346D219823D9FD3DAC99FB4AA29978797EEDD9C8DD58C4ABC792F75388676F7C32B28A66449E79B9ED94549CD377BF855D9C8277AC557881D4FF6BD9B7D7D2347891CCD72C6BC55F328826D3C53F2D1CF6BA13A721F7758C16A55EF318793D48A619C38AADD9BE9F131D66BE255336965224ADECDFAB4AD995F9DE034D63E791055523FEB1DD28BF299ABE23F6A57EC89CF36ECD6B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #961 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0F4D0460DEEC169AAA05FAACA0B78B80FCF49B69951C9018DD74939594F2BB348C5BAB81D2A24212C46885D56145E34C68FB39306EDB7A562D0318E0A3225526872ADE99BCCAD8D73CEC4CEAE51898507336528E078CE795F604004650EDD32849194F4C4288260A67EBCAC1D5A30833A4B4CF6E88AD00C6CD1C986BA84919D4170C5CE45B0B15C0E99FA3A0D352338B50ACD170906A7E71715ADF5C401FE86318763746EBB198D1C2548B2DD8408A50A7F62778E5BE38F1B8AA7265</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #962 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A0D0998B202CB1E3A07C170C3B2C2E581F6DF1B0DB8B9AEDC7316A721060E59A1842D96E0114527A910D3A5093C792577D4DEC64F7A65C04E3949427EA5E426FFEFF8D7861C10CE9F731BF9FA3C992599EAB5CDC86A4F0C77FB0C77F4DCF6F2F5E2813ACC9B56ED8103691B18C6FD8CC007F155EF88A27680EBBF134FA8DF9E58BC9A70D7D8968AE402C8CFC2554613F52E9772B29E674FC9EB2D123B9894E2840CCE013C7459DAE06CD56F8DC258480D9E6D5FE79850FDE34FE45D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #963 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>098B28AB230BC5AA6C0CCB81851E5B429A9F5D6F8C3DBD4C6DD050B2288F90596A1D92A9F9E3762DC7AA920BEFA4E57012E246AFDE9D0AC772B4E4B69F823BEECA9592DE4045F42647E3A4D3812DD2732C97C47F01F7AC4CED2FA0965CB82459AF3A38863F549AC9E38512D4C2E6AD560374128096B68D34D38FEE9D4C04C2320B1952DE6516AC540F8F31DB19C8C5352C2DB9D3484E60A4F813332D703775C1E00261B5F99EBA4C6058088F1F92B7F8F5928D0BE72FB9485C8AB955</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #964 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0F5E8B48697E775B42A86EEDDC9294B146CE40BFA7C79406AC7A66444E955A49CF505AA69CC51A391A9F7894FA8FC1BC411D80725A379792827DAFDE29C3D8FB34A66EB40165686FE7C7CD67CA5E454D34C38CF9119E98093129BC7399043AAF63601387F9FB4445EBB21E5A604180271DFE61C4A6B959EA4A3C00263D2BA2107067F441417D443CFCEE6842474000AFE3AEA0595C075AAC37E16ACE0F928A58B5CC421A63B0ED237B6F896ACF754E28AAB9CE5AA102BA5CB7EEE919</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #965 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0F3E6E5C6A53DF246470E2E8F4EB9CBEF4B6651BF386219DF11694078312B46B511512F2E9A2DB260975816F44FDF8F8A16B2FBDB2368547F40CC00B1BA16EEB338A0078C83A38FB4BC027B653BF8D4578D98E1661EE15B09C5CF5180A54F803D5D187519D92F2918D534C124BDD9085EC45A0608D7C85CCB1F883271C7AD1C1F034D69F0353DF33DAED8E3743E78C65CDAD3FC2F86866C6F79A9DB00FA344E6FBCFE7EA120F813B1C1BE475F6B4B436D395817E0FF5E23C637C3ADF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #966 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0E61EDD51D49B6DA0E66F07C7BF1AB27CCC267B2CC25EFFBB7E6F147134367F70E3DDCA3BEC13D0F2B44C47CDF74290F756C78A41B1DD6EC186392738049AA13CAD05F078315E7D58A9D1032D055DA205AE6CBD8595F3EAB7FFC93B63D1636CE0310E2ACC49119E4B587A10C07196EA4C052B8DE601A11D7F6BA1356B338800CB3933E065EC41C13B621CDD9730BCCDC6697FCB25678F5F76B50871FE6D13CD81E2234887CBA5B1ADF51E80AF75BB70A1E80280853EF099DC5003259</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #967 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0F97A1571D5F1A969639DF61875073373EB5A9CE5D6644FF8B8E28648EB3CD4291766A383B97E048C124435723923C29A82BE7D887448405282B8588796525A2450EB97750650816FAED7EEEC2B5FCE499CEE62CD2A68A7D0F6F2D87BA0CD14A3EBA630AC39B65F6C4FD2434D7E3D3121A1660AE1B408E3CF38AB7BA22138F0A011D4C9616545469E6B886D1B60C53CF0DA6986FC391278165CADE1781020A3A24D1D8CBDD1A3D2430D5346811BF35DFC917B48C2E4F5C8809A31787</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #968 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A073D8360F51D2084DDD51874C4CE5579E939B9FA32939751D33262FE1B12ADD29BD59F8143B3BBF98987129E31774273133840CA55AE60AF02CAF86A09CFB9F9C038A6B27CEA9F2928A3EC9F81A2B566BBC3B2F1476F977122A4ADFDC437215E4FB4FA49CFD6B16E77F1029ECBF0C1435DEAE7487522D15FEDC0F713EA9FC7401D4CC2F19CF952152C8DF73B6EDB2DAB19244A09C445EA5B1C22C7C3509F22F115D130D55300D10A795E1792FC392B5BDA52D5A68E1862AAC0C391</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #969 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0C2F3FEA87C9240A4195EC7004C5DF115047413CC6E24E78A84EFEDD0603D54C0AE71945E4DB85EA0A943131A1BFB4B6B813C39CDD016BE4AFF266873628561D3AC1D9A3E67CF2C0A3C81A8960F523F0F59CF28A53DAB9982B2201384730DA61E551B6A5912CB036A1B950A3EE8918A117AAF761B313A54BF81DCBDEF03882DA06AFB89D1D84542B92041CA611ADB4269EED4EC4EB6C49FD9050152C6ED30988BBFBD40CFA8799B896E85CBA702791BCCC5B7D5D599D24A724D3A001</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #970 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0E466D4B132086AC1E3E8A01DB073EC8FA73E91E9D68B2F01AF61851B23042B2A4D729EDD29837052D0EC212C0C61D477EC414B248F81294B726B847B9F36E6D11AF94117DA56F146E05793D4695EECD6957FE7673872906A724091C6B23DB40FB51C3EB6B763B5AE6F01F650588B84538D038E7BAAC40C1D3E0ACEC9F3E84EBC65030833C9EA5B508F8CA27078C9B14EBC7919883BE6CF0E03E2DF2E9426516E14DCF097770ED99121F15B7A4EA74217B6BC73CCB4EC9665C25CC8F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #971 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0E3F722BF02B13FA4C3FB1FDB2E5C11C34DFD492B2E580E83233C76A6C28F9420A116139E79EE82E42C0ACC4C35142E5F2B0A76105D89CB86F9D60C691910EFD70362013A47BC76A8F9479506C5FFFB5BF2D2F1E799E70D9CE7F2A8AE6EB73D34CA01B61AE72ACE9E403AC77B9BD83010E5396015E9BE10F0A6F0DB39F99E27356175BED17182FC4038CDB9261FF471C578C2DD922E788B47C54C866DF4FBB340272CB4340B7703A1893360B301254F939BBB3E8EE467AB24DB24CD1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #972 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A2B560C92BF94AA14A749AE2C36F03592346B0893F5706F7E3B672E42996C302D8FC677309F1257AC93B69C3CAEC4A1A23ADE34DD96E301573E7D250E4D92683940A7159B572E6799829F177C05CC5EF2F11C71801DEA71861B5B08D8527CF8C64D2114171FA3EE18482487CF09225CBD7ABA3DAF56E6E87C37AEF9A850A8A3382E31F14FFC30CD417876995A6B037834A5A316FBF630345C2BB1F2FEA934CF8EB5EA1F6F5F6CF238A5E9514A38A1F624B09DB31B0815EF45070531</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #973 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0F159FD0481ACDE03D20B80487224B8FB10FDD47A268C89F811CC2A3845BD87A5B6B9E0F3FA903CBBB9ED7A03CF7344F58C6F67E0A11B9B751B1F5E9D04DB52DED993A82BF229F83DCE8A2CAA5D9E5A8FE04AF089826AF62189EA13EAC120BF93482BB5767FF589B6EE338F2B901BAAD0B7D4CBED6F00957A9D10F14EE4C96E1472F3B4E4B18C52A379CFB6F1A38C88A31E56DDCC946FC1FF6D8F065B120B92B2F35451F08AE5B62467D6514B3DF4BE717DEC6F81DBC70B242AC5801</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #974 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A5ED61BB7442351AD96E3E1A47E04932C26889631AF2816F0C106E09A540E660FBF83A973671F619D2A56E6BE3EB3607DF88B862A3EF70D18B3C115BEE0A1E56DAFCACEC1870F4FE7B97713E59E7A9DFC8E61928E8432A127A6995FE6CAE665B285BD146E617B11BAB2A393AC9E8FDC1D2C7765DBB4869B9D17874FE6A1266E05BF6353F584CF87D942FEF2CA22F18DEA916E9B595E4B9E982F13632CE54703DB8CA12B2DCA0CC592E3B7BE8DEDC311C8A445889184FE9061762D01</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #975 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0CC70939727833FF8EE02C36F5C96D4EC75CA679AF547860D086F4090E75ECB46394C7D073A4B4EA90E493C7568A5FB09311E00239D0042D518A5BCFBE3095D4AC4E334C5C36CD7697EFEF6EF78FC0BDEF5BE468C68CF86EF0E7B6E16E87A606286453B901EFBAF3A3D93A020E32B51440AD811747B0020212F7B5A5D2898FE4E0897EA9F0EB79C4299BBF6513242DFB5FC6F44786DABADE18EACD155FAB18BBD150092E0A304C5A0B58F158E72AE180358CAE7981CA7CD96234539F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #976 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0F12E0729949B5EC74E096AE8DDA14AE5F03D9AD233CC8FB297312E34650F6AB63E89C8684FB601F5C2C297D7CD7D03528473FE45CBC28FA07B9D745CCCFF8C1CD3E70A35D4DB2A938479F73861F55FD5A412091D920B5F77CA61F9DC5D2433E850CD8B0B61982BF7D1094C43A4043AE6A76DB6F859C3C7072626BF1CC07F0CADEFD62348434FD07CA4D195CC6EAB942B9A24EB17548BF61E5DEBE6CC38753B5BDDA91CEF32EE45B8080B9E36C8696FB106CDE84F529939C83712A3D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #977 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B3C2848140ADC2C8BD0AD78902444D2C2B67A196547A509268A5ED1EE912D8756BFBFA79433AFAD83E3C3B0C07309AA9F0C7C47CBD08F2E7F85785882F2DDF12C7F849A458C93D8A521923551FE3691C7412B7FC7C9F375267A7F1B7D8E91FC8476F8F0E9EF91FA70E4A20B6553DBAD2B3126CA9D7461CEF3B284620BFD6B3A49CF9E885A095B8682632558D37308FE6044B8AA959BD09CDE3A8D4DF7BA1038BEE982FFDF5E76546D2580BC23FBE090C3769FC7B5B918EEA5BCFFAF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #978 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0DE0987BAD2877A6429A9FC077A77BC3DFD896CE7AD0274F3C8811AB06517E7747A0DDA9CF5DD974E591DD87EDB576177B02651F4D649A9004B9BD69F64292D442692CFEBC839F10CFAC9A572437E06173F25B689616155E8CC33C7EE916D7486A962E35EDEB352F31A35D5653080D9FEDC50BC30975409B7FF022B231DEBC102CDA216683699EE3A4BA5431D195735326451856FA2A9437648A769551E51D652E14CC4D2EA167216A00E8A0B9D311200DDECEF7E53E3A4DFAE23003</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #979 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>082CAC54F5A6147BCAF7BB397E679296FF5BCF3EF6B27FEB157652D8475570B0884B43E297DF54C79848C3119DDBA4462BD30A15F529FB47FFA71385AF918BA77FB75E9C732EA60307278549EF4E134F77DA06A114A817622AA9102FF06EDEDBABAFE0B4946C054530C75681CCE145ADD96D256679E54C6031A205135B656BEF98583021D3ECF85ACC8B98EEE2A4BD24B44D187D5BC49838AC4A0E2106C8BB32177A1D95B2152222CB05C9B92AAB144429D5E0254A7A6660D481EDDF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #980 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>09FEDEDA8B4300E0A94B8B0A64E97766DD777ECB4FCD6605F04CF5A6B6D801AF05087009089A80F6C8ECDE6D87A09D4820699FCF7FAEF4F476204506C5D29031C297C607FEB039E96CC2A40A19AF1D60440830ECDFF39DF179E82A94A12C5BB675517CF5619BCF612FF2659D26FE39557A4B8F0931D3C5EBF1C396FDCAB3137B9FEF52985537815C9BC5FE14FD589CACC98477E4EDC96509519FAD25DD6A373C8EE62E4ADD42413E1B266CD64DA1CFCBA33F31442C05B6AB482A8F0B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #981 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D8CB5E6037673847E459B2BC1EBE4BEB02EE2112BD0F4BE9670A9075BE6DF64A0114475243DDC3A8EA344862400089E7D8CCD7361C3F099EBE9A43295A9E19BD26133D02CA3419FDDC9E31476D4D55C6CED0596DA6E0332472804A44B3F711C8AE4A2471C72181E095398B0531E735FB355E1ED781C6DCAB90E0ECA9E19872762A70E40EC043EFDD92BB2B779E2FB67637760EA24432890D1EDD7FE0B9D835B63A38B1E72DB231D85E0CA0A5CF60FD6D9A24916D511077243E23483</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #982 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0892DA3C78BF103DE694BABD893CA7E45433ECBFE4920864BA98A0B679782F8EA04F884BB04A690F7A740328A0E2F0872E93DB7B7DE71BDC7F9D0ECC4BB500B382B4D5F45453035DDBC9F32412563E62EBFCDDD5A461C19D88358FE6B47B18EF225B65B3CFEB335C315FD447A7260AA6E27AF89D45DB3EF4F7E23274BEE7C2382F4242AA4BB0176C680151DB59ABAFB8D9DAA88F5BBBC83C8464D9C420DB7E47E9D36086FE970869E5F3978737B6BC97CA20683835161B9AACE0C257</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #983 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0DD884146D58CE5AACAE0E2655CB549B723B4557B3A245CD3CA29EC0F7BEA1D9E068A95EBF11DB75852D5E53F0C16B3963F14F5EF2AD918481644DF338E65D127F432CD56548D556659B72C9B6EFA97221277C016A9D711C8610BC15259C1F7E2963450E184DC3462BE46B460FD3F92341194887FE3429FDFE97DD20D60D48CACADF3942F85133621E02EC003A368B4E40904B1180E058BC2BE9FBF29057E437F1DA0CE9845EE632B02E9DD098FB0186C48D6510A7E99434E2239979</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #984 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0CB4306CC49A4E0250E0A71241A5E155B429F524C6CCEB4431B47C99F41504FCB041BC66218598A7140CC2AE4EDD063F026D52F6D8EEF0CE8761831B1EF9A5C9CDAAE2ABB7F2FF080A794A098016C44A6E3BE180BE9B8AFCA52506B79F8C95E309008C98CC0892FF0608C1031FA32DF48BCDB97850C91982D23D7F7E10E35BE0C94218481609EABF67D3E202DED0988FC1BB5C2A7638FC371BDDA27FAABBFFF2AE4126307931BA86A2C0504B3530D807E3CF0057861287456A61C4E1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #985 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0FF702107F98CC5BADA20378E4C8A96561EFDF00811BE14F61438B562E97C013F5D55839DCDDF589EB9A076A9A632D84CBAE31B8BF27E5C7792B5C8C7E468ECE8F4A185161BDE2899F2A368824B822054EA8FB01FB6450E7C08EF3163032B725ED1929DB32275AE3EC5E4524E369F0477EE696D955F8568BD50BE45F30C426A10D99928C54B8354C7BF231E4B6F739E5AE43B5ADFB9DE076B91702FC02D51B27BD4AFC4683B803D76B6DFCA3DD382D318231AC6939542C4CFDE3A257</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #986 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0948AC0B9842C41AF658A4D115F41CA84177CF39A580936EE22755AE35C8CA735D7336DCE1A2C912DAF49DE972B8ED6110307ABF86F2B4AA27424C84392310E71A06E784A006C881C9D3432747C78615389B0DA54DBF2C1580109BA2CEA1EAB37E2BF00CD077254CDE157450EC475909506AB211E74F3EC8925D9FFDD82B817EFEEB1D5A8D550794C2165C275C09746DEDDCB5BBEE005D2499DC54237087A8BD847737FD276365708D651F6F59EAE444C4425F9046FCF7352B615B1F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #987 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>09BE143D67BB624660493A4CA649F5EC97D5FA498ECECBF04A56BFD2AE621A9960DCA06085C5896EE94A4D4118934D5D9C56C7B78CE05968071B2955BAD327D9FCF94DFB05DED4F06336CB5F6AD73E166EC715104B2B68086267EE350E6F375676FB335D209BB09908359855F5A02AA5627D7564412B131583742A877FAE1A7D7D58B25F3F15302986CAA099002B969164A12ACD4E34A03938D66A5F01709BD80A8CC81DD473B3DCCF0C4AE8C0BB1B417281E0F5DE061B3A9348753D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #988 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D866989CB15924AED8901052906AF7D57B5D8845CEAA1691B6C2D0C9A6794870EE0B98FCE881AFCB90623D01DF9AA8986BFD87C3D21BF0869C07DD0836FD69799E1A06E58B7C086565ED45F0CECCAE67AAA14B16A3787B317BC981A82F06F05724075825A7D3A86DC5AC4499535989E289162306AF887F50B4C15F0C485D6FE5F3E390F2DB289B7560F39BA84078675312120987A9CB04E48185CF6A3F3FF8B642A7F4B8333450E9E3547CC88FAFFC1E4E0363884C904E32D35DC57</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #989 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0A814A8C176ED82F58421C552C54AB39CD1958C4DB305254ADCC5EBCB3EEDB44D96EDE0D24016581C76612C835E34BA0BB8EA74048A6FA99339BBED5DFCD96CE3F66CC882384521F0A588DE350EB8E09E0E54B94B0CCD0B1043DCA9F04E7D0C93CDD97F5F300388EAC12A08E0767DCBC2FA45D8F66A7B7ED030FB773D65DA6597DFBB3FA8CDD8C16D1EE9DC4350D4F982CBC3D4B8A7415F007219714651A80DF1DF88B7B5206629CA6F87D52131FBEBFBE49275DBF89984E65D402F7</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #990 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0DA8C4E1D8D2345DD2F03C89E17DDCF6F023E359AEFC262438C3F0F855D7B7864427008D27F2E5198ACB03DD24DCA6790F4C0FB792F16AC42385016642CADF3921525C92F15D8A6CFB02A995F5AC2170217CD6446AD88CD2E495707F5737295E72B41341ADD4D26E9488E82E4497459C2FD7FA87CFB32E43379AB9C62716111A2568590A834CFE7878E2A4935F83782FB8D3FE1F104E79CD2F7027520E6C584F3E53A77CAD6CE52C35A0FA49C12B4F967BC1CDF7E9583DFA1BF87CF7</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #991 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0825AFCEC9FD3219ED4CA43977DB540281FB580F64769F4B36DECFC0ED7CC4D03DA285257EC865CA1531813711A80C4E155976A1B0CB7EFCF62A67F236A075277647BEBADF4059DBA208990AF2E3C5A9F3948BA26B7417BA05521C3B34051AF6915707B9D454E37BC7E02DA6CBE8BDBF474FEB47FF7BBAC7814FD5BEB00625E36A7A43907807E57FC4D06EF196AB49424D54B3A2ACD355041E060F1F32883DF87B47F526C5B2ACABDB9F89EB38E836238206E41405A72A6C5E9E7F1F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #992 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0FCF8F87D5C4DB2365E0253A03921DBE921D1FD182ACEC744FDD2769026441476A8C31B0AEDB7FF96FA43CBC288F35E29A1C6C2FBAB0C383DBB5A12BDA18339BD51EE47052378A1958ACC08984C58D7B7AF7FCBACA13CD5CD6ECA6E66B7BC1A5590E854A0C36FE208BF69E124908C7DDA567B861F2BE77914FDF1A722FB65F1B7EFF28D3D9D42E58172A64E5FB06A7E23B470244AFD615B2E47401FC48EAC682A2EE15472B3402128926A873FB0536BC6B7D060A479D7B093059A5ED</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #993 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>085D1EAD3E385B7606AEC278B5D32B40319D061B43B4507D2315D8511CEFB9E2A20170AB58D44073A8450CE5F27207434E979D79FFF8FFE72C99F27320891D0525D08498C89752E4692E3AD6682DBE9F4688BBE7B83813C5EDE5DB0182D37FFA699646FE8443F30D67239ECC4D509257D44B2E6C12E8687D3BD0BB39865411A539D1A3640CB2D8C21F24828359D4A00F79054B1FEBF177BC1C7D3ED4CF49C320E14E3D558D1CD117C61055A3F75D4DCA5A658044E3606F0A887B6ECF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #994 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>099AE2D7CD4675577155FDF7B5401488878D7AE3C99ABB431B274CD6157FC7A8410CD474954B351F783D5E3300076BE6F3B26079678634D6C9E8AD86D280925A13B4950BEE56CAE3406DD9CEC4BFEEA791695D7024D992D17750F9B5D77224F05623358D0F9447C743339921E969FB10E07BDEE44BEAF81DBDB2EAE3FC6EFB3A2560079FF0D265ACCB581DA87B7322849D2A51F51BAD3DB05BC49A5AF301D9B17C71630A684EC7FE4BB4234104CA389BFC8A2FEE5D89F3D5CDA3BEE1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #995 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0D69F09692E10CEE164FAE20DD8F4E36E6300877DD3BE7066CE0D40AE80AE4D635F470ADF3292FC138FD03F64505E9FE9749242CA1E19FF54D47FC8A3C2BD63E556A595350981A11A5E86074C4E7BB1B9134E95774B28C4C78EB4521CA45C6F073080AF0A0E01F242FF5399E72B751C7681EC7A6516919AA085B4F8767D9D80D5385D41B6B96030530E7AF9C0DD6DF2791A9D8976574215361AE91669910C82CE55903D52638A3C9810E0B6C41AE2FD19BFE3E3A0B878EF7892E7B61</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #996 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B5022EFFD5B848C227079338F193FEF3A3DDD2653698B273935A089D1E2CC793EB17D8101BEE465108DF2C1F0BC07BD44049467F9D8DE3697EE2B3E3BBD481BECBCF217474B74A5C51464B10E96D6E1480C583C3D4DD6204FFB1D5A68D340CAB12965299533F1B537C9D68FA4998390208ED83214688A20A3544C529C95E45F2BE3A50086E32F598E7330EE261EE6A1DDC8F5D00E3BB776F2D9A6B9F7F845CA184F49FF8831143FABE7DDBD24E4B450C51B550B2FA20F03E9DA938F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #997 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0E1E1969CF246941991C7A9B4956DAA3BE26986BAE73AC1B26715A93AB44E212930F2B22A0F83594284E9D77800441533960197D2AD6AD889D1833663F10585AA8E31C2A0B9B1098B3D726286B6CB928714E2FDA737CA876B1C113D83D6D0AB5979B8A416A0BFE3497AF8E68AD0DE76398C4105C1FC131A19AA58481E4A1E9DCBD6F778AD7ADDF743138AD195EBC362DF352A983DB48CD4174631A0864923127F7F2D297242417AA497F47E12EDBBCF5C7A74A26B68401B3D72E39F1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #998 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0AEE9C2A394E0DDDDCE1620EC10B5E5B051EBB0F70DD05C9A7B549453F213E9C69E9F9E8D6902B5EBD756A2F92D7F46F2678A03EEA5616AAA7EEAB2D37FA808AE90AA2F9500E2CD72CC987076442526F905FFE88E59407B807A3A69CF8E443A8FFF5C88C9AE96642E27C2FF2CCBE84673C6E7CCE29C801CDEB2058F7071AA66D66E02E9C27C33CDE37139440CA6413FC390FFD5FD6B9D5ADCB4E9A108760286947E9C82EA91CACF267E21A02766C1ACAA505C1C837FF1AE3F981A1AF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #999 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0E496B2D00E8DE550BCBA114ED64FF97718E318133329D5829BB03E87FECFFCEB0DF08E0B56F6816B82D4FC23BA0419DAB3F736D028E39EFB5E3D0DE6EF1B7AE4196277778E02D4A71F119FAE79794F430FD8B2291FB36779D810D73C46193179CDFDFF6980293FB857EF8B02365A33EB7C9AA76BC3C960CB87232680FAD54FAE1E3FE74D594EBA543698A205874EDED5E13FD987B2FC3A85FF0B1C4E1A5DC94D9220202F145B018D8AF531EBC4A9921D7EA4BF2B280EC94BF715E49</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1000 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0AE4B088969D00326BB4355742735324D6F3AC95DCA8B6CEB216D14FF8FC7706CC3B4E63B352F0BDC4A3182A57D71D92F5C783D2C21C55FA762A110EC754C2BDA0B914376E8395F742DC8BDE86280F97731EC77F098A1E45901D844AE867B13EA2B3416E144EC42DAD8A717A1D86AD680FC4E50B9875FCAD97F6406BC427261F09B399AED57E44EBFB2560068B323E90A6A2266DCEC7E36BACDFF6B6E3282AE42B6F00CFBE1E4A8D4F17C41F79D65DDBBA1B4AC7FA72E892F4B3C05D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1001 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0B7B29CC4C16C52307F60F415A0D6DA60CF93CBD3777157B28FF1C2547F7A5B167C6C83348B336ACDEE535B4D309081B6B691B53E4B3B85D76885052B4C4FD52DD884CC18E52F7963B76E22BF1BE48AE1E09BBBDA67AB05E76074CCB60BB015967C3AB04AE41AF64B389DC5322C10A3C2BADF7D5E7545B651660C1705D81285BA2A6BFF5299620BC6993F4990417EED183D5202BD49364B4F951D0D07E0C8A236E2EF0A6A1C5CB7B7C2C641700179C7D0A729970D2EA784DF7D2C6BD</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1002 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0DBC5C27A7CC95652AE1E89486B7F74EA0E2EB81C9971EFB418ADF40E8009B616862CF2CC99979FAE08E3CEF610150F96BE2CE72C8BC5FC34AA24A140783CD0B94A10A2C3DB4666821ABE2652A4519B2365BE95BA561FB27E4EACE10E0D2F315CF4781125A07B8FFE86B9F5CC38572951FF3BFB1F6D9761449D930FAF0B07A5531176CE1833D44697B56ADFE40F3E8A6A32EEC031AD2911D81889EDF627145F77B9253A5FFF40E9B28D1FB3D5DE8A26FAC431A463121744F4DD2C185</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1003 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>0E2BE87B35DA00E121B4007C842A6330240597D0FD96F68233AB991B6BFFDE57E47198C6FDA4357BEBE51D63176A734ADCE2E8F84E5EE02EE674C47355DB6B9776B97BCA0A751821F077B3203018C9FD0FF8D1651006BF881F7B886BEC8899DADD6D8B56C745B98EF197009A332DE48C4F39EFB88D07A8EFB689171722082AB51025C11A8A938BD36A596687EF936BDFCAC5B66C12F81BE9B6F4D1770B6EAB9F3C4E6B673A764FD0AEE302A0F2575FF41854CEE7AD4F07DF5C798009</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1004 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>F58CC097AC917323683695E12D007BBBBB67BB04F9D7FDBAC1C22C78001193280482D1017FC546EE371CB5B99F38E1FEC7CEADD812C8C1894AB05925D8A86B49AF3E808943138716478B79A695BA7D5502A654D96044871111AA16BBB20D140701EE62F733B93B2018BE55159DC1F1970C323EEF039EAC5AA055FE6F97EF486A4C59961F8A16346906C642C4A4CC8330292402425007899A20D05476080BE9E2E2DA74CDDC0F8576A4DE5704A971E6CE1C1FFD3F2FA094D157DE54D46AB755D913E5FA7B8AAB221D956F74F5DE2B7FF3770D6AD37D0BE1E9995CB047DA36E11413D26E3DEBE4E4050ABCB11BAF415F1F10DF37CED271A6DA5401</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1005 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>F3182C0315097C6488967BABA98D50D3EEAA4DCB7831AC5EFBF77D0642F2A5637D93EFF1D37F02E2828FD8995DEBE0E961FCE2F5C5B4EA09694BB8F6BB169EDEF5DBC0FAFC40467CE5AFBB2C87C99580A8D4C1ECAADC950AEDEBBCFCD535DFF8D639BEB2398A47FF2EC3C30167D16F63AF6261FC91C89769CE5DD614254D134D46B77FF0CAE271F7F13FD977CFF3FFB5B964343E7CBFA1354537BB39860CB79579B0AA409276BAC8530B7C3E7E50456E5C12501B382677FA707FCB6669E107FCD932EACEDDA2B1F9986829CEBA1EF75C34ACCCD725BAE16C47A8B66732F9263BE9BB129E80A0044AE2711F216D6401C21E1FBC6661AF2D222B2D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1006 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>8BEC4D4258A2E7FB3708E0A9FD1612B3C2CFBC7FE4E5500FF4F31FFF1F562FD7C70DBBC619925FD40FF7B8FFA00905D18E231A995614205EAE6348D0B839DD10B41CE36619D92684CAE0BCF3E20E628C96E8F2D5A2F79FB25347AA52F472C5F9FCC60B5D0A56E11834575AF9C57B024D1A94263C81AA7B0409FBA305845424BC93A1957C17868A936FF4BD1EB107FB8A31A1F4D7FD16CAB146C50D9620349B72A77AA30309F7BE96085462288D0ECAD37CEBA30252A20577A03E95D3DD0A7DEBD908B38A5CBB2324469B424FC6CCC03704A5D6E53E7163B86B217CC2E5FA04143E76EDDAD2F6A5580C83F532AFAD703BDA8753B444EE87F767C1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1007 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>F50D449AC3652E6DF452A55117BB236A6F2B76A1CC399C113D25A806D748AAE7306F32ECD18802337D53E89491BCF43112E2575BBCF2CF6DF25A1C8E1A719D4B57450B70380763C0304E2C09968E3AE5140F6A557CC96DDA83E1309EA4918F10498FBFB3E00E862DEAE2FFB6EFEB9FBF6DC2B9DD3455536A744A6E4D789DB43F0E1E3529B8997CFA390A8BF4FC812069A92D66FE641097A42FD7A9EC58A9244D88B9F6AA23A5286DB711EA3302210FE275D484D260717F24E65D36806FFAF18DBA947AB88DC778F0E1FB6DE9BBF588F0411A628CC2DC2BD62952EE4DB9CAF40F88384DBA3AA04681A7DC6129A1D69C79F9F24836F01BEC9862AF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1008 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>8AB29DF75450E6890FEF35706110DF5DB39DB387A850A57F973F1F42E21B43BE73CA69172AC9B5C8C10B7B573069A43403C8FD1A2BEC62B400C86905CA258025C6FA42E72081E1FA26FA0D23E71B7A90E0EA4B07C1213A81EC1A13CCF04CC5DD156DC926072260E8DF850CB75B7C685D91ADA0997C5748BBAFA5A0C39D613C718738629008F5C4594B5788618CFF0E86B9D5FFE62A28A5437B7A377CD18C90B870D4D80A691EBD2CC7CF1B88D5C5386B368260A39C96F1210B00E8F117B338F32389FDD9B2A3A1FAA47BDA90E17E9E75A633A5A7568AE59B9BD090A55C2A150E34F2EA0FC304FD47E7545F2BE857A3E201B5721EDF57B62A664B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1009 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>80CE5F2B32F741FD6B4971155E3B28B73975DBE535A9C762400CA4E611DA10400095E35EFB88E703D4D40ED537DF066B497C8E1DD221BD84B220EED9B3141047981032DCF56F14F4732A3BDDCCDD32C2CB9D558F78F1BDD7AC4C5D0FCE2A62465E5AF5C496CBFAE27B76E69305D28C0083E047873F7C24A000ED6F06D858F1DB8A370B7DA64A44EF460C845F0B18D8EED27D8B2C6755D28F765CB9C8373A96BC4C77CE15FE1B833F774D9A5F9F6066FC7EEBEEC4736113550F155AFF2EDCD9093B7877829F86A32A3014B8FD12C9373E086DB38CFACE39F96590554A3957469F99841EFCF45199668F3E9FA21743A3166D32346138154963E721</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1010 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>9BACE96B95EB178559985A95CFF95BF675E0C5364BC50FDD6FFCA85751F6CC532C0C3B7B49ED01BF6536E1535D44097076BDF1AEAA71E56E050035A450F29DC65DC97606B7E09540B4CD86BB9EC0EDD658CD1C8F11BCA1C9B02ADB71FF5D14CB2841B181D48D0357B21C8ABE5363D4135520E6291629FF66026535E1AEEA5E955326109208F40D6C0C7E784EEE945833B605AE8756D12FEE6D475215B43727D0DEF00B203561D007A6B21BC91A4AB256A7A4F448BE8D1F2F684E15BEBC6D9AEA02753C484EBC7F6A23E551030D0DBF08AD7CA89C57A9766C1F0C47CC75AD80DE06AA6AA9B5BAE50ADB78AAE740FEE7C0B947CE01538D784B8BD7</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1011 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>C39FDF58303B9849ED6C1CBDE5E86F291F30BF27A631C5E130105148242B7BDC52A7089C6F534EE2111B046023B46F0D323812F1492458FC74EF37BFAA6A9AE8DE7F447D79565EA649725DA8C7C425B7ADB79B416947C5669511CDE00BC51DDCD4C4CE95FD3A5507CC8CB8D22561646C7EB9E97E76781F62ED20618D255AEA204BFF46FF79D3DA79319CDF1E9A37DFD68DE672689C5A9D46C03AE2E700B41EA3AE236AD024F1D87EAF6F3663CF969B138E1893D0A524EF2ABABBE6954870A7BD5AAAE913797B0DAF6F55CB30324DA8D4B1EE55900C5DE40A6B587AD4288EB304D4C997F3296FCBA75B655EFB657AE179ACA87802FDC751A1CC13</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1012 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>9E0C6754DC397B33A79482975AAD506812ED87B37D6790E53D958BC20FC5BC2867B4E7E54D20F4BC1FDA7FC958F2FE9F9EB19BC48CAE525E1BA78E61B750FB1357269A55070F10395A4E6A39CCBBCA79F45A391AC9FA3E2F7DC84CDB49EF4C440443647637E673DBB4917525AA32C85EE80CB5008472BAE51A695A7AFD1FC7A57C3DADBE7D723B395615849D5AB0BBF352B3AFC61584B9914CD5F850D4EB23DF969C30C82DB7A29B453F7D788D12132B54D44C203B4F3FB48F035EF7FE9F41A9064CDEB83E501B1884144570967ACDA580A40875D7484C79B0623BD4FA82C90C90341FECAFC89379EB23AEE46129B5E0BFB73EADF2E91FFCFE01</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1013 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>FB60378CB4C1CBDE94437933F19BBB2EC34434CE14542B38F72FFC0EA73B62F7EE8C1A830B96ED18D3C8E8A2F87CD6BDE366C4D7773748F9B3E776405C038F05854E914AD90987367F133163F637A799666C88A04C91CE866AE9AC080CD807B5FFC394C24101864840412456C161252AE29D36F9F2996B921CE832B32AEF56CC39D9837F038A8154227392690580BEA2CFED1CA82BD7390FC91EF7C4B30649779123F6ABE4C23DADFF32974A368E1008F1E3A85D3109A79A0FFA49AC7E88CF120B78CD8AD80193C8C536E80A9811AE9A3CD6C102090F5EE77B5CE6B69BACBBE791B8E63A10CB060E0D0E38EC3C6245D8006E339E76BA6B1FE729</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1014 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>8B617C5A7C7BAC4B6200F0EAAB7D95ED738DABD9EFED9A109FEA0ED4BC49D4AF3D07871E2FC1B8C8BB719F32685339D89FCC5EFA7A585DEED1616A5684B930547473F334731166864B3B802CCD4D14C9C42C4BF89AFF802CAEAE43A0B392925D2EF79BE372B240FF7563E7A2792BC181C6965F8135E75526021A68B1BAAA702C5272F510B64C52CD94B3AD5C96E035FA0F842B18D302D9AB78C298B118BFE9B22C964859F39E08E523BC73103E9C618AD51C4ACB708E929007B87FAFA7BCB3DFDDEEEC5E5FDEB0DAD9B04C6DF0EAB126068E745B99A332C5A1583AA592B5D10809F083BBD6EEDD93044663268C78A6AD791E1C82B72C93467975</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1015 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>DB758DF9CE5C9728115BD736489406D0C345A75026FD2EA00FC1E26777B8719BCB2BBBED6D48FE1D3FB8B9925DC6FE86FC0E5576F7EECF733DACEB499D4E1E1700E65A27C391C64CC00DB22112EA2AC916523CC108A4683B643EB1045C2FBCDFF65DC43C5C6AEC144C4E041E88C2032DEC1788B9BC7DE255B6E29F6D78E0F39E9752C3CF0D0CFA64E8430226EF89062C6F1606000E3EAFFCAED2496FEFCA6EC40F944CD582B0943CD0B147BC3739CFCBB048E55B5D200BCBC305DEE0FDA15173145ED10B11C6E3AC72DA7079056F7E4976B64A1BDDF049A667FF12936619FC61167CF493E792DC4F41E95AF9941F823BCE9558AE7D3159B40EDB</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1016 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>E1FE3519163CF091F80D2F752C606321FD1348B765D86690F01935ED29309E2F2892C04440E45D09E9A5226FAA73BD50268762CC89194444E21E37D715630AF335B35A4377DCCF6095BD10B006D1F9C9DF92A39191C8E552B6DFBF3C48DB0CBFFE0E42B2128117F62458545BA8B27C39A4E4325335B6B4B05656C17B036BBC7ECA9679E3919797DC5FC4919C9FEEF86EC2028A63101A0818DBB3BA7CA8BA5A8E8649A70EE0AB9F07B3E80AA2A59F0B6E298EDE20CFEE296B27998892291D1D7B560D13DBD2634B6A23411183D618021B041B23A4500CCFB544239967C3DBA9847B934310AEE69F6B5C7A10812264604670CAC24B96A6321100D9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1017 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>B29349A7D62572BE77B20377BD512CBB11994297573E2500EC1C56737A7AD11DD97AAD997AEB97EAD7BA359BEC8D51150B10843D0BFD239A7D0CD18976A33F76AEE5CE3E777CD17AF6DBB59097CD09EC4401A059181FC747D1DF4298EE99686766310231A590C4A4BE09669BDCA2B125BBD7634A40DA38983C27FD9279D8850D36D15680438915BCEF000F031F81435CE34C5ADDDC6DCF68003B0CB794E59BCADA92C40A3681BD6EA307F6EF9C519E751E7D4340A01D898E84F4D3A82EB8EB7DA385FFCA78331ACDA996C06B5FF7C0FD7E7D94840A6D9513080531A2B26D3D8AB86B9151B310EFF5E1FEF36211C2AFA1205F350CA7ADC47246D1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1018 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>83E200CAC09304CB53E8A7BAEC7AD94E65CDDCC3557C3C61516F397929A6F625579A89828F2F79F68AE5FCAEC93E211355F3BF59F53BC769A9ECFB7CD6A4A6489BE78B6F07C95DE0C3B0E04C8DC62FE26757F96EE5F4DFBDB57828CCAC9EF3F401297CC1C38C3FCA87531C6E4595BAF76C49F170031118F6B72DADB810482CCC6B80CD51ACF06DA1E8B74EF3A690BEBFBF83AFF27788C97522423FF7162366A60E6CFBD4CA478563DA6CC3E2ADB9CDEBF36EEBEDC073784B2C456FED923C1ACD44458C2B65158A2C8F18A7DFD663660F247003C29C097B7191153A281054494BFEAA056F0DB128B5AC347409C2833F444DC0216C1425870E9465</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1019 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>DE63810827248B07EE5CD7F1F789CAE89054B9C710C74FE95EEED56FBB72738078E0563C5CD30F878BC364C376EB7A200AFFCD5B1A5EB03BDD010CD2FF9D02945E9F0F9856CD60B4FACFFD20A6D7116AE07ED2DEB5A7ED6861C1B615710A9A6E6C069804729922D5E57273D3F22231E9E876877DD59024CAC55261E504880214BEE37609EA465E4E027E7B6AD9BF637A8EB812FD43DA5DD8D2C8164959FD2C0EC4AA5BB40BF0DEF0CE84202C3A36DC54BFB8EA65C33192FEDE5193C56E33DDA789BC0B727E7876D7C42A83F80E9ACF2FA709E5C1748721CAFD867656A9B634B6F050E7906987E23029A6DE732EE943AA60F1986B30F55EF7A403</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1020 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>A235BD42C1DEB9500A245000C6B89483B92983850FB53C8B0F433FF127F5F6A6E9441E0E04D61B8E01CA860345D13EF1892D11DC1CEB44EF2B313A77FFAE850C8FF31EFC3B8E875BE79475C95A1708E16C117B87CD3A5BF81876F5BA96ECFD87B945A62C256254B9DA5D6EE28B2AB09873C47F66E80646D27D697E5A08C80B19D0BADF84BEAA101833F8C02D5A2026A587118582B6F6AEB3388130F345AE4925B61EACF4491CDAD10D54F9DB85FA08F6A0F5D332D2BA040F3C2A499BF553EE3EF5CD87BA67313153B5DFAA67B5E1C48356B207F6A46E65EE89E1D7DE5A048EC2FA4476D0A89284623F55BEA41DB24E499B4BAEC86E8A5154E945</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1021 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>8C0F2AFAEE4CD6AB6D6D47497C773AAE2C3A1D1B14077E5D64AE1D8A60FC16658FA6745571FAF76552C80C0C1734851603108EE3371511E36928C6773B8B3664556C81373091AB0916390E069FCAA015573B22D9BCF094E84ECC4ED7A7163E4F20643209F8580009E5F38F7180F4877BA5CF05576A22DCEEBC226C8AF06856F67554E789B00BE2E6CEBE62EB39B531605319323B8A4196D0D010A0780F69A07962BF1F336BEBB646C96FF773191C41A440494CA4D1AD030837EFB23304B90606C9D0139ECE0F0F023D0BC1F12CC7145F335E2ACA98520FE41121F71A9A36A905AC01BB709C8A1608D15A422049B64CE07159E8626D585A0CE547</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1022 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>88D596F8DD84B35FB5CAC680A6B3A925B2471C4BC76737F894A08E584B115378B8B261A629A7406698914E13A7AF475C85D4E937085950355DBADAB68B73FBFDCB46F412025B6A569DDEC090043D9C880F85BCE6111796A89BBF72046E4B01075DECAC85BF4B0C8AB2190E5C036A4E7CC5727BEBE01201CA05A763E81A0CCBC70890035370EDE01025A11118E93F80CFEC40E0360D275AC841373E8D42BB0EAC7BD314A41AFAEEDB93B701692D4A4BD07ED13E8EFE8910F76A3C71072D5FFC448C13A7AD79EFE3FB9407CF3ECFC03ED194F366A7105C8D7C3F78CE065981D0C5DCB83104F8D8B0DEF680218C375BBC68578FCAA778500E708F1F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1023 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>85D7C573D516AA4D3D6B01DF43E3E2A0660C4DA511525AAD485C457FD0B56832CCA2A9ACE89B71DFD35F1D2875DC07E06FB6B14D998B6262E7AC4ED3936DF4317E9AD34F95828F1F3514EEFB170486FBB9A36C3255982B5366CD72251672919D201906B9B5B96F5383A25049E25EBA18DFFF9D1FDD1AA35800FA2E468A429CE218AF5DE97A24C47AAAFEC8630BE709076811F4D84501C2D726E98A017112B30B88E2B6C9229D2C94F2970FC5A9E67C887B2B7E1B19801C4FEBFF2C31EE67E52A24A928A7591EBC8B970A7BD36F51D5EF7C635E2D6FDA1B51ADDC6F35D7F46EA7E31D14FFD8E19260BAB619167A12B32528219045F39FA5526761</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1024 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>BC454DF661ADD16405B9D431AF38EB599008ED7372B03C1AE5B15734B23D3053C0B164605126194E98579B1FABF2FCDC69FCAB2978765CE972BCA0DFA6C3504270BCF41DCEAD039A3417FD4FEE5B137BA2452D629B22C0CD7E54DB5938EB35065F5C09DC2CE6DAC545F96B0C696CD28C2C19BE62A29D53ECD488513A0D7E85731583115DB34B3351F7389F5C9E4BC55CFE02A877B1A8840FA21FE79C1F2B1743A79F14633659478A24E6B37CB7587D223C1C3A06855A0C664D45B9957BE71E28C3DF16F0AADD295E5754B70B410E1CE3298F177D6782C0F8A0577D752667116806B8E82B7E90A08C5B90ADFF8C003F1EBD6225E5E38EFE1BB3BB</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1025 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>ED29C629B5824E7D06C377BC07E1F0AB36C5F9C3D70D3CA3AAA169B7F3A558F4F7A820D5D2A77C1C9FC18BDAA3727A3198C80D6EFF8DB55E1AB676F6910283FA74FC12812ADA9D5565E95D135D034E8A1F2D23CE2096C7E7EE96C9D33003C81AD72A5620BB61CC79C78AFBCCD20BDC92EF392509557309B9B5CBC14E0189FFA27FF0F6217BEE16A644591BA3ADEE127DC6A09E4B6A141D9AB2F92CA8B9982A3B33338A32F8185E309D1E55B4321F7157775FEEDE21F150B42A75624EAA761A68CFEC36CC3E5E619A08B93042F4FAB9A9B938ADEE55530B665544370DC8ED9295F65F7D941EF75F325ED4063EECBE7492ABACDE3FD7BE2191CD27</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1026 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>DD40DEF55EC574CA9A62F86E2B7AAEEEC583C53FDD9EF40573C10DEBDC896E90D6764946D481757A0A1175EF8C097DD286BD00A876AD66E394799304DC498522BBEA336E884260DEB5D027251FB12261255008FFA5A390D3753EF0B821B72B6A137466694F714816BE9AF97D398800CE2DEDBB01FBFF54E6D97CD7A4BD04E3317F4780F0654D1BE7316542D787CBB0E6133ED61189F7D02B66E584EBD5A034EC26BF9AB4735BF14F9827A118A2C62B23BAA7E85653947F3FF606B5917239C1CB28254D6560BB9E867BDDFB7A8D4C8CD2D9866A9258B9EE6FDED519996123207735FA4CBDD9907932E4A1F6816911E5CD550D08BDA8490C4BB2D7</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1027 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>BE0756D0A340B1F5F860B41AFD7FC7770740BCD88ADEFC4701613338D382860FDF538CC3503D912809B6B954D1F6A6AAFE0A47E22E8BA0DB7DDABEEC09D2D0F7BDDA5CFD644EEB661883846D05C9ED78689447762B2C51C88FEC26BF6D8FE51E7436F2AA75B5B80A7C1578871AD9D58DADBC0A53CBCA6F0E0EAAB2F67A494A8803001F36F1B9CF87D92F8EC2AE4AA14B901621193E368FD70E27D7980DC3AAB64BBB5BBB4F8D368528AFDEAB597FAE1D94A06B985F3482DF32603CE2FDC3B359D8E4EB9D9A7D8E65703F3B0FD47206A69427553F955652CB5796BC9EBF601D88A2B87032AB985038BB8E6BD9EEFC12A95FC7FFD32B7ED13AAA4B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1028 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>FC65B2BB967E14D277DAE130F2DED05B94B7939438793ABBCD29AB4464D71101802574C4947F811473368BAEBC72F9B8BDEFED0AFA8BFCFAB1BFFE2441A816E5BC4B29A0FA5A0FC738554C082629B6B183C5A6EF100122759BDF1FA605055E91C05B30528FB99D306A65B0C2F62A860B212FDEAA5EEA3FE1877C3128655E0C5710C2945796A820052BE74D92FFF7E7D05CEB936D0762754699A87DC6C767D0010452ECB7A08427A7486A48BF306EAD95B8E035F24F57F04BC7009A166979C8C8DA92AEAD8456FEBAA2356E524A9C32F2738B9734B1B75175EB70C0419A928CDEF6A042F989A5E27EC9499219EA52C0A92E999AB546143AEF024F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1029 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>B059C2A64F7BE85BC87EE96593688C8FC620E1D7419460A3657FEF317D50CD92E509AC48381F652236B0D7809B16E732369DA65D98D2CC6BAD4191844A7D6F80E0075D84B2138AFE7D7ABFCF00F4132E5AD1BCB7F196C6ABC3A60ECD3E474B64F9DD5EAA236F612C4FEAFA8BC47A2BD41CD51B248CFBFD5D1396891E69AED22DD5B82968E5E6379B84853645AD50EC7198A8C6E4BB007DA40AA158F56B8BCEBE6C7D27D26B6DBC4424701BC1F212383002337BA9064B7B1FCA695811FDE87DD39A0795A77954214804EB0E6E533BAAB423A62B6D1DAD6AA93A78D8124C61EC3E9A70E203D40484C604E55BA0F5CCB731BE2BDB6D57DE6484DA8D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1030 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>AB00FA240C09209B9654A7882B13578AFF66889C0F5EE1EB50D9715B1C801A81EE6547EA1A92F340EA79DB1EB95927795EA17DBDA645501291CE35381720945916A32DBEC1BBEC3349F638771FC09268A3FB18D9B4055C38A42D1E097C150AF351A1E2CBF1EEDEAE01E09334FA4B393E6C0A737F05696F483A537FDBECA91F934A9A9BA2EBC5ED9E17D6332661E6FABA0AF6747BECCF9532FF2828E9BC8960C5F0E13E7BC875FB58F9D63596EF14D6517888BB2EB24CB109C99579E51A79C3E61A94F0BA56EB21AF3A4E27B7E95D12270B6A9039B51AE0C6E06FF658607D9C4149D450AFAB3952092F75E42E98213A7D5DD8D8450908E433B0A3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1031 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>93D2B1E71A5344882D5B605AEB881190538577490FF903E5ED5F0679D498A9D286456BEA9FDE36B81F9351A66797C109A06538F36290A4F2A4E9CADA0C554EAE789529C184D48E5B46DC4F5426E65400B0431259D1A6B94E46B66295469DB585F04BEF1734A5B6380DA877B370DD9E4F762C38B0E0FF0627996401814A636247D30EDB7D7E0DC9EC594D82DB21873F2EB39214A644518E66CA08632DF6239C769BA10D05D32E2F5BADFEE055E9BFAEDDC990EACAA4EE77F2E9A9B988849C30831FEE25DE3B3F04F51BEFD4F5C0A26815D953A1786B3D237B9782676CBEEBB17F4E1E3F1C66BC82D0713C6F0AA476429D4E3E1D300C7338CEB84D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1032 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>FDF8FBB0C0A200C968E35D10B3CE3C3B5E540BB661BB7E449F3C00BD6A38018DFE385C2B1E8B41EB7A67D7D3B660B5939C853E9D967DA25AB1D7258100B37094773E5B5A0C068A761EFF4EC1617F88623A4FEC0BFB92DB571A6076E2E6EEF9C385B779833A5E226FA7BEF7A14F108D79065F06EADF5753C27F56B6C5FE0D0A30DFC39285727EB668A0B22C88E4F972F15D265AEB6CD8637A43AD63A517212A667664EF54B55941470A76A17DF856E99884E7345CBC17040C54F8E17FA41ABDAFB69A9E76D3BE200EDE4740CBE7C8DB0D17212A70EA05EE0C5F2E8A0AF096C3BB974E05AC39C4B252D3AE6DF0CBA9F5266EED2CB11927FC23EBFF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1033 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>8D5887667FD8772DCB5424308E4297467F5CEFF10C7478F39FA24A61FEE055FA2051DB67FCA4386222DEC0E54DDCDEA79B773C70A421D7269A49CE538F2A7AE463594581FCB6820792CB023E522AE541B638D01CB3B152E0540DF958267B43C7D7A87D589D62E81ECF0789534AB8EEA976EFD148CA4F490DAB1B076326F4FD48F356789939AEE9E33BE9546E052DA4822492BF9E41A36EDA9252A29743F63E3503340F9E921DDFEADFB4F8A6CB5BBBCD389CA5F3A9519BC17EE82CDB31CC510F691B95BE0C107ED77C0B3C5C862080601BC87A5826244E22C23EA141943C103E0B754F3B1A89DCE748F03E8032E87B3B2805FC596F191AD4D2E9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1034 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>AE01D767ECF53824F44BE70CECF72F7D45313061C06A7B987AC864855554C1110BAE35363C74A409F09006622DE79B38C6EC0068D8F554A371CEC1E1F6060869BA06816A1E3AA60C6B7C175E53A77906314C2DFDCF262F15C4EBD8A5E18BDDBDBBC955A1000278000E9B29A87A1F8B322168939CE3A579768C9B4C7C1C40DF961512BA3A63BE973F331A09007FB4DB859FE14E61972A10335B51591E3121AFBB5EB4B0A6F853691FEA32B8D7693EF375035CC17057089AD32B6CB592D8005CE4F12F0A0F375286B986E19F3EBD65480BE01ED21021ECCCB7FD471B43C9CD514D2B7B9D660DB9AFD385827C3B1C25CDF5DCB32F299356924483F1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1035 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>CFB5B79D46943F9ED12F231802EBD2987A3C2205375DEAA27B4535966AA7E63FBB18EF60EC4084041900C127C301C5F7EA0A53209A187C93275332A1564CCA2CB6106F5680762B98E0384DA7F80CF1D403F40B0D7745C350CF07D38F9C11530C7CA1A1A2B812A8B44A7FC4C435319AC52F41DC17B611AA33B363CC8BFAD218F2045D579947D0F960759253CC73848D5F10FE01AFBD7A5F59173BE19364AB66A8AF349ADF74F9EE02866D5EAB1A78BD42D51AAB3B3F046E5F59ED566895F1D9292842FC36EF7799EE73AC55BEBA3A4DEFDFC1D951A97D6877160AE4826FE648514C46DC6257A9EED72515268B33CBD5025BE31949FFD34DF2B161</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1036 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>CABB796DB7A7BB0A02F5593F0099F828E3A6F4CE9BE97DB4EB2AB2F6AECD39D29D1E09BFB4187B18AB41008A17F9EC24C95FA204A1C27A95F2744482E9FF1B7489428F12808F255CF421127AA1E9BFD1F567E55EB7229617E273AA081655595D837CAE8C7CD8378AD08B099DF5E0616033D5F600B9D4E8D550A86D2038CAFDE3E881E39BF8E39B0E4A65D480686D46E87C7DF5945412E203A439C3CDE4AA9ED5D86DDE557BA9357CEC23D730D93C2EC3C96086EA735DED2CF0C84C504737DE76FF1C1A0F02DB3465FAA9804EB7E339CD57B198C269945785C2B88F6F8F9AC228A7C0CFC3856C07C0FFC5CB8A60B7F2A0E046C99BE2D2EE5FF2E1</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1037 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>8CAABDBCEE62067D6173696F3250DC618A1D774ABFC2507122F18AA098563BE5C92B4FE1C02CD888AA026E44CAAC9E8CE3230FF22D8B8EB3FDF39880F1949A368593993BD8DDE855BA2049BF1CAD73D06927AF7559937F8B01386ACFB9DE9D2099F6015C2CD9F3BD0B1F5FC7F2E38DE3B3F7242EA26D1845354D0E06D4EF04D405D61A5F06F349F2CE8DF75F43FE77D1CBFFDE5B2AAC41C9C383B46F7F24A9A869A8242212D396D4B7C627BB3A271C075C662C2DFFD1204AB694D8751D4A7599326731AAA0BDF8F699D0342841BE11B910310FDF987E70414BE7D27700C2687C17C83A659E936F7D04E9B6C1C4B78C92891CA1B25A7FB09C9825</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1038 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>CB97DC69E0A1661AEDC411EC6AAD0FA6CD295C2723F962E1E2B8F7FEA9066E142662CD563DB4F73346A6E7BA5A09246A306F529C498F55CCCB9D5FA8756466B9122A5F660A1390DFDEEE55BE8B8A39F44F8AF338C722985BCA9FFF482E90027AE2A30724DEB8A4C4B235D2939EACE63399DB387A65BAF19472730640C28B1D62F544DE387FF6097AF9BDBC2F442E6E49F128A9B23C112CA9315F15D26DB0C3E906402AB3C0E21905F9F50EB7854E47B16800D678E15096EAC8D254658D0E158266182508308060A9A45182B9748AD1556EA8E2DF5C8D081B9BF97FD11E3D6164B44BA4A435374E8787062CDDE8A713340A08A903D3362B627489</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1039 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>FE7189C52C4BBF700F40803B2FB435BA749AF76D2713394C4839FFA36749791AE7FF018FE937AE23F0580E4FFB6777FA28FC383EE1973C631EDC07E03EA3A571B20C6792045AD2437AEE95BA5EB9254D610A1F14D6ADCD516A0C5D9DBC79E1CB2881AA604F2FBA8B50C77ED4C47CD0549EF0316F1CF546050C1EE7DE42DA15EF862CCD1A852D4C94A672F029AE76482A3A1FEF36CC6BB961AC141D4F204DADF7752195F1EF1745EDDAB9573C6DE0405D468D4620B2B851C753D0509B1D78ABD48F76BF378154789BDEF6828583EC88FD539D49A59535C1A844863C8B260EF9C20AFE952240151789FFD20855CAB0F7DB68313B3FCACAF5A1C3B9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1040 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>87E8516B39CEB0EF9509F96D92FCA4F531838A54B421CE75CA9F94F47FD772E6A08576A1115140F12FAF3D3B3E67F7F7EDEF4ABC93877CA96AFAB27C2D1CC9CD1C60901CF6ADA1FD100E962680B8C52CFD87EF2B23A737AF46F03691EDA02ECE9C2EB6E500CC04E5EA7D582F42E49E49BB12F7A3FD028E9A47BF28C7DC92BD06B10992331F8DAE397F00CDE80FC440C5F4AB03470190DF0676B510B48C8D4A5AF535126EB96BB3699C5DB30AFABD9FC84C840069F4C059E59A3FFBCC5084D24FF5ABC452D334606BF79A3244AA3C9DCF6192DEDCC08CDC8E9368A1B0D08B115B1A1F28F5027B8B7ED95CA8ECF82D7ABAD8F5FEE288DF08950CD5</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1041 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>BCB3246116D024E09CA65124675D896AFD23C6C8710F832DDCE77B9F1561E5E609006FB54DE7A2298F92B8048261EBAFE302F40FAB56CD8FD70AB695098B6AA49E98D1EAF896F6440EDC69A999695014F00A724EDA018028292DCF954BAAC4EA0AEB53844A3B63BEA8A57A2BFB3CCF8459169C23CC9885BB93B2F3E4094F849E7D2CAB449FD375A0D8A853C71305B60C19B7ABB25FC653F29CD75A2CFD886C473C791ADBC51DC7989D010F65D24B37F875DEB25829DE4A9A76D5DB6EF6A1345CBA150AA32180E1A5AC973DEAF43D1C8251D89E61EBD17EAD46CA846170684AB046A41FF5B7772D9BC3CCE1921E258D59042213FAA6E0A8FC5211</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1042 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>F48611CEDDFFA35F6DEE05DFD66BD08624E24AB5CF31E689DD14D7B1576C8DC9E921A0220F3218ADCF3768ED08B20CEE9BE04F5988910CBB32EDF3FEA32C59C9763CC8B6F5184202656C678EA0545505139CCDE943893CD2413A146A5978F58B2FA240D778591940C6653D6F85DFF2B780088453403300A879DA8057398DEB1AAABC860EA2A8E62AA563E1FC1752F85C9460A370BFCF3F840F96B6677412AB49501FF64F1A1C537E8C6D5FBD480F04272EAC66246586F0AC52EDF955C98996E0A80427C3436490E8B3513451EB04DCB2E902F85A2C9B6EA1EDE15F58325639FC1F0AEDF9D4BB50134D028F15B990C91C206F965D4C37A0002651</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1043 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>D2F319859A818F0B16039E1194FAD8A7632E891730B56BED9A29F438EA9186ECCD4D976B6C4EA7DEB4D6AB5B77A92F161A3D9DFA7EAE20A5083801215EB2C4AFB08A33E607BC28C59C59868C5B3EC707694E9AE3202CA72D43C62C369D74F83E7C0C5E4DFF9773938B7B6AD01D5CA7F6A204D27D04C32DADF4E9370178FF60FA6982D65B269998F1E7F1E556BDC4DB41CCDA9B114C80C64A2817B9A718100ACF760D036C2A7F69291D61BC03142C7CF5477A80445379FAA8A6208F16A37203D25F03B7FD26EE9A283123F4403B26AFC33F1740A81FF77875DD154370452B75EA0D2A3CFCDC660324F3A9E5E7C7EC0720FFD5925E577DB0482DA5</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1044 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>905E19827BA5AF5456814709000BC2B38F124E25C13CBB1B8C906921290FC4041D78693566364E10B32AD1EE82C6EED02D541952AEA877F0235351F534F48CE1DD1F5AE73BCA9CEA826046263D253BB6EA7F25818E4219BBEAF2FA94D2E394CADAE50C6FBBCCF4372DD084F33565D230BE5ACD42BA56238D99299060D4F243EF25CED88E2BFD15879A99C4918457F099DAC172F9D92361F47D6A95CBB42594B288AF5E9EC7D2708FB096DDC7B3ABC2971D532367235BA20FC412805F7E71D53E75C06654481EE09C586645EB21E9F6640DA4FEDC778587182F3130D9DB2D0AA20A18F925863A9407EC963C3183AFC30B8AF1CDA0FE2201DB3779</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1045 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>969BE535295BC08FCBA1B8B5EE59DD7E2493EA624B2C9DA7B1CDC07FB1AD6DD693711A3222106DA3E878280480021A750765DA074A2BEBE3FEC3C662A1C1378E3687095D76AC50BB78000ED9D4D5CFD073B8F60212BA223B61616D800F14B792F523CF9E60494A7289CA6502F3D3F112511B8D199552DE77C6D226BB75E70912D22888AE9E495592BF3E69202B4306A2344F3717E33BA30B90C28E3A9A49193665EFD9CA0C03C654935A7D381A59987F853693AAF3F02403F8913D058ED7190683916D1C05BF7FCA1138492A2A83654E04C321CF602CAA0F946AD8064CE9FB0AC3CA9BB9831901DF79E4295F94F35C013CA264952525D5C00B25</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1046 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>B3BF5EE7CCE20B2D6D1ADA8C05BD8C43F04DC2F2F528F29021481878A123B124D99172C303BD499DD04214A524D9797CD69AF2A04E63BCC934D89286CCAB6EE9D6F6C81AE76A42D52D0C906D29126B4DDFAA067E12CD4086EC4FC616E9E5C28A2083A72F9D42CFDA3010FFC2DA39673179A5C074CCB4FF6D36E08CFD4CFF130CD4CEA07BA9234DAE3F2BE7EE32ADDA7ED720EBF2F2909F305783CBCF4B89642CCB10185D85205F9CA53F8AE80E157AB9801EB121529EB5803580C4E5750DAAE676750E6C4E61AFE0BDAD083B01B12412100AE7936C9AABEBB04ECB273F56ED94A46192711C20A83CDB6DEEC37BC3F5415966C0D94B0277617AE5</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1047 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>F32EFE6C8972AF8654B7D20DC6034891A76A3B1B01510EEF75C85FAB9937DA8A4FA380079ABD7E59C191897724C07E825B3222325F137DAABF2B49E7E9417797DD8E06EA50AB38EADC787CFCEF942F68BB197E60AA87C3A4C65EAEFFB9CF2BD4DBBF16517A7622E9DAD2C8C5135C438C3C4E54AF4B64E36BE900E27DB5C2C2EC06009EFCBE821FE8B90C8FE7D15B83F3F4BB050CA9B7F0E57558ADE92BF538ABD7CBBE49B983CE3E191711973826341C67EE3AF93629AD0C9F2BFC86DC4F321DBBB9673FE378D2AC1009EB18F52C82EB508A780E8E0A8A3F7B5A119C89CFFF5F6ADC3C83F6409EB42EB448FF21BC75E38B3B6302367717295A73</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1048 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>A28E70871A40CD7CFECFADC50CBB837D284A067C35C8B5B56C6491042BD3BD43C2F871564F340EEAAF1E5F4EAD8B11AF10551ABD606B2F86DB03225F6F9075DC6DE876558BB35C17BDBF671EEF0521C435483AD4708A1C06521741CFDC5384A4D8D63689B12F65B5B1870C39E640F9621F0733D3053C917A00A7A366A385F3F7D5AB74B0B06BD4C5A481969FFF30EA67D62574B85B984D65B11D2B30A09E60B86B6875907CC345FED1C1AD348F884310800CEA62ABBFB4CD912692901435A10E965738B3887CA8C89FD185E52191238F344B42B9A97D19D343E7CC74ECAF0797060B4E83872A702E77D0BD651D2C78523F12CC55D2A58DE67915</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1049 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>A315145A3697F7B1A44E980E872965C9D76F1C884112E003FC17B3C03E1E6760913CA9C36874E220B240C015D9C468E1DB5C9EE1BA97F202DA7EF67E09949D573E42192EDD54E6CAAA8852927F39D10721A2B1E92BEBB6976F9903CDC46FB98C3694C3EBF979078AA619519F26CFAA16A8C61AE16B282CC42B822C43B342EB61969DA2D939C78A27B4185C70A5EEE9D05F666669D10377E86CB34129653A28FB3EA9547C984493B5646F07057B3D0C936C46EA082342D2C7DEA485364BCD1D346E933085E249F683C689C79C225294BE340A8BC6B50A8BF9296418C3F5C06B9DCB17A8181955CC4003AD7EE89FCE5FAE10BE68C1AC85E3939169</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1050 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>DC8246A345FC410D1CF4DB5C2098E77EBF53D98D5A1B25D6B08379196B2C36B79DEB876EA34B0D6FB4EE65351408068B3058F4F74E32AF8937C74FD6C0D6ED729BA8B7C611C6823AB8CA4B386D5E9BFBC81756C95CD16CDA2123A99FBC229A9290EEDFFFF71581815EA2B502FA03FF2D90F5446C1F30E3A188C5FEFE1864632B9F0F0F2518DA1D83CC86F90CFE20A2F766CAA9071941DBCA3336D173E072A6B6F761F0AA3A3F75F12A12D8844443A6508AFB6D7BE3355DDE41B9277C72A864DD48C4747293365224820D8C565E96117068B269E0315C5A0270AB9092766B81079A22CBA82A0073F44B1004CDA9772F3F2EABF3E54C3BAF47D4BB</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1051 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>A2657693DE5CA5950E70EEE230201379E5DEFC91B0705A2218D9A18649B566F716331217E584F1F5293A94A85B3562D8488CB5D12E08C1A5A2F0C0E07DC970454CD6A6F9CFC01CF3974A23D3DD15C9E0AFC3D4B8299709F9D50DD6A80DEF47AEA3960CEB66B757EB650CDBCB4CEADE17A527E08659A06D2864797426A6FFAEB6926AD232AF9FE49B15EE3526A76C48DF4C96BC51D3BD8BD685D28DC06FD070A9725941A1D603A87A43969285EE971FE3BADD48D4EC687BE25F58F8A67416717D6AC1457125BAB96842C5586725A7948AB3DB7556C90823159D0AC28A18BAAA60FC2448B7DC623260CB79D9186A36D82BEBBFD275C67E29812C5F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1052 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>8A4A958A1995543709484F070217D02C26A1873730D63700E9E7836CECACFE9B4B1FECAB8D9FE85EFDE6F7E0B6A41C341134F22120388050C0BE7163D0D99520004DCDC7F5283C40BCE5B2BD0CA99B9440C59405C6453B0B2D383358D20C066820B7AF4CA1F5DD4319A782D02789B68E68A2DE6DF7482B4EA817A12029DB18F59BBF7F3A8B0058A8ACD8F8F47D59AC5FA8BA4D7D52E437B1D17C2F267F349EA53C3FE148547F3D9FB07EB2CD8B56B9532E85C3B0DDFF1A000DE7A9748A88BC3DF4FB97F0B2E87FCD284C39DF8C9BEA999F87BA853F812AD009645CDD73C8BFF57A149CDFE8A2B1F169D62C5EB078B07D7AB1A14F2AB7836F2B27</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1053 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>D1025BFEC9768EB464748C3784CF8B1287A96B064E1A1B082F951F84ED7DD57F10094DA2B61D533D8D4D3FBB06D2607A0C8A9491074E22F4EDD84D84D0C9141996F9E66FF139AE3539829A6987CD3198AC6B02FC319283182AFC25488B55CD3B8CB2B6EBE8FC2D8AB5BA07EE314FE428192237E7A0EC6C4F1E1B8CD593BE672B8DC425A2F857106C833FCDD9B300442BDE82C852F9C5EEAA0D54318B165282097E7881E4B95FE64F6CEA03B0CE3C387B00448A3E99E59E0C7CAF0DD693674E98CCB699E46100C8EA7F0C428E843A1666675F805E899F3A31883AB3187BC26B8475387DBEBBDD97872216B710E418DC3BBE3338461E5E0ABBC39F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1054 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>C6B00E75CB97FB10B09A06096576678C9685522F48EFE82D08FF1CB09FDB6EA6F3CF63783A711A474234D99EE6D77AA84C0BE667B0D09762160DB707A42C74A88F0A7267FCAA869FC75D697EE991B2028B33F7253104BF21E14FA6892D6B030BA0413F4758F790B3736DBC2B24BBCFCE77EA157BE0EB653C0208EA5165241D9C7A1E3C60468541011905C8012DC2F133C9A355E927F384FFAB7DCE70BE3ED20C9129F5A8FCF08F6F2659E24C11C5EC69C3C89F8913A5D16AF3FB0366764E41B2090A08040D65B786C5B52BBA3994A671D5F6E04702A41FBD05BD24977EB4690D9B8DD3C547654A345435EAC6807C5A693C7567867B66069DAE13</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1055 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>F9583F439E942ECD385C71CDE88EC70671A0C2D9526F9CFD9B46CFD4870FA7ACEDC8F92D35C4F8483F52B63519EC04FD7A18072D466012AA5EE2FAB05F480DE0052D6E885F870DBEAD9770661A38D359FBF3E6EF90E938FE1B02D6B5F145F797606023CE26F7E683E5D3EFE3C12715FA75771559297D39E91BCE687BCF72D7A7B0B8AF25904D75E72ACE4499873B046B48884E8DEBEAC906F67BCBB860B1F61DB6FBCAE3A2A53CE5B9DD5EB7DB82A3C5C9E1204DAF5CE8EFB27A936E65008B43B24D04392F7BD8B27781B6A410A85AF978ECFAF906D9AE3465BD4D00F65467BD8EA8D8EE76BD2CEBBA56671C3F049ECDA32ABBC3564E89604551</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1056 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>817FA41AFE3895EE26DE83322911A14591F18B996F4C58FE916AE409E702FFB23C1A8B6B21EA030028C0FAC84EAA0F837CC767CB94A68BAAC17D6A2B42784BB0A5FA3CA74B1E6A212F8DCE29B560F0664CF4D7C2463DFFDE42AE0B450A6473692B08CDECE8F9C98DFFE7E3950C186EFBF417C022E83DECD69C0003DFD42077BF59A498CE65A0DE0402859888AD481D1CB6EBEB282BCCFC51AA98C0207E68168E62B7FCD9BA8A3588FEB4FBA55E22C3FA72828F90344B9EF76B876F9791C669E7DDA445D86E9282B2D951B04E5E8D12D8DD9DA6FFB7DBDB5B45E708B6BA88E994C872169E68E856DA7B11913D58A842D46154D9890D1FC7F3EFD9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1057 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>C8729BA1167D7A945A27EEBF641BFDA71FF5D51D7A47E53FDBAFEFDF0372955BCFFA9D8A9F2A341D1EB59A7A747A68E1103E8B7559D474FDDD67EEE07FBD6B2BEA8DB2FD4A5ABF995F78721FAB31702EE0CB2B9E89C1667490C7B95FF97ECED763291A07C7E1469E6892BB8B26B69141CF14C4AF61EB46376EB0ED55AEE922CA0BA1D0EF01233BEF2DAD8A765C2A583542F4991AF15BA54224B30F4DD07530B6B7712D250E82AC4A4C1F05932128B27342236D43A6B9C7C39E6BAD95D6D676E26D8CEC3D5B80767E92E9F1F2F22426396F4C6A059F3F1BEBE9E74B952DA0CF074F2BA65AC88AEA79B124A2FDFB1F933DEFB89941F97835A01257</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1058 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>8D2FF431CB268C3AD392EEBBD7888FC7B99BA19DDB16914303CEDF0775CED1D85594679EC2FC94D49ED12E293AB7A9983B419DC53E7A7FA80FD1AA912279AD3343F9EE9BFBA84F72A5CFD9FB0EEB12649563D273B7C46E2A482049435E6C0D4051EEA8AD9C4596F2DE3F46893E469FEAD6EE0ECC7F9E7ACFFCE3FB706B01C685206C2C967084543B153C37DD9EB9735658C0F80FB6052185E4D1BC47E18DFC63A76A739BCAB47F35041DFF4B3A6130B275FA0D08CC9B39FBFAE2E31E023979355F8FB5D473FCE187B3BF845912930E3146C1931D91E0139AFE0032A602AC0B39FB8790798EAA3EFF5C9CDC7905F72B5EE20A7B627BC7D314450B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1059 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>CF4EFDEAAA88673C819EF613E8C9AEDD8F1D892BACC1D24A5142E6DB5C5FAEAE3B6A797B4F72A13FAC1EB54A702506CE2EC812545B02A7673CA404327F93BFD06E32150D69175FBE41F9ECE86862A3CB0AC48ACDC225E669DA787554FE8A63FD74BD20F366094FE7A100FDD167FDDF97F7DDF646C5FCAF1F377B5C7F0FE37EA5E1D736B86CE009F639B46F792B2AEE06C73B2FBF8BF3A3843A54B3ACB12D146809926F2666E07A7A63574CA272C62A6D54C9606404B42A487AAE4C38EE910FEC8CAD0CED8A8255C26740B998577274D48CB54F2868C3B98B06988D0A94A74B92B63823AAF5730A0236086AEB76EF718B654B9C5B45626DBFAC6F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1060 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>8B92DBD08996081434E84E72FE853955EFDB19009DE5619158EB0F1698AD04FAA7170C5E63E06E48554792B58907F0AED9AE6E849C0660D9276AA86FF029E450C5B46A935C9C8DD1E2946EF0239998674C69E3B2ECA9E931D9CA0AE1C93BC5E724F17A0BC7F65FB6CE0A95D1A366321D51CA6988124BF6DF34224FA99B3CB82489D3F783A2AF5723A2D079BDA5774007EB2A0D0C9B514671E339618DAE0ABB65CABC6944F477AD1B90756649AC6DC1D111294C9D331715220A93462D69F97206E593212E36C091277B87431417BADBA7AFF1E1E7BA6D45467A4334EC9E6AE003D35E67DB00EA6BB2D604442C99158DF5771A4F79BA4F9A763A1F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1061 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>D0BADE3D1D8AAC60C4A7FAC5139212A6CB559EFA174CECCD8A57C3D5C21EFE9E5BFC75AB3F3959D9C39F621D317B84193AD5652FF08C2B9E19083A9CEE6318B9FBFC23F29016094A7FE765C21E42FAB4E50BA47A943BCD85EDA901C21A08078CAFD870D037F45A1EFDA725999CB9231EDDA45BADFA1EC21B82FD80D056FCCFF54532AEA2E6C16232735BD64B71CFCD6605654B62AE9AD110AA0FE48D7BDFA1B4B82F2ACD2AB7C644DA570AE757C39CE363B471EF3EBFA12E58C07B3A294728B379CD7E1CD557D263ECE89D91D4A8A17A21EB47C535A0650C89C23E92AA83F94A24D74C6B9B0570272F6F309ABBFEAF6F429F3EB8E4166E2827C9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1062 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>9D68F38928DB1C8D30B9A6CA0EEB8C19FEA4348B46B8C9BBF2652BEC81C1B0076B0E4C14F1997F8229024CFCCAD0ABE152C1918EA1AF0732700987C43C5B6D17DB338F6F4C48E7A0427731E9D7FAAA933E34189AF1F291F901A18F7A4CF043EAEE496A71FE4F2409FF9F1A9C445F76EFDDF1E1612F02E7736515EC8948F4BF8460C0EC9029CF363E18C0194642BDC1353A19A3C4E5BEC40AA06BA96BDDBD4332D906CD0BDFA1CF807F42FAE530EE9D57DFA463ABCDAB71895523F98D7D19B15BE45D054991F346AA10CA6990B321D28F3A206178603B471E78E27EB74E13D072F6FF8825C72BBBFCD417E992FD2FFAC871E75050269E4F07774D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1063 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>F5B5F1F34ED3C540CFDDE47F58F439055BD4DC5F754BE901D3D54A2DC8B353A3280A7093759BB81EA2D507B22C322A9BDE549F0F12FDCFCB37EE113C64023451CF970F7DCEBB1DCD4F71EA8C8A0723E0F9ABD2EBB46CCB622637B8355DF522E40DCF68DBFC9FB4BBA40B5FBC53CE4ED124DDCF6701C78BDE917130D67F0CF6F4AB78A4D989CB87F601984CBF81A45E8AA8FE1A728EE1B06C5ADA29E7AF4F88AE82E1FFB68F4D25C865C4119757CD8FFD1C0CB9677E79CA9744B89D2B443B5C8379ADFA73DF59C6EAD61E7926F7D397EC0353EC8CF6D6A8A0776F771DDD64661F7F1AFC41E5C8FC6953D0DA8D98D6BD75F69B87893EFE2B913057</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1064 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>B6C97047ADD54A063487020D14A5E6EA53BA7218A7B1FB55B9991D9A4D6ADAF35210792EE1C44BA83A910CE8B14775A1DCC8BE3EB6C4A5049DB923683404C7B6C43363997D9246F2FFB874857CAF81A6D5EDEF79EF792574D349C2A6B4B92A2CB39E41294B036CDD95C7641211EB72EB01EC7ECF9D5555801A2D852F54D1C8D3BEB321F81A584BE8D883727CA7113F286276947BCCAC5DDA9B38B659854BB41B2891212CAD82B063C482DA0C1DAED3DCCEE6375002261F543DADE19D67C0EEF2245949FD49C9EEC21E4BA9CF50D9D34EF8B5BDF10E34A129DB47DADD9FD1AC6F9AB0875562992DD80B24750A2AD5829E7D4D678D04811F6B9F0B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1065 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>AAA6BD0A736411646C8B9843647DCBB1CE02E5ACE4EB3BC63D75C4EFBF15055956DAC98F4E6A7FE6C9CE14D021B5BCBDD55C2EC2CFD3780FA12BA17458C35C7B7D6C29FEF9F9210EE5FE35A650C019E75B7FBC2BC8E6E24FDB99B11DBB2CE3EE7F95DFDB7D287C8CBD961FCFA80D4624D43ED4F0879E83881E01F8E7495AAABA3268C378BE5CBCFA841F667737C88998F89346BC0382FAE35305E1FC0846F8258746EB0ECB496928A5C7BA1E2828721FE5675F21547A83809A76012193A9F2C665A66BE346F0D361D44868126FA0B3D33A8D8BF1567522C310D935D4703FAD0979C95ED21C40CA341486DF6D6D2FCA2E9CA8629B8CF5EA05C58D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1066 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>BC0D81DEDA44B9E166BE294A3F7EE7B89822BF2DD96C8EA204CBBC16D921E1CC4E4CBF8DD650C86DF9A6D911A9D0743B7C411C7BABFAFA2493647671407262687C4397AD7B3B0A75C68FED48DB9A490A9CAB7222784EAFEA91B803CC944B2D4635CCDE9EC33685732935796ED6048657759C48AA129412032BB7276606DE6459FA778ACD943B64A2D0C49CAE98281AC123D520763D148CF5629AF3EC3F1479E7B8FA95437618C4E59AD331BDA468621A1E21C7AE8A2D9FE7702B00291F2A7206F131DCE535631CB039C86973B1E4775049550AC1FD278B796A4BDED0B80D1CECE5C2C086E696A850A5D142C6C2111DBD404D0D30BB2AF6120E89</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1067 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>85FC51D9A7EC48267FC14B8A3E4C5D3629EE4C2AC18009750A55F6A0C0928971B6D582977738B10096F8D8F7607802FE62C7631CE6085B08C25440F3A9E5AE0569831701666D1E4661D41156D32945A16BA34FBAC64C0003C8277A9120AF04D9319BA018F8F7C2A380C65447D3718570D8717CF8681841666B88E8B19099D48C4038D2AB5D56F234ECBA7A045A97B0F6073BBD76A0E92C60F86D3EF79646A02265D9AD6A587B8FEB1F3CEC8F03F04FC0FDBDDD50D5F353AE82665973B5710DDC3DFF35833A4EEDE548D8E1F52049D650D9FED37407A45E310A0A0AC78CCEF1078074E5A595539B9ECE6D7CC09BB2BC1F341D883148350D96B0F5</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1068 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>ACB6E34EC5D5051E571239E667A21EF617A0051D9A92AD45472DAB7DF4A68F29A5954B42C9C6CD79E3D84227910E4B046440E8764DE82D8D8F4920AE0B67CDC5D1E80616196B2F1F7F2B29A037473A1687009734309DBDEBBE9D064B183DB18266FC2CB60B82469CDDC15C845E30977465DFB6EA8CD6BAEF6A9AB1058DC034DCF4A52FD6633E5BAC74683DA9564D23C4B9B4383C67B9C682C83B42379D1775FCB20A5028C4804B0051EFA68C14E0FA387A8303005E54627429D42D56F1B232517FFDA6854AE83EE06B26BF5F9A27B30E357FE388DDED803BF76C61DB132F56E9C3A80DF810D73D8C162F38238D5E5354698780C45A6F618C7F49</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1069 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>DA1CEB138FC391228DEB094ECF6F552C1A422020289DCFC58717494C6949A4D729241EB59B08EAFD4A63B5A2A52EB074A25E1F02D8A5FF1955A699B7233D863BFC35DCAD4FB0DCC852C76D6D308620B90B4CF6511A8381FB28B3C308DE17A27F1E681440ACF3DEC4AFBB5018C46CEDDCF7B08EEAE210852A589AF6B7CA13BA31214392BEAF4A066577728FF6A7C9DCF4E40EE44BAA7B5944182379F057B64993C7B0463DA5AEA3CB2372DE44FA0EDF51B2F1EA67F89511C6AE0E3B0FE8C52B37466EA9AD0BCC2AF5EBF8C57C47ED13D5949348EA61246DDF1E7F70F16CE9C63B93C556D8F72F8683CE4E3BD23E53E87F063AA879DAE46AFBCE6F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1070 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>E677D5CF8AAFD9DD1494DF7604E67393868EC51C94835E3C38E67C1B847A707B862FAA370B9FB2128BEEADF9D084D1BE5B80DCE44F695FB8F766EA0D55B19A195EFFAE51A1F32564C0E56E954A85D525782DE5A7CE697648419A78080EE4B5F9713845FF1879BD1826CEF7B33033758EFFA1F12069D902D12DD3008D60B088FB31707EA0E50A22F528ABAA0D6D4D20A9328D055EE02B755FB5664422646A5344BEFB6A4F016C8B01734A036558CE3A78565716059D3D166D01DBF7B299BD922BCC39A9C0169077AB6857F8ACEDB9101AA1240B7B46C56B0B5AA069EFBCE01F5E1FDE5531F4EC61C16B16F5070DC53791B86F11637D3BAD0DEFE5</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1071 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>C5F420770C5723242C327F3D2EFC3DB1E0AA5A1BA3275476E83838E113FF213ABE2659B6B1FFE533BDA87462E1D26442CD1375C9D693EE5F9CE756E540A126B87028FA4C1F400EB40B1905418DEA680D6974A5CAF5CA3EB4D524F2D7C6D6A94A241036065A8069560A254E3DAD67EF76ECBE7F0EE3EB7180A013918AA6F622F027C0F45ECEC0B475582B14D6183C60FB82C18037D518B41E9C9679909125A0E8FB576F2065336C61982CB3DF154C08F553B2B3CF5E791FBE90DA40FB9C3BB1542A87E69E03E199E355045536149BECF08C3080286AB54DBE87B090772BAE37A99C9EAD421DF0DC48D083102805CEA3B376D62D5E804E16C9FE4D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1072 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>85AF7A6C7A07FA79EFB6D2D9A752A9352B542E87AC311B8979B6F8065D9E6FEC7499087ABA91151AB23D530317A1647B4E10961B3A7901CF0AB30D0C4E964ED8DE49A95C8392DEB56C8F263E9EAA15BB553EE51550D1A31CB9C79666E1AEB0D1BA86D2955DC66FEF419A66EE150A3683C1A2CE7F504C504859E23DE95C16CC16AFB3907A62932E8AE4DDB7A6B72B163F7EAD88117D95EDC583F182BEF2D6BE2B1CB62AE357A3329662B24D1E8BC1EA68BBA1A580CC8647ED3B8C49FB41BB2B2A2BAFB49A9F5255379E638E01F5A59AA268D76CE2B68BC34CF6B6B3795A681458A136FE951B837CABBFE1581AED37EDB39F9E91825697CF8267BD</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1073 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>F62E4C3634B33F4BE7B9FBC1CF2536A27BAC432D51D4052BB2F9EE2ABC1ADA5863D9CE514D9D1993CD7DC135FC037C1060B7646497C24D11A6538E489054C16EDE74C10F01D33851F5F376F21098BF9CB0CCEA133C62B76F6EF388F15005D754A8D0EF63009B5E38A3922A3F729C3816A768CCF231EBA4972141160A64BCCD189A82BA263C1ED195E2270455E099895E0156CAEC3D730DA4B548E598EB85EEC52F337F370D149218D5ADB7E66363C2699B6543B1FB820CFBC4C74F7E8D0CAD7FA13E77F0A25001F96FF10A8453E7E65B25F550860AF250D2D1E6BBEBC5C3527A93DBC9E0F1F35139C65F1C63525A67FC362B34561E8943DB7209</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1074 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>A5B8F85B11E129FFA70B4271FCF946DE22D719D87049F1D0284D28015450DF62CB2A046089B979135147D393B2E6093B5C91D52C145879452155630A503E676C0E6C8E0F645776E26D4F5DBF523B5FE72F8B06ABA3526AF0B2129EC239F910FDBF8D55C8694D72B6A27568C7DCC6EA7A5807DC2D4AAEA8C2AE0894953A496A555BF360EDEB6B69D38245525C58CCD0C888F775A5D278C8099531D600E84C336C8F14516201B755F6A23315FADD7824D1D2F386844F2743108C47F08883DC7AE36C04779D6F6DB2A8E41A557C3CFC6A7637750EDD2AD66164DD935065E7460C18F9902797E6F496EC48179FF5C2DFF5E71A5A881D1B3615498199</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1075 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>E332201F5087642689768E62764ACAB5F345125A4D79E7FCEADA2DBF57C792A035965486F0949EABFEEBD2556B3D05B7122D084823EC2B606535B05E611942DF070285E085F3FEAEB76C9DB99AC63D1BEA1A90AAA654F882F945BDAFED78A7D792870F1AAE07FA0954612951EC17EA172DDA4D91EEBB7CBE43F525138A2C830A22A913FE1B527895567B08BE5C410946DD99847B460C9EE42A555A544C686AEE5735D4EECF68CF83FA0F38E181CD7D464937C992700E0F793339E0787BDBE76D867D6BE3CB52FF85B4D8A9A450C06396BE89E727FB90C075B34D8449E2735D9022D95677D51E64AC63D986DC1C229C0C86929EE17A87E9BE9831</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1076 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>D9FCD5E3687199F3AC2781F04FDD9E2E9AF78FB852A44C89E933CCA7C30C6F20DFEF8C8AF9DEB98E049D5D6D88EF2A796556EBF29FDACFB158BFF0155705507717392763FFA7B178FD2BA95CB37A9FDF21A260A3364BF8390BF03EC523B0B6C70FADB89B490A7B0E1CE199AD58A03BB258B7AEB846D1183BA45B24E5290C8190734933E06F68C54F26E823C6D66A422C9C14BF75D4D526B65B8BC1DFA67EA549A80D0931FE92C3788AF98F7397BC7BF98513ED6F5A6997041108A196E3B67D15940A2D4E8C0B0ED8DAFF81E336C4832173325FCBEDE76EA2A1F30FF4096B7CCE100E8420FC98C722995189F6732A63204137221665BC180042FF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1077 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>B7122B201BF088DFA83CF87E8023144E9AFC5B6BEDB78CC009952AEDE028A78456C4FC10C56F39E728F1608E77E6E9CCADED0F2184F5DADA2F8E22DA703F4DDB54FB1332CD8F4B8AB608B1AA516F8A3D4916BC8CA1B0FDAA2FC5D59D4B90E93237CB97FC2A168FB91A8DE284A84D9C0D3A473CACC26C2D0A61578F2656F35D9D31C1A10468B2392911FA5FED5ED2997E2614D87190063B8C4F50C15304A479438EECED1194D14F7D9372D96BFFA1F8FAF70F71F99E4330068BA81D580A1A763E3937A0C45ECCD2E518C2E909892F6D6861FEE3C8C70B10823D26212075DE398DA1A0A0C71EE82026D31F9723FA063F8D0B4F278E814867850C1D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1078 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>8E908589CEA9E38D916F371F061C40BB16811DD06955BB4E49D4D38DDA60AAC4892D76638CFF3F41FB228AC1AFB59E0682C770ED1D373DE5A7EBDA9FDBB5425A25B1983FEA0EB7D57F1BE449C66713F3AC5DC9EC294E55B5D58358953D6133F1E347F839D53C0A4A5AA7CBB1B30A9A0BF4D88E1A7A3E4AE04AAB2DE84262B8A6361C4316DE368F06D580D09A8641E02EA04D455B55AD866CDB98C4F176A9FDB02CD635D4CF5B74259C2B44180227608F72F2004D6E394A4C0FDA40509B7BC6CAB4E9A48B00E988107D19F2E45FC1CF132AF13D08798C7A31E01EEA2807883C7A04B931602DCA17AD4037034050710805A3D26F65CEAFA5ED155D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1079 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>8B3F472D09CE91A135E2F8A2F3269916EFC7DFE1870C45F375810F513A1166FF0740324DF0FB85AAA4C6410D3A636CD4935D1778B2AF861EA1CA3E37D24AB6BD9BD50BB2E02DECFCDCDD61F832E20217234F549C5CA4CA99B16C39F8D7A2BDC0EFE432C0E5EBD383AE4D442B27227BEF7F7C9D6156183EDC87E7410BB2F81D98E40625FC2AC323C1200ECCF788B2910A0BF17AD48FFD3327930444EA2F6BAF3ECE5438CB0C916BB123388BE89538256E4CA6F02CE0CFD0A018FE4D18E9EA3C16948B5B8B8B8A73E52E94FD1177FA65A79B23ADE00F6242999FC9323048AE71176C3E343C88019EBA89C3EAEBAFE41904E065174ECB19298C8C7B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1080 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>9C52433D5D1B384CBB0CC646EC30D9D626F90F5CBE19ED3AB4EB5E95F244685F3044353ABF1BBA370229E3A559A4F31E90C65BF23ED6849EBBB9818B4B4FF8E13DEF346433F9AFE3DE204633BF6E9DFBEACC3FF574BCC51CAB6B1B6CC161C2223BDCB61C960405E1A3B32F5926A10CA606D9CC21ED64BD20BBE300C4557EE0A729998BA66C048D783251DA1EF05A5880CE8354775328F67D3D22C3BD8911433C202BF4C73D8BAD16D787B0EA7988DD74550B7B693E7581627BC57C37955899C838E882F39E4C263172D8ADA9251BD31BA42503703205AF003460B0A1A4795EAA32BD7123B3CDFA41CD88C1F2A5584339791BF5FF061888D1E971</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1081 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>BBADEEE5168DDE5F0727BCF58CA5FB21848F171B15FFAFBE6AEFBB33E02CDBA7CA0CAC558A79FE04D1297FF4CE948E767C15553F577D5B3434CD3C3657C4888F5B09F706C33FAE485AC0DE48DD6620895873E6008747F9D049F3EC55FC352A7BFAE8D1D296D9BC9B7F6FB45C781A483FD05A6D4E9F234561B1273CEE77CF276128726519F452952082A10145899FCFD7E3FD8CDB0A23C555271BE9F4AA477D980314248110239DF0E94507E55FEE415C711558A025A8835EEDAE33D72C73839BBBF60A8FD115FB0DE4C76268D5E6203DD73E5B9E4D0593E08CFF310E94B4AD4226082D046E66E5DC4838AB62873D61A3CF5C7004D8E8105D7091</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1082 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>A3948AF670E749C4345AC0FF0D6843402396D48FA1EC264F014EFE56D2DECD68B68033EB9589ED7B121BDAFF62314026C8E5DD8B2CF97A9792A63C39D2C8C44F4F9793813810639EB7D8F044BC99FCF9260D4F147657CB3463C627BF1BB242DBB85FFA818738FC90683994299C615354E3260815800FC75CFE3E4F2534A63D63A251EA2DA2E9E725D8522C2BC830E82911C9FA6000F164807E44E19C6F222FEF3AB70A3FA7E7C3314E0C9077364CF9E5ED13C413AC018590ADD14A8AD891B6E9895CAD4DD1E5FC09807406B5D24E3A52CA44800B72B0D28189D131E28E430AA4A843C7AF9175E75993094F3AB5B0D5834F1C67CF7313BFAF8C55</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1083 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>BE2EB9364802D7F29350D24760911265BEAF3AE96EE5B94297F5C0F6F3DB7371FC1591BE66C5918EDC3A9A30ACFF7B7EB4FED57EA5BE2C2FA9A91F272ABD488B49033E691280500CD3A61CA1988AA3C30C7BA6CD922D3830CD7CC0F7A076310CE79B097F466BE88EB7A79362A6A6BDF48D0978752B5B4E3397A3DB7A163BE60134A81B8AC4BFC768209B03177E8FCEBACF1DD61D48DBCA3E1DCB21A5F690F59D9AEE0C747F505D662C79876B797C7B64DB2D9FA3A3CF0C23109BBA63DCB1FFB6DB37FA26E640CF601F24AFBBDC63C775AF89988FAED6283069D0E94F155B8669E0138151FE8246BBC5B523E880E6ED4FAEA1C0D2481C4231A7C5</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1084 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>CDBEAD994DF3F74F5F228DFC3F60FE84BF5643F665CD6F71D122953AB9BF21282B6B4875D947CBB59C7F714FBF29125A66CC8CE373B34CD04F8D0D8813DE0744E9236462F1FB62BECD21920DB6997AC56C23CF570E7D38DF84628AA2898FE2880F103890D369D690690CE8993C1F6FE441C1B3F1D487011021F0598245642361209AFB25EB8940455177174AEECEF9639D6D8C60C6F357C66A57E3DE124AF5FE770ED435C9C608D1F7B298C5C28599A7B378DA3D525604C5407533172375D530C60385EE4C6CC98D2F1430B58DF71B8DBB5438D9E791B29690F457B8A55A2A8604124ABC0AE291DA9C589CB465DF7713FD8A21A1134317EB1A21</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1085 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>C6915DAADB04017F72273058478EEB34698442B00B1D06C04707D44C6755B571501F71674C5087E71283191406ADE6EB3218355ED710070D27DC2C5CC824CAE839B4918DF2E17247A1D48C0C3BC6287D6FA7A21EF5C366FB17B3B9FFE376785C9C88F02D7293A89750F660FED65B04F48F58326FF60A99E93D6C65B11C5DEB53526E27A0F67F1C601263F76DC7F6A12851B01E4EFD54779010924D76F634667EB4B3002EFFAC6AC25CDEC9A437D87FB3FCF7AAB827D962F383676327CC186A7F3CCB8BF41B6F86FF612BD90770BEC22E1F2F1BD9FEF2A82C0F9A9FF48784027B472977F642AE7B1B305B42E7D19B75AAA5F14DAD3379450D1121</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1086 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>D5DE764C4EE486C216E1E986F7DCB78A0F88FDB42CFDFA30A84D48DB0C07CA8565372DB1EDF22C21EBB38F9308D1A5C79CEF7F71DC54BF93EFE58ABB7A593595FB1F63F3714A888366D3359903F32E67B1E07E8680BFC8E32CFFE2D32E0039341284C7119307159DB74116DF47C485015F81301F4A53CAD2C4BACABD8EF5E8C013CAB864020A5887677159B2E9368074DCCCB91B5D2FB00C6281A7A1E0AF113411E2270FF8D11A088EF15BC0BD350712859C0D2CECD72FCBB43CF8052A5DEC8A264560C6EB1383646CBA5AD97EF9356301F76AC398BA1B1BA2656D8A97765602F3B392D556952DCC2708E1D0552EDB5E994B9A8281D16E27BE2B</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1087 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>8E46FA719B54A9CFA17FC6B3EEDC5D564F2D40E2064DB79DB5CB9E10FE82906A8EA60E30C78A23C281E6A97318A07E5CFF19937214B162C18DED3A2BA625E63BD1F16DA9B52772622D6F2DF7A5D174E0A3E4A3FE501AA76FA06D434E48163F5491A4DFC29BD0B2D8B66D8F592E7F26517851CA63B156C118D2D950092A838B3EF8B2B15B0CBEB440D43C0ECBBDE06BC10B6E35A3BA7EBDEBFF44994829C33B2D0C72664EDBC96BEF92792A9D0C4BF76D3CA795C3848DBE50CAB29AAF21D32AA4154C6F607D04BFEEF3E28FD9975E37CD197C155231012965C7D17DAEB5659A60FC1270246A647F5C61021DEF1090C0E5A790586380D76AC520BB</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1088 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>E6B23F4C451B6698158DA5BFC4DC054D224EEDCF7230722E87A7EEE1A728EA1A8276C371C0DCA37B56600995B50CB4E532EBE5031F084B05B1F23A98EF2D05F679DB934EC9882A79C6FC085AB3DC389098709D50993C05F7BA0E707EC56718E4B98889885066B11874AAED2461F503FF8C9ADEE5AC77FB72E466049176734C085ADD6D80D2C814D0DDB39A663F00F1CDC8AC427B030393587CF83C28E8A0495DD28C7797D39E8E4B31A2B7093FD2BAA5E73FB52654233E31D9542338C4A6BA75CC7EB769825084F9D4F3A2675F9F205A59FBDD056DC549D37E6A4CE14E18CB1AAFAA26D8FEDDC63EAEA4B8869840448EE4A9E2EF9DB84D0842CF</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1089 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>A922AE9AB2B5EAC5773294859A09427166881466CDFEB11AE5197582EBD1BC4BFDAB4795B706651192178DB5F896B7B4E8E83BA3267167B0E3DBB236A87A2F5C0370981AB26020D2029D87B2CAEE311FEB42C4F163A551D10D0CB7B1ED4D6EB80C50E3B38D9B3B898F76FD60E0E779E4A4C92238271638AB7427F8BDFD65204E8DFC4CA3E30BEDC601552BBA0436EC4D99E53835A61AC260AD3AFA8EBF4EF904C13CFED3ACAABBE96B31F9998C56324277B7AE43D29FAAA802CE9BC73A89B457941A77B78562FC2F01EE77B7813B772C975AF8DE6C8A8862F5679D08D4637DCA8864A1113AA0BD656A523602E41FB721F37C395BD2F4A69DD7E3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1090 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>F45C7374953EEB0CEF077E4A26538500176DAE92B9EA8289D8EB93FFEF9257BFAE8730579CB9CDA809EBD07E16DE4F56046862DBA971452A9D9E627611B1BE5D52CBD623BBD9CB6545ACA85C816BF81B34F45C30380875752EF90FD40645D69E3BF5A4F5366ECAB8B30E29F9CDDDAF171D5EA2B5FCFE529565770B3D8388681C318DA80FE32B1CE2043B5531DFBA229546593521ACE34A5A698380B7ABAD5AA0F3C6F1267F9720369956F8726DBC430D9921AF23A2C048D9C99E2D17E021E2AA0ADFA89FEB20203BA0CC942D82B090613AD76DA4464B094FF6A7CE4B2E832F0F79AF9ED089EDD3A0E9FDFB821E60EBCA127E4E089C006B9296EB</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1091 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>AD60B7B3361B24FE1687A36FCE53D2B95D806F8C7CD6406C56A7B5DAA16A98365800C7EE94C2D33644B60ECCE2B848751B326511B438139294486E64CB899A4DC1323F2B2F06C735E897B81E64CDEC60DD6A5A714926B4B1D0B1842F57D46D439657122191047080EB90C62E1D0ABBC52DA11808872A9FF69F571975B53D6C5BB334B74FFDE498ABB5AD7F74B81596749229B8E90096F87DF4F7E1026BA62A67C8F431C76CAE9B1EF593111A958A4B11E934587D90AA4039566FFCDC5B20D46CDDAF60A506DBCE0D79F3ED5BA56BB3A002CCAF0110465284D79AF0D6E8CB5D23656C779AC1473A6BD8596340393BBA1176A1BAA1CEB5519BC035</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1092 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>D9FE8CF4945F9B3F0A78E4CEC479D39CB54BE535CA6E3B0159480C3ED2DF9EAD57A09223B9F5954E64A57CFF02DCFC209884C86C9B1CFC642CAA966D8B5EE3381CA6A2940162552F935735A9E891C67E877621A11D32AA32B7068A34A874597496F86345DD6C1EFC48B956EE6776CD3BF18904F4C964360BA2886C9C4E3F1068A7B5C86070296DA91166542A1E2FD2EB7AE70D1C8A330D381E2BA42161DD28EED835D6523D79656AA0944544E5F4A016BC14D3966B29646FFB438D4F958D2753420D2BEDDE681E0FAF718FEBD2348E0C6C712A7B5A75C7EF120013BC50EFEF62CA11677AB83C35C0E53BD55521B164D174C6D1E0BF0A79FE268F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1093 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>D7A9C1A6337C90C988164F37E69E0F531CF7B44BD41DAC1599D77018D3E972A91A9D398584AB77B23C80D73BA11605814B7C314A7C68622D90495E6412451473BDBB79D2789524B0BC681D8F44E5E555B499430B9FC1739E90B02278428012EE18DE16F18D48EDD3B573BE33930B16C4208AF186F9B3983B1AF615D4249CD3D29D2C549AAB5838F62D12A5EB01A17425E6956FB7CEB80C96B946F90FB7DC4F4F559BFF295454B972D4CBCA5EFA0A3C9503BD4E16254DC0AA4A4A41EEC1D97FB646D1F7DC8022EB56AFC6C8A8CE92B10363374F52083E37E75CCCFD13724FA0A6D72499CA7ECCDF9950C9D31D45A9DB4BF8ECC79A79CA9A55C183</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1094 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>9FB956305CA586FB7FEFDC7BC8607A5F2ECA5D946797CF67F39A1C7AD55A34D493658576F14D9712C3DF984FAB0C0F2797DD2960E9908A0D943AEF7EEFF6D5BBF0C5CDFBD84C8FAF73446EA371D58A80929942E27C21E0CB39752FC1EE17259A6D6A56E5C7283C531B5EF52A00C043AACA6E9260A08205F4B330146375CAC2BEBF92FB48D55621F74F5AEF7529A8F9BB4A0FDFF90FE33D35FEC8ECD3A2E63CFF8E4FBE8F5AF7E89DF9115B441BBDD78E0299FF73D6D5713A6CE6128D57901709616D6CE352153C684301E609C4891FA1C7BB0BAE95BC8CD6A683A52BEEBA55D521363E4D488742910089A6AF5D779ADF42688549010BD642D6E3</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1095 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>D9CE733CD309B58D3519273F32F40794FD6F22C5ABC76301241B7845B73CF4AA255D9A606D4E528CA2208129AE2D30F195589DF63C70EEC405DACE8F87FD0382863801D85EF70A6A6479C1ED3D46AFB86555A19777725C3AF5E0A271DD100027F3A0B44999819C1F1CFCF8BDDE012E42F462DB339986C227CA59414CB46219E54E1FA602E795EB87D21000FC26ECBB05BF390736F120899B72711367A5CFAEB1063120E939683DA25E677651574D924AFF3D013C11F9CBF644EAECD9A5AB94C7608647DCDE57680192B607DF17CF57837A303B993F9E1F3F20778A599AE41D68167C4D473A86E4F50844412CDA4013FCBC79F8F50C0B10CC6EC9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1096 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>8D1EEEC3229905F6AC18FEC71F3667CC2DD7F9AEF63C29E5C54C7B8F3ECDDE501D0B19BEC17150B44D6C65EB3C3C21D5961F5B01DA05335D51E92B7D0EECC28C6B3EEDEBD6FBD6B2897629F73E0B4F880ED09BEFAA5F41E460900834150DC8F0DCF92AA8CE38D11021D403E392854B3CA2743AA90870331D0D4DBC63BFA908C62826CA81E236C67B304C8E9831F9A3EB1062CD8AF81CA86281C8EE4C3F804893DF26BA7363BB211F2F557C4CC144CD1CB09898519112B170CDC71A02A746AA2DF483381083FF75915A6BE737A3536F1A388B660E7050786AA1214E3760DE388A07A34133C9BF50A5FCCBECE1E4D72FB27FD758202C000CFE1CD7</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1097 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>C86127334E1438958203EE13E21B07FF916B06BAE31134888FB1F13F0E674F5845F6F2BDAD5018455CE6DB3066257991A4EEFE9A524F38CAB982A9125D3AB09E4E764B4C3301B5900A36125614CB2DF1CBD49C08DC0B801EEE7C4BF1213A1904D56F0E667755B889569BB5580BCDBB4895DB3B0A9ED5BFCAE9EDDC50FD79323E6527E25EC3BA4AFDB606FC5B6DC23A640E2A674F90D2C8419C91289185D12C8377B28BD26BCFE8379755CA53D28657721DF003C86802556C9BF394B7A976679C600620EF027A7DF7369DB073F3832A29870450356992D91885BFA4FC2106A909832219B410D7C98485E57C1360D65105B5485F78AC1B474E2CA9</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1098 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>F8030E09FE5BC848E468B44CCAF2FA69125FEC901952AC718D2F232DB22DD43E4812777CA772CF454ED70181782C1AF2F8A1AD9357AF772B6FEE49EF437A3C375E6BEEE8C551C4187CE62EB6B4A8FE871BE3A00CBCB94DAE9B06BCA3829C85A576789B026F83C89062C75AF54780473506E80C0057BF9FD217810541E631E228CAF5CE63A71A164DC32E616E7070342CE7D6F570339B3D813005D8334A40EC9DE5750D9E0417691172BB397012AD7193AE030A5D8BE0DCA8A9F1BCF4049529B302A4B687E5E552A0C2C7F04DFC60A994641D7D661BECDA38158D328E89AD4A3B8812E701EAEA0FBDF9066BF905FA75F422F74231828CBC1C8543</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1099 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>886DDB7EE954A8A5BE138E8C4F3461DA8B7E3FAE41CC00FE258B341EC27F492109523C023D6A47985711DE2A4C018589337CE86A5D59E77B6CCC23CEA5D119397B4177E6AF82296ACD71B64D8BD6845AAD48110333704A57D4F3FF002CD121F1FA9AD1494CC9BC7DC00A93DF56D4B5039A4802FE0BAAAAAA1B9A0E3F8FC1C3D20DA9CD543023E5E78A04694A4A8ACE8FA155F03B6BC7C9920D9A38EFBA0E66748D7B37CACAC8A9AC3AF078BAE92CE5E0ECEBAF8EFFD10C4672956396C1FE3DAC426C6084B3D61C0907E506DD28C9603C1B3285870B18B5268B9E07D1102693BAD60CA147D24D0D4D61D0BFAB7C1559DBECD79CD70F35F8D00E6F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1100 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>C22BD0B58448976DA090904B760F444ABC36CB5E0D51ED0BD5548BEFB89647998C51A57892B459CD0A61B8E4BB708FA8EA48E9B0755E8334465B68227F3959BF89B2ECEA4DCAA5A02DD90086C4FC27B3ECE57573D0880BFAE00016CB8337059E31AA05C423E90BEE1CBACFE0C2F64C8D0714896D86AF4761889BD1CEC97F214B5A3B1BFDB39DD31DF72F68912F79DC3C31401D16803FD89776E86FBDFDDD2280061DA64C983E7633ECAEC2E237AEC1B1A1F6BB3CE3A249AD2C5EED4B60FFDC95471BF209FAACC1EB29E544895E635A77A4C917F8A053155A6EF75896CA533300121F848094176849D05C5A14AE0F40EB15A470888E9EA58BCF2F</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1101 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>9E3994BA839691BC3C5F1FEA48D712E64F99DA22974D358C5E6CF5DD9ED3C89B598868D9D6096C7B1C80F1B7DFA8F5FB4E1F5C445FF8A58848B8F11FF35FCBA40985A98FA9F25335B6C0FF725439887B5F6A8F43D3B66F31EE7A18F21B9FDC81D19377559ACE30DA3BB236028BA8E197FE8E3B753467DA5A82CA989CE6763BD42B81ECBB326F9DFE9ACF28DCF234A45CF5A3282384A82E16A06F8B8AC75964BD84DD62F2A2DB03114B1A346F684480BF315DCDD65049A350AA07B696AD41A5410460D5406A9117B2012A7BA0130897B81AF98CA281056B9E09F2AE58318B176047C8539741ED154B20F14B713B3189453CD4A2C101C6C918BEC5</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1102 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>AB33704201D2EF00EA25B8DC1FE2A80B33677B6E9272E8FEFE43F72844E17EF624C257B0C731CCB53DF2879BD0E7128D7E42588869AEF5076CDDB63410999FBC1E197A933D07AA49DFFE96490F8C1F8F0097F34EBD090FCCB4435C1E551327C9F0BC570F1C2FDF4D6A0728E06F7E80DE2FF1CB35B6839BA2D2B746CBC40C300D0D2B06A812719F157713F506DDB7C18EECBF8EA32D68D0258D188664AD349CFB0AED250FC6A963C173E1A1A7A7416148ABB35D5FA85ABBF9E53CE060AD31AF15A71955ED654ED76CDCBEC2ACF44F53CF41F44F289C531036F7FA040EEC7D0F0AE02EA91CBE737CC8FF24475E44B55FF6DE6BD0E75D32C35BCF5D</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
+<action>
+	<actionname>Prime Vector Test #1103 -- from http://www.cl.cam.ac.uk/users/jeh1004/research/miller/primes</actionname>
+	<actiontype>PrimeVector</actiontype>
+	<actionbody>
+		<prime>96FC57652F5221A76EB6CC1E6EA830CA44819734C9146590D6269935D9FE0A550B664BA486C237EBC592A1A5083A55C1F67F4820BC5C485C622D2E539EB348B6ADFCA98C74C5ECBC707785E86528F2127FF51B48CDF9D7F0182D52E0EB87440F43F170CB1070A2EB53BE7C5F9400729ED5C180A3C589C3E7FADA19E7AA94730C3896744A976BDB344AAF51235AD0868E4F336BCFA732F4E5CC67ED204EFC70373C8397007909690154EA7064C5DF1A6511C8D731AC307E4623B265DFD71C14CCE20EA277E2156CF4191DEC3247C2A2BB893A07C4D1574D1C3C69400A14952B23AA53A445627A9D6F112751BDFEAC9743BFCB2585CC6747D42549</prime>
+	</actionbody>
+	<actionresult><result>ETrue</result></actionresult>
+</action>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tbigint/tbasicmathsfb.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,341 @@
+/*
+* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include "tbasicmathsfb.h"
+#include "t_input.h"
+#include "t_output.h"
+#include <bigint.h>
+#include <random.h>
+
+CTestAction* CBasicMathsFB::NewL(RFs& aFs, CConsoleBase& aConsole, 
+	Output& aOut, const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction* self = CBasicMathsFB::NewLC(aFs, aConsole,
+		aOut, aTestActionSpec);
+	CleanupStack::Pop();
+	return self;
+	}
+
+CTestAction* CBasicMathsFB::NewLC(RFs& aFs, CConsoleBase& aConsole, 
+	Output& aOut, const TTestActionSpec& aTestActionSpec)
+	{
+	CBasicMathsFB* self = new(ELeave) CBasicMathsFB(aFs, aConsole, aOut);
+	CleanupStack::PushL(self);
+	self->ConstructL(aTestActionSpec);
+	return self;
+	}
+
+CBasicMathsFB::~CBasicMathsFB()
+	{
+	delete iBody;
+	}
+
+CBasicMathsFB::CBasicMathsFB(RFs& aFs, CConsoleBase& aConsole, Output& aOut)
+	: CTestAction(aConsole, aOut), iFs(aFs)
+	{
+	}
+
+void CBasicMathsFB::ConstructL(const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction::ConstructL(aTestActionSpec);
+
+	iBody = HBufC8::NewL(aTestActionSpec.iActionBody.Length());
+	iBody->Des().Copy(aTestActionSpec.iActionBody);
+
+	//HBufC8* length = Input::ParseElementHexL(*iBody, _L8("<bits>"));
+	TUint bits = Input::ParseIntElement(*iBody, _L8("<bits>"), _L8("</bits>"));
+	// the final /7 gives the number of times we have to increment by 7 to get
+	// to that number of bytes and hence bits.
+	iIterations = ((bits+7)/8)/7 + 1;
+	}
+
+void CBasicMathsFB::DoPerformPrerequisite(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+	User::RequestComplete(status, KErrNone);
+	iActionState = CTestAction::EAction;
+	}
+
+void CBasicMathsFB::DoPerformPostrequisite(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+	iFinished = ETrue;
+	User::RequestComplete(status, KErrNone);
+	}
+
+void CBasicMathsFB::DoReportAction(void)
+	{
+	}
+
+void CBasicMathsFB::DoCheckResult(TInt)
+	{
+	}
+
+void CBasicMathsFB::PerformAction(TRequestStatus& aStatus)
+	{
+	__UHEAP_MARK;
+	TRequestStatus* status = &aStatus;
+	iResult = ETrue;
+
+	//min max values for NewRandomLC call
+	RInteger min = RInteger::NewL(10);
+	CleanupStack::PushL(min);
+	RInteger max = RInteger::NewL(100);
+	CleanupStack::PushL(max);
+
+	//Generate iIterations*7 byte random sequences we are using 7 as it's a generator
+	//mod 8.  Thus we'll cycle through every value (0-7) every 8 iterations.
+	//This gives us a better feeling that certain byte lengths (and thus bit
+	//lengths as the byte is chosen randomly) don't have errors.
+	for(TUint i=1; i<iIterations; i++)
+		{ 
+		HBufC8* buf = HBufC8::NewMaxLC(i*7);
+		TPtr8 ptr = buf->Des();
+		TRandom::RandomL(ptr);
+
+		//This is this iteration's random number
+		RInteger initial = RInteger::NewL(ptr);
+		CleanupStack::PushL(initial);
+
+		//get a number x | 10 < x < 100
+		RInteger crange = RInteger::NewRandomL(min, max);
+		CleanupStack::PushL(crange);
+		TUint range = crange.ConvertToLongL();
+		CleanupStack::PopAndDestroy(); //crange
+
+		AddSub(initial, range);
+		MulDiv(initial, range);
+
+		//GCD
+		CleanupStack::PopAndDestroy(); //initial
+		CleanupStack::PopAndDestroy();//buf
+		iConsole.Printf(_L("."));
+		}
+	
+	//Test a single iteration where the initial random number is less than a
+	//word so the division and modulo routines that take words rather than
+	//TIntegers can run.
+	//do
+		{
+		//This is this iteration's random number
+		RInteger initial = RInteger::NewRandomL(31);
+		CleanupStack::PushL(initial);
+		//get a number x | 10 < x < 100
+		RInteger crange = RInteger::NewRandomL(min, max);
+		CleanupStack::PushL(crange);
+		TUint range = crange.ConvertToLongL();
+		CleanupStack::PopAndDestroy(&crange); //crange
+
+		AddSub(initial, range);
+		MulDiv(initial, range);
+		CleanupStack::PopAndDestroy(&initial); //initial
+		iConsole.Printf(_L("."));
+		} //while (0);
+
+	CleanupStack::PopAndDestroy();//max
+	CleanupStack::PopAndDestroy(); //min
+
+	User::RequestComplete(status, KErrNone);
+	iActionState = CTestAction::EPostrequisite;
+	__UHEAP_MARK;
+	}
+
+void CBasicMathsFB::AddSub(const TInteger& aInitial, TUint aRange)
+	{
+	__UHEAP_MARK;
+	//This is the copy we are going to do stuff to
+	RInteger a = RInteger::NewL(aInitial);
+	CleanupStack::PushL(a);
+
+	// compute a*aRange using doubling
+	TUint j=1;
+	for(; j<aRange; j++)
+		{
+		a += aInitial;
+		}
+
+	//b = a*aRange;
+	RInteger b = RInteger::NewL(a);
+	CleanupStack::PushL(b);
+	//compute (a*aRange)/aRange using subtraction
+	for(j=1; j<aRange; j++)
+		{
+		b -= aInitial;
+		}
+	// b should be the same as the initial value
+	if( b != aInitial )
+		{
+		iResult = EFalse;
+		iOut.writeString(_L("AddSub Failure:"));
+		iOut.writeNewLine();
+		}
+
+	RInteger c = RInteger::NewL(aInitial);
+	CleanupStack::PushL(c);
+	// compute a*aRange using normal multiplication
+	c *= aRange;
+	
+	// c and a should now be the same
+	if( c != a )
+		{ 
+		iResult = EFalse;
+		}
+
+	RInteger d = RInteger::NewL(a);
+	CleanupStack::PushL(d);
+	//compute (a*aRange)/aRange using normal division
+	d /= aRange;
+	if( d != aInitial )
+		{
+		iResult = EFalse;
+		}
+	RInteger e = RInteger::NewL(a);
+	CleanupStack::PushL(e);
+	e %= aRange;
+	// (a*aRange)%aRange == 0
+	if( e != 0 )
+		{
+		iResult = EFalse;
+		}
+	CleanupStack::PopAndDestroy(5); //e,d,c,b,a
+	__UHEAP_MARKEND;
+	}
+
+void CBasicMathsFB::MulDiv(const TInteger& aInitial, TUint aRange)
+	{
+	__UHEAP_MARK;
+	//This is the copy we are going to do stuff to
+	RInteger a = RInteger::NewL(aInitial);
+	CleanupStack::PushL(a);
+
+	//compute a = aInitial^aRange using repeated multiplication
+	TUint j=1;
+	for(; j<aRange; j++)
+		{
+		a *= aInitial;
+		}
+
+	//b = a
+	RInteger b = RInteger::NewL(a);
+	CleanupStack::PushL(b);
+	//try to find aInitial by repeatedly dividing b by aInitial aRange times
+	for(j=1; j<aRange; j++)
+		{
+		TRAPD(res, b /= aInitial);
+		//the first time through aInitial is 0 so this is expected
+		if(res == KErrDivideByZero && aInitial.IsZero())
+			{
+			break;
+			}
+		else if(res == KErrDivideByZero && aInitial.NotZero())
+			{
+			iResult = EFalse;
+			}
+		else if(res != KErrNone)
+			{
+			User::Leave(res);
+			}
+		}
+	// b should be the same as the initial value
+	if( b != aInitial )
+		{
+		iResult = EFalse;
+		}
+
+	//tests division by something smaller than a word
+	if(aInitial.WordCount() <= 1)
+		{
+		RInteger dividend = RInteger::NewL(a);
+		CleanupStack::PushL(dividend);
+		for(j=1; j<aRange; j++)
+			{
+			RInteger quotient;
+			//try to find aInitial by repeatedly dividing dividend by aInitial aRange times 
+			TRAPD(res, quotient = dividend.DividedByL(aInitial.ConvertToLongL()));
+			//the first time through aInitial is 0 so this is expected
+			if(res == KErrDivideByZero && aInitial.IsZero())
+				{
+				break;
+				}
+			else if(res == KErrDivideByZero && aInitial.NotZero())
+				{
+				iResult = EFalse;
+				}
+			else if(res != KErrNone)
+				{
+				User::Leave(res);
+				}
+			dividend.Set(quotient);
+			}
+		if( dividend != aInitial )
+			{
+			iResult = EFalse;
+			}
+
+		TUint remainder=1;
+		TRAPD(res, remainder = a.ModuloL(aInitial.ConvertToLongL()));
+		//the first time through aInitial is 0
+		if(res != KErrDivideByZero && res != KErrNone)
+			{
+			User::Leave(res);
+			}
+		else if(res == KErrDivideByZero && aInitial.NotZero())
+			{
+			iResult = EFalse;
+			}
+		//else we have an expected divide by zero, ignore it.
+		if(remainder != 0)
+			{
+			iResult = EFalse;
+			}
+
+		CleanupStack::PopAndDestroy(&dividend);
+		}
+
+	RInteger c = RInteger::NewL(aRange);
+	CleanupStack::PushL(c);
+	RInteger d = aInitial.ExponentiateL(c);
+	CleanupStack::PushL(d);
+	// c and a should now be the same
+	if( d != a )
+		{ 
+		iResult = EFalse;
+		}
+
+	RInteger e = RInteger::NewL(a);
+	CleanupStack::PushL(e);
+	TRAPD(res, e %= aInitial);
+	//the first time through aInitial is 0
+	if(res != KErrDivideByZero && res != KErrNone)
+		{
+		User::Leave(res);
+		}
+	else if(res == KErrDivideByZero && aInitial.NotZero())
+		{
+		iResult = EFalse;
+		}
+	//else we have an expected divide by zero, ignore it.
+
+	// (aInitial^aRange)%aInitial == 0
+	if( e != 0 )
+		{
+		iResult = EFalse;
+		}
+	CleanupStack::PopAndDestroy(5);//e,d,c,b,a
+	__UHEAP_MARKEND;
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tbigint/tbasicmathsfb.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,52 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#ifndef __TBASICMATHSFB_H__
+#define __TBASICMATHSFB_H__
+
+#include "t_testaction.h"
+#include <e32std.h>
+
+class TInteger;
+
+class CBasicMathsFB : public CTestAction
+{
+public:
+	static CTestAction* NewL(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	static CTestAction* NewLC(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	virtual ~CBasicMathsFB();
+	virtual void DoPerformPrerequisite(TRequestStatus& aStatus);
+	virtual void DoPerformPostrequisite(TRequestStatus& aStatus);
+	virtual void PerformAction(TRequestStatus& aStatus);
+	virtual void DoReportAction(void);
+	virtual void DoCheckResult(TInt);
+
+private:
+	CBasicMathsFB(RFs& aFs, CConsoleBase& aConsole, Output& aOut);
+	void ConstructL(const TTestActionSpec& aTestActionSpec);
+	void AddSub(const TInteger& aInitial, TUint aRange);
+	void MulDiv(const TInteger& aInitial, TUint aRange);
+
+	RFs& iFs;
+	TUint iIterations;
+	HBufC8* iBody;
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tbigint/tbasicmathsvector.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,175 @@
+/*
+* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include "tbasicmathsvector.h"
+#include "t_input.h"
+#include <bigint.h>
+
+CTestAction* CBasicMathsVector::NewL(RFs& aFs, CConsoleBase& aConsole, 
+	Output& aOut, const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction* self = CBasicMathsVector::NewLC(aFs, aConsole,
+		aOut, aTestActionSpec);
+	CleanupStack::Pop();
+	return self;
+	}
+
+CTestAction* CBasicMathsVector::NewLC(RFs& aFs, CConsoleBase& aConsole, 
+	Output& aOut, const TTestActionSpec& aTestActionSpec)
+	{
+	CBasicMathsVector* self = new(ELeave) CBasicMathsVector(aFs, aConsole, aOut);
+	CleanupStack::PushL(self);
+	self->ConstructL(aTestActionSpec);
+	return self;
+	}
+
+CBasicMathsVector::~CBasicMathsVector()
+	{
+	delete iBody;
+	delete iA;
+	delete iB;
+	delete iAns;
+	}
+
+CBasicMathsVector::CBasicMathsVector(RFs& aFs, CConsoleBase& aConsole, 
+	Output& aOut) : CTestAction(aConsole, aOut), iFs(aFs)
+	{
+	}
+
+void CBasicMathsVector::ConstructL(const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction::ConstructL(aTestActionSpec);
+	iBody = HBufC8::NewL(aTestActionSpec.iActionBody.Length());
+	iBody->Des().Copy(aTestActionSpec.iActionBody);
+
+	iA = Input::ParseElementHexL(*iBody, _L8("<a>"));
+	iB = Input::ParseElementHexL(*iBody, _L8("<b>"));
+	iAns = Input::ParseElementHexL(*iBody, _L8("<ans>"));
+	TPtrC8 op = Input::ParseElement(*iBody, _L8("<op>"));
+	if( op == _L8("add") )
+		{
+		iOp = EAdd;
+		}
+	else if( op == _L8("subtract") )
+		{
+		iOp = ESubtract;
+		}
+	else if( op == _L8("multiply") )
+		{
+		iOp = EMultiply;
+		}
+	else if( op == _L8("divide") )
+		{
+		iOp = EDivide;
+		}
+	else if( op == _L8("modulus") )
+		{
+		iOp = EModulus;
+		}
+	else if( op == _L8("gcd") )
+		{
+		iOp = EGCD;
+		}
+	else if( op == _L8("inversemod") )
+		{
+		iOp = EInverseMod;
+		}
+	else 
+		{
+		User::Panic(_L("tbasicmathsvector"), 1);
+		}
+	}
+
+void CBasicMathsVector::DoPerformPrerequisite(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+	User::RequestComplete(status, KErrNone);
+	iActionState = CTestAction::EAction;
+	}
+
+void CBasicMathsVector::DoPerformPostrequisite(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+	iFinished = ETrue;
+	User::RequestComplete(status, KErrNone);
+	}
+
+void CBasicMathsVector::DoReportAction(void)
+	{
+	}
+
+void CBasicMathsVector::DoCheckResult(TInt)
+	{
+	}
+
+void CBasicMathsVector::PerformAction(TRequestStatus& aStatus)
+	{
+	__UHEAP_MARK;
+	TRequestStatus* status = &aStatus;
+	iResult = ETrue;
+
+ 	RInteger a = RInteger::NewL(*iA);
+	CleanupStack::PushL(a);
+	RInteger b = RInteger::NewL(*iB);
+	CleanupStack::PushL(b);
+	RInteger ans = RInteger::NewL(*iAns);
+	CleanupStack::PushL(ans);
+	RInteger result;
+	switch(iOp)
+		{
+		case EAdd:
+			a += b;
+			break;
+		case ESubtract:
+			a -= b;
+			break;
+		case EMultiply:
+			a *= b;
+			break;
+		case EDivide:
+			a /= b;
+			break;
+		case EModulus:
+			a %= b;
+			break;
+		case EGCD:
+			result = a.GCDL(b);
+			a.Set(result);
+			break;
+		case EInverseMod:
+			result = a.InverseModL(b);
+			a.Set(result);
+			break;
+		default:
+			User::Panic(_L("tbasicmathsvector"), 2);
+			break;
+		}
+
+	if( a != ans )
+		{
+		iResult = EFalse;
+		}
+	CleanupStack::PopAndDestroy(&ans);
+	CleanupStack::PopAndDestroy(&b);
+	CleanupStack::PopAndDestroy(&a);
+
+	User::RequestComplete(status, KErrNone);
+	iActionState = CTestAction::EPostrequisite;
+	__UHEAP_MARKEND;
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tbigint/tbasicmathsvector.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,53 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#ifndef __TBASICMATHSVECTOR_H__
+#define __TBASICMATHSVECTOR_H__
+
+#include "t_testaction.h"
+#include <e32std.h>
+
+class CBasicMathsVector : public CTestAction
+{
+public:
+	static CTestAction* NewL(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	static CTestAction* NewLC(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	virtual ~CBasicMathsVector();
+	virtual void DoPerformPrerequisite(TRequestStatus& aStatus);
+	virtual void DoPerformPostrequisite(TRequestStatus& aStatus);
+	virtual void PerformAction(TRequestStatus& aStatus);
+	virtual void DoReportAction(void);
+	virtual void DoCheckResult(TInt);
+
+private:
+	CBasicMathsVector(RFs& aFs, CConsoleBase& aConsole, Output& aOut);
+	void ConstructL(const TTestActionSpec& aTestActionSpec);
+
+	RFs& iFs;
+	HBufC8* iBody;
+	HBufC8* iA;
+	HBufC8* iB;
+	HBufC8* iAns;
+	enum TOperationType {EAdd, ESubtract, EMultiply, EDivide, EModulus, 
+		EGCD, EInverseMod};
+	TOperationType iOp;
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tbigint/tbigint.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,54 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* tactionderivekey.h
+*
+*/
+
+
+#ifndef __TBIGINT_H__
+#define __TBIGINT_H__
+
+#include "t_testaction.h"
+#include <e32std.h>
+
+class CActionBigInt : public CTestAction
+{
+public:
+	static CTestAction* NewL(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	static CTestAction* NewLC(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	virtual ~CActionBigInt();
+	virtual void DoPerformPrerequisite(TRequestStatus& aStatus);
+	virtual void DoPerformPostrequisite(TRequestStatus& aStatus);
+	virtual void PerformAction(TRequestStatus& aStatus);
+	virtual void DoReportAction(void);
+	virtual void DoCheckResult(TInt);
+
+private:
+	CActionBigInt(RFs& aFs, CConsoleBase& aConsole, Output& aOut);
+	void ConstructL(const TTestActionSpec& aTestActionSpec);
+	void Hex(HBufC8& string);
+
+	RFs& iFs;
+	HBufC8* iBody;
+	HBufC8* iPasswd;
+	HBufC8* iSalt;
+	HBufC8* iKey;
+	HBufC8* iOutput;
+	HBufC8* iIterations;
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tbigint/tbigintmain.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,100 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include <e32base.h>
+#include "t_testhandler.h"
+#include "tscripttests.h"
+#include "t_testsetup.h"
+#include "t_input.h"
+#include "t_output.h"
+#include "tbigint.h"
+#include "tconstructionfb.h"
+#include "tconstructionvector.h"
+#include "tbasicmathsvector.h"
+#include "tbasicmathsfb.h"
+#include "tmontgomeryvector.h"
+#include "tmontgomeryfb.h"
+#include "tprimevector.h"
+#include "tmontgomeryperformance.h"
+#include "tprimegenperformance.h"
+#include "tprimevectorperformance.h"
+#include "tprimegen.h"
+#include "tprimegenvector.h"
+
+LOCAL_D void callExampleL() // initialize and call example code under cleanup stack
+    {
+    START_SCRIPT_LIST
+	SCRIPT_ITEM(CMontgomeryPerformance,_L8("MontgomeryPerformance")),
+	SCRIPT_ITEM(CPrimeVector,_L8("PrimeVector")),
+	SCRIPT_ITEM(CConstructionFB,_L8("ConstructionFB")),
+	SCRIPT_ITEM(CConstructionVector,_L8("ConstructionVector")),
+	SCRIPT_ITEM(CBasicMathsVector,_L8("BasicMathsVector")),
+	SCRIPT_ITEM(CBasicMathsFB,_L8("BasicMathsFB")),
+	SCRIPT_ITEM(CMontgomeryVector,_L8("MontgomeryVector")),
+	SCRIPT_ITEM(CMontgomeryFB,_L8("MontgomeryFB")),
+	SCRIPT_ITEM(CPrimeGenPerformance,_L8("PrimeGenPerformance")),
+	SCRIPT_ITEM(CPrimeVectorPerformance,_L8("PrimeVectorPerformance")),
+	SCRIPT_ITEM(CPrimeGen,_L8("PrimeGen")),
+	SCRIPT_ITEM(CPrimeGenVector,_L8("PrimeGenVector"))
+	END_SCRIPT_LIST
+
+//	Either run the top level build and test script or, if running this test specifically, 
+//	uncomment the following and it'll run them all one after the other
+
+	TDriveUnit sysDrive (static_cast <TInt> (RFs::GetSystemDrive()));
+	TBuf<64> scriptFile = sysDrive.Name();
+	scriptFile.Append(_L("\\tbigint\\tbasicmathstests.txt"));
+	TBuf<64> logFile = sysDrive.Name();
+	logFile.Append(_L("\\tbigint\\tbasicmaths.log"));
+	
+	CTestSetup::CreateAndRunTestsL(theTestTypes, scriptFile, logFile);
+	
+/*	CTestSetup::CreateAndRunTestsL(theTestTypes, 
+		_L("c:\\tbigint\\tconstructiontests.txt"),
+		_L("c:\\tbigint\\tconstruction.log"));
+	CTestSetup::CreateAndRunTestsL(theTestTypes, 
+		_L("c:\\tbigint\\tprimegen.txt"),
+		_L("c:\\tbigint\\tprimegen.log"));
+	CTestSetup::CreateAndRunTestsL(theTestTypes, 
+		_L("c:\\tbigint\\tprimegenperformance.txt"),
+		_L("c:\\tbigint\\tprimegenperformance.log"));
+	CTestSetup::CreateAndRunTestsL(theTestTypes, 
+		_L("c:\\tbigint\\tmontgomerytests.txt"),
+		_L("c:\\tbigint\\tmontgomery.log"));
+	CTestSetup::CreateAndRunTestsL(theTestTypes, 
+		_L("c:\\tbigint\\tperformancetests.txt"),
+		_L("c:\\tbigint\\tperformance.log"));
+	CTestSetup::CreateAndRunTestsL(theTestTypes, 
+		_L("c:\\tbigint\\tprimetests.txt"),
+		_L("c:\\tbigint\\tprime.log"));
+	CTestSetup::CreateAndRunTestsL(theTestTypes, 
+		_L("c:\\tbigint\\tprimetests2.txt"),
+		_L("c:\\tbigint\\tprime2.log"));
+*/
+    }
+
+GLDEF_C TInt E32Main() // main function called by E32
+    {
+	__UHEAP_MARK;
+	CTrapCleanup* cleanup = CTrapCleanup::New(); // get clean-up stack
+	TRAPD(error, callExampleL());
+	__ASSERT_ALWAYS(!error,User::Panic(_L("bigint"),error));
+	delete cleanup; // destroy clean-up stack
+	__UHEAP_MARKEND;
+	return 0;
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tbigint/tconstructionfb.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,129 @@
+/*
+* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* tconstruction.cpp
+*
+*/
+
+
+#include "tconstructionfb.h"
+#include "t_input.h"
+#include <bigint.h>
+#include <random.h>
+
+CTestAction* CConstructionFB::NewL(RFs& aFs, CConsoleBase& aConsole, 
+	Output& aOut, const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction* self = CConstructionFB::NewLC(aFs, aConsole,
+		aOut, aTestActionSpec);
+	CleanupStack::Pop();
+	return self;
+	}
+
+CTestAction* CConstructionFB::NewLC(RFs& aFs, CConsoleBase& aConsole, 
+	Output& aOut, const TTestActionSpec& aTestActionSpec)
+	{
+	CConstructionFB* self = new(ELeave) CConstructionFB(aFs, aConsole, aOut);
+	CleanupStack::PushL(self);
+	self->ConstructL(aTestActionSpec);
+	return self;
+	}
+
+CConstructionFB::~CConstructionFB()
+	{
+	}
+
+CConstructionFB::CConstructionFB(RFs& aFs, CConsoleBase& aConsole, Output& aOut)
+	: CTestAction(aConsole, aOut), iFs(aFs)
+	{
+	}
+
+void CConstructionFB::ConstructL(const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction::ConstructL(aTestActionSpec);
+	}
+
+void CConstructionFB::DoPerformPrerequisite(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+	User::RequestComplete(status, KErrNone);
+	iActionState = CTestAction::EAction;
+	}
+
+void CConstructionFB::DoPerformPostrequisite(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+	iFinished = ETrue;
+	User::RequestComplete(status, KErrNone);
+	}
+
+void CConstructionFB::DoReportAction(void)
+	{
+	}
+
+void CConstructionFB::DoCheckResult(TInt)
+	{
+	}
+
+void CConstructionFB::PerformAction(TRequestStatus& aStatus)
+	{
+	__UHEAP_MARK;
+	TRequestStatus* status = &aStatus;
+	iResult = ETrue;
+
+	//Generate 100 i*5 byte random sequences
+	//This tests:
+	// - NewLC(const TDesC8&)
+	// - NewLC(const RInteger&)
+	// - BufferLC()
+	// By comparing the output of BufferLC we can have (some) assurance
+	// that the internal integer code is intrepreting strings in the correct
+	// order and endianess
+	for(TUint i=0; i<100; i++)
+		{ 
+		HBufC8* buf = HBufC8::NewMaxLC(i*5);
+		TPtr8 ptr = buf->Des();
+		TRandom::RandomL(ptr);
+
+		RInteger a = RInteger::NewL(ptr);
+		CleanupStack::PushL(a);
+		HBufC8* out = a.BufferLC();
+		if( *out != *buf )
+			{
+			iResult = EFalse;
+			}
+		CleanupStack::PopAndDestroy(out);
+		
+		RInteger b = RInteger::NewL(a);
+		CleanupStack::PushL(b);
+		if( a != b )
+			{
+			iResult = EFalse;
+			}
+		out = b.BufferLC();
+		if( *out != *buf )
+			{
+			iResult = EFalse;
+			}
+		CleanupStack::PopAndDestroy(out);
+		CleanupStack::PopAndDestroy(); //b
+		CleanupStack::PopAndDestroy();//a
+		CleanupStack::PopAndDestroy(buf);
+		}
+
+	User::RequestComplete(status, KErrNone);
+	iActionState = CTestAction::EPostrequisite;
+	__UHEAP_MARKEND;
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tbigint/tconstructionfb.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,46 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#ifndef __TCONSTRUCTION_H__
+#define __TCONSTRUCTION_H__
+
+#include "t_testaction.h"
+#include <e32std.h>
+
+class CConstructionFB : public CTestAction
+{
+public:
+	static CTestAction* NewL(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	static CTestAction* NewLC(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	virtual ~CConstructionFB();
+	virtual void DoPerformPrerequisite(TRequestStatus& aStatus);
+	virtual void DoPerformPostrequisite(TRequestStatus& aStatus);
+	virtual void PerformAction(TRequestStatus& aStatus);
+	virtual void DoReportAction(void);
+	virtual void DoCheckResult(TInt);
+
+private:
+	CConstructionFB(RFs& aFs, CConsoleBase& aConsole, Output& aOut);
+	void ConstructL(const TTestActionSpec& aTestActionSpec);
+
+	RFs& iFs;
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tbigint/tconstructionvector.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,126 @@
+/*
+* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include "tconstructionvector.h"
+#include "t_input.h"
+#include <bigint.h>
+
+class RIntegerTest : public RInteger
+	{
+	public:
+		RIntegerTest(void) {}
+		RIntegerTest(const RInteger& aInteger) {iSize = *((TUint*)&aInteger); iPtr = *(((TUint*)(&aInteger)+1));	}
+		TUint* Ptr(void) {return RInteger::Ptr();}
+	};
+
+CTestAction* CConstructionVector::NewL(RFs& aFs, CConsoleBase& aConsole, 
+	Output& aOut, const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction* self = CConstructionVector::NewLC(aFs, aConsole,
+		aOut, aTestActionSpec);
+	CleanupStack::Pop();
+	return self;
+	}
+
+CTestAction* CConstructionVector::NewLC(RFs& aFs, CConsoleBase& aConsole, 
+	Output& aOut, const TTestActionSpec& aTestActionSpec)
+	{
+	CConstructionVector* self = new(ELeave) CConstructionVector(aFs, aConsole, aOut);
+	CleanupStack::PushL(self);
+	self->ConstructL(aTestActionSpec);
+	return self;
+	}
+
+CConstructionVector::~CConstructionVector()
+	{
+	delete iBody;
+	delete iString;
+	delete iMemoryLayout;
+	}
+
+CConstructionVector::CConstructionVector(RFs& aFs, CConsoleBase& aConsole, Output& aOut)
+	: CTestAction(aConsole, aOut), iFs(aFs)
+	{
+	}
+
+void CConstructionVector::ConstructL(const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction::ConstructL(aTestActionSpec);
+	iBody = HBufC8::NewL(aTestActionSpec.iActionBody.Length());
+	iBody->Des().Copy(aTestActionSpec.iActionBody);
+
+	iString = Input::ParseElementHexL(*iBody, _L8("<input>"));
+	iMemoryLayout = Input::ParseElementHexL(*iBody, _L8("<memorylayout>"));
+	}
+
+void CConstructionVector::DoPerformPrerequisite(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+	User::RequestComplete(status, KErrNone);
+	iActionState = CTestAction::EAction;
+	}
+
+void CConstructionVector::DoPerformPostrequisite(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+	iFinished = ETrue;
+	User::RequestComplete(status, KErrNone);
+	}
+
+void CConstructionVector::DoReportAction(void)
+	{
+	}
+
+void CConstructionVector::DoCheckResult(TInt)
+	{
+	}
+
+void CConstructionVector::PerformAction(TRequestStatus& aStatus)
+	{
+	__UHEAP_MARK;
+	TRequestStatus* status = &aStatus;
+	iResult = ETrue;
+
+	//This is just a derived class to get around the fact that iReg is
+	//protected in RInteger.  See top of file for definition
+	RIntegerTest a;
+	//a = (RIntegerTest)(RInteger::NewL(*iString));
+	a = static_cast<RIntegerTest>(RIntegerTest::NewL(*iString));
+	CleanupStack::PushL(a);
+	
+	//This test ensures that the internal memory layout of a number is correct
+	TUint compare = Mem::Compare((TUint8*)(a.Ptr()), a.ByteCount(), 
+		iMemoryLayout->Ptr(), iMemoryLayout->Size());
+	if( compare != 0 )
+		{
+		iResult = EFalse;
+		}
+
+	HBufC8* out = a.BufferLC();
+	if( *out != *iString )
+		{
+		iResult = EFalse;
+		}
+	CleanupStack::PopAndDestroy(out);
+	CleanupStack::PopAndDestroy(&a);
+
+	User::RequestComplete(status, KErrNone);
+	iActionState = CTestAction::EPostrequisite;
+	__UHEAP_MARKEND;
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tbigint/tconstructionvector.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,49 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#ifndef __TCONSTRUCTIONVECTOR_H__
+#define __TCONSTRUCTIONVECTOR_H__
+
+#include "t_testaction.h"
+#include <e32std.h>
+
+class CConstructionVector : public CTestAction
+{
+public:
+	static CTestAction* NewL(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	static CTestAction* NewLC(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	virtual ~CConstructionVector();
+	virtual void DoPerformPrerequisite(TRequestStatus& aStatus);
+	virtual void DoPerformPostrequisite(TRequestStatus& aStatus);
+	virtual void PerformAction(TRequestStatus& aStatus);
+	virtual void DoReportAction(void);
+	virtual void DoCheckResult(TInt);
+
+private:
+	CConstructionVector(RFs& aFs, CConsoleBase& aConsole, Output& aOut);
+	void ConstructL(const TTestActionSpec& aTestActionSpec);
+
+	RFs& iFs;
+	HBufC8* iBody;
+	HBufC8* iString;
+	HBufC8* iMemoryLayout;
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tbigint/tmontgomeryfb.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,149 @@
+/*
+* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include "tmontgomeryfb.h"
+#include "t_input.h"
+#include "t_output.h"
+#include "tutils.h"
+#include <bigint.h>
+#include <random.h>
+#include "../../source/bigint/mont.h"
+
+CTestAction* CMontgomeryFB::NewL(RFs& aFs, CConsoleBase& aConsole, 
+	Output& aOut, const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction* self = CMontgomeryFB::NewLC(aFs, aConsole,
+		aOut, aTestActionSpec);
+	CleanupStack::Pop();
+	return self;
+	}
+
+CTestAction* CMontgomeryFB::NewLC(RFs& aFs, CConsoleBase& aConsole, 
+	Output& aOut, const TTestActionSpec& aTestActionSpec)
+	{
+	CMontgomeryFB* self = new(ELeave) CMontgomeryFB(aFs, aConsole, aOut);
+	CleanupStack::PushL(self);
+	self->ConstructL(aTestActionSpec);
+	return self;
+	}
+
+CMontgomeryFB::~CMontgomeryFB()
+	{
+	delete iBody;
+	}
+
+CMontgomeryFB::CMontgomeryFB(RFs& aFs, CConsoleBase& aConsole, Output& aOut)
+	: CTestAction(aConsole, aOut), iFs(aFs)
+	{
+	}
+
+void CMontgomeryFB::ConstructL(const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction::ConstructL(aTestActionSpec);
+
+	iBody = HBufC8::NewL(aTestActionSpec.iActionBody.Length());
+	iBody->Des().Copy(aTestActionSpec.iActionBody);
+
+	HBufC8* length = Input::ParseElementHexL(*iBody, _L8("<bits>"));
+	CleanupStack::PushL(length);
+	RInteger clength = RInteger::NewL(*length);
+	CleanupStack::PopAndDestroy(length);
+	CleanupStack::PushL(clength);
+	TUint bits = clength.ConvertToLongL();
+	CleanupStack::PopAndDestroy();//clength
+	// the final /7 gives the number of times we have to increment by 7 to get
+	// to that number of bytes and hence bits.
+	iIterations = ((bits+7)/8)/7 + 1;
+	}
+
+void CMontgomeryFB::DoPerformPrerequisite(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+	User::RequestComplete(status, KErrNone);
+	iActionState = CTestAction::EAction;
+	}
+
+void CMontgomeryFB::DoPerformPostrequisite(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+	iFinished = ETrue;
+	User::RequestComplete(status, KErrNone);
+	}
+
+void CMontgomeryFB::DoReportAction(void)
+	{
+	}
+
+void CMontgomeryFB::DoCheckResult(TInt)
+	{
+	}
+
+void CMontgomeryFB::PerformAction(TRequestStatus& aStatus)
+	{
+	TRAPD(res, PerformActionL());
+	__ASSERT_ALWAYS(!res, User::Panic(_L("CMontgomeryFB::PerformAction"), res));
+	TRequestStatus* status = &aStatus;
+	User::RequestComplete(status, KErrNone);
+	iActionState = CTestAction::EPostrequisite;
+	}
+
+void CMontgomeryFB::PerformActionL()
+	{
+	__UHEAP_MARK;
+	
+	iResult = ETrue;
+
+	//Generate iIterations*7 byte random sequences we are using 7 as it's a
+	//generator mod 8.  Thus we'll cycle through every value (0-7) every 8
+	//iterations.  This gives us a better feeling that certain byte lengths
+	//(and thus bit lengths as the byte is chosen randomly) don't have errors.
+	for(TUint i=1; i<=iIterations; i++)
+		{ 
+		//generate a prime of roughly i*7*8 bits
+		RInteger prime = RInteger::NewPrimeL(i*7*8);
+		CleanupStack::PushL(prime);
+		CMontgomeryStructure* mont = CMontgomeryStructure::NewLC(prime);
+		
+		//generate a random number of x | 2 < x < prime
+		RInteger base = RInteger::NewRandomL(TInteger::Two(), prime);
+		CleanupStack::PushL(base);
+		
+		//This is using Fermat's Little Theorem
+		//  (base ^ prime) % prime == base or
+		//  (base ^ prime-1) % prime == 1
+		const TInteger& y = mont->ExponentiateL(base, prime);
+		if( y != base )
+			{
+			iResult = EFalse;
+			iConsole.Printf(_L("X"));
+			iOut.writeString(_L("Failure exponentiating:"));
+			iOut.writeNewLine();
+			Utils::DumpInteger(iOut, _L("base: "), base);
+			Utils::DumpInteger(iOut, _L("prime: "), prime);
+			Utils::DumpInteger(iOut, _L("output: "), (const RInteger&)y);
+			Utils::DumpInteger(iOut, _L("expected: "), base);
+			}
+
+		CleanupStack::PopAndDestroy(3, &prime);//base,mont,prime
+
+		iConsole.Printf(_L("."));
+		}
+
+	__UHEAP_MARKEND;
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tbigint/tmontgomeryfb.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,49 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#ifndef __TMONTGOMERYFB_H__
+#define __TMONTGOMERYFB_H__
+
+#include "t_testaction.h"
+#include <e32std.h>
+
+class CMontgomeryFB : public CTestAction
+{
+public:
+	static CTestAction* NewL(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	static CTestAction* NewLC(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	virtual ~CMontgomeryFB();
+	virtual void DoPerformPrerequisite(TRequestStatus& aStatus);
+	virtual void DoPerformPostrequisite(TRequestStatus& aStatus);
+	virtual void PerformAction(TRequestStatus& aStatus);
+	void PerformActionL(void);
+	virtual void DoReportAction(void);
+	virtual void DoCheckResult(TInt);
+
+private:
+	CMontgomeryFB(RFs& aFs, CConsoleBase& aConsole, Output& aOut);
+	void ConstructL(const TTestActionSpec& aTestActionSpec);
+
+	RFs& iFs;
+	TUint iIterations;
+	HBufC8* iBody;
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tbigint/tmontgomeryperformance.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,238 @@
+/*
+* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include "tmontgomeryperformance.h"
+#include "t_input.h"
+#include "t_output.h"
+#include <bigint.h>
+#include "../../source/bigint/mont.h"
+
+_LIT(KPerfConstFormat, "\tConstruction Time: %f us/iteration (%i iterations in %f us)\r\n");
+_LIT(KPerfMultiplyFormat, "\tMultiply Time: %f us/iteration (%i iterations in %f us)\r\n");
+_LIT(KPerfSquareFormat, "\tSquare Time: %f us/iteration (%i iterations in %f us)\r\n");
+_LIT(KPerfExpFormat, "\tExponentiate Time: %f us/iteration (%i iterations in %f us)\r\n");
+_LIT(KPerfReduceFormat, "\tReduce Time: %f us/iteration (%i iterations in %f us)\r\n");
+
+CTestAction* CMontgomeryPerformance::NewL(RFs& aFs, CConsoleBase& aConsole, 
+	Output& aOut, const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction* self = CMontgomeryPerformance::NewLC(aFs, aConsole,
+		aOut, aTestActionSpec);
+	CleanupStack::Pop();
+	return self;
+	}
+
+CTestAction* CMontgomeryPerformance::NewLC(RFs& aFs, CConsoleBase& aConsole, 
+	Output& aOut, const TTestActionSpec& aTestActionSpec)
+	{
+	CMontgomeryPerformance* self = new(ELeave) CMontgomeryPerformance(aFs, aConsole, aOut);
+	CleanupStack::PushL(self);
+	self->ConstructL(aTestActionSpec);
+	return self;
+	}
+
+CMontgomeryPerformance::~CMontgomeryPerformance()
+	{
+	delete iBody;
+	iA.Close();
+	iB.Close();
+	iModulus.Close();
+	}
+
+CMontgomeryPerformance::CMontgomeryPerformance(RFs& aFs, CConsoleBase& aConsole, 
+	Output& aOut) : CTestAction(aConsole, aOut), iFs(aFs)
+	{
+	}
+
+void CMontgomeryPerformance::ConstructL(const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction::ConstructL(aTestActionSpec);
+	iBody = HBufC8::NewL(aTestActionSpec.iActionBody.Length());
+	iBody->Des().Copy(aTestActionSpec.iActionBody);
+
+	iIterations = Input::ParseIntElement(*iBody, _L8("<iterations>"), _L8("</iterations>"));
+
+	TUint bits = Input::ParseIntElement(*iBody, _L8("<bits>"), _L8("</bits>"));
+	
+	do 
+		{
+		if(*((TUint*)&iModulus)) //if the size is zero, ie iModulus hasn't been initialised so don't clean it up
+			{
+			iModulus.Close();
+			}
+		iModulus = RInteger::NewRandomL(bits);
+		}
+	while(iModulus.IsEven());
+
+	iA = RInteger::NewRandomL(TInteger::One(), iModulus);
+	iB = RInteger::NewRandomL(TInteger::One(), iModulus);
+	}
+
+void CMontgomeryPerformance::DoPerformPrerequisite(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+	User::RequestComplete(status, KErrNone);
+	iActionState = CTestAction::EAction;
+	}
+
+void CMontgomeryPerformance::DoPerformPostrequisite(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+	iFinished = ETrue;
+	User::RequestComplete(status, KErrNone);
+	}
+
+void CMontgomeryPerformance::DoReportAction(void)
+	{
+	}
+
+void CMontgomeryPerformance::DoCheckResult(TInt)
+	{
+	}
+
+void CMontgomeryPerformance::PerformAction(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+	iResult = ETrue;
+
+	CMontgomeryStructure* montConst;
+
+	TUint iterations = 0;
+
+	TTime start, end;
+	TTimeIntervalSeconds diff(0);
+	const TTimeIntervalSeconds iterationTime(iIterations);
+	
+	start.UniversalTime();
+	while (diff < iterationTime)
+		{
+		montConst = CMontgomeryStructure::NewL(iModulus);
+		delete montConst;
+		iterations++;
+		end.UniversalTime();
+		end.SecondsFrom(start, diff);
+		}
+	end.UniversalTime();
+
+	TTimeIntervalMicroSeconds time = end.MicroSecondsFrom(start);
+	TReal rate = I64REAL(time.Int64()) / (iterations);
+	TReal rtime = I64REAL(time.Int64());
+    HBufC* realbuf = HBufC::NewLC(128);
+	TPtr buf = realbuf->Des();
+	buf.Format(KPerfConstFormat, rate, iterations, rtime);
+	iOut.writeString(buf);
+	iConsole.Printf(_L("."));
+
+	CMontgomeryStructure* mont = CMontgomeryStructure::NewLC(iModulus); 
+
+//Multiply
+	diff  = 0;
+	iterations = 0;
+	start.UniversalTime();
+	while (diff < iterationTime)
+		{
+		mont->MultiplyL(iA, iB);
+		iterations++;
+		end.UniversalTime();
+		end.SecondsFrom(start, diff);
+		}
+	end.UniversalTime();
+
+	time = end.MicroSecondsFrom(start);
+	rate = I64REAL(time.Int64()) / iterations;
+    rtime = I64REAL(time.Int64());
+	buf.Zero();
+	buf.Format(KPerfMultiplyFormat, rate, iterations, rtime);
+	iOut.writeString(buf);
+	iConsole.Printf(_L("."));
+
+//Square
+	diff  = 0;
+	iterations = 0;
+	start.UniversalTime();
+	while (diff < iterationTime)
+		{
+		mont->SquareL(iA);
+		iterations++;
+		end.UniversalTime();
+		end.SecondsFrom(start, diff);
+		}
+	end.UniversalTime();
+
+	time = end.MicroSecondsFrom(start);
+	rate = I64REAL(time.Int64()) / iterations;
+    rtime = I64REAL(time.Int64());
+	buf.Zero();
+	buf.Format(KPerfSquareFormat, rate, iterations, rtime);
+	iOut.writeString(buf);
+	iConsole.Printf(_L("."));
+
+//Exponentiate
+	diff  = 0;
+	iterations = 0;
+	start.UniversalTime();
+	while (diff < iterationTime)
+		{
+		mont->ExponentiateL(iA, iB);
+		iterations++;
+		end.UniversalTime();
+		end.SecondsFrom(start, diff);
+		}
+	end.UniversalTime();
+
+	time = end.MicroSecondsFrom(start);
+	rate = I64REAL(time.Int64()) / iterations;
+    rtime = I64REAL(time.Int64());
+
+	buf.Zero();
+	buf.Format(KPerfExpFormat, rate, iterations, rtime);
+	iOut.writeString(buf);
+	iConsole.Printf(_L("."));
+
+//Reduce
+	RInteger top = iA.TimesL(iB);
+	CleanupStack::PushL(top);
+
+	diff  = 0;
+	iterations = 0;
+	start.UniversalTime();
+	while (diff < iterationTime)
+		{
+		mont->ReduceL(top);
+		iterations++;
+		end.UniversalTime();
+		end.SecondsFrom(start, diff);
+		}
+	end.UniversalTime();
+
+	CleanupStack::PopAndDestroy(&top);
+
+	time = end.MicroSecondsFrom(start);
+	rate = I64REAL(time.Int64()) / iterations;
+    rtime = I64REAL(time.Int64());
+	buf.Zero();
+	buf.Format(KPerfReduceFormat, rate, iterations, rtime);
+	iOut.writeString(buf);
+	iConsole.Printf(_L("."));
+	CleanupStack::PopAndDestroy(mont);
+	CleanupStack::PopAndDestroy(realbuf);
+
+	User::RequestComplete(status, KErrNone);
+	iActionState = CTestAction::EPostrequisite;
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tbigint/tmontgomeryperformance.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,52 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#ifndef __TMONTGOMERYPERFORMANCE_H__
+#define __TMONTGOMERYPERFORMANCE_H__
+
+#include "t_testaction.h"
+#include <e32std.h>
+#include <bigint.h>
+
+class CMontgomeryPerformance : public CTestAction
+{
+public:
+	static CTestAction* NewL(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	static CTestAction* NewLC(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	virtual ~CMontgomeryPerformance();
+	virtual void DoPerformPrerequisite(TRequestStatus& aStatus);
+	virtual void DoPerformPostrequisite(TRequestStatus& aStatus);
+	virtual void PerformAction(TRequestStatus& aStatus);
+	virtual void DoReportAction(void);
+	virtual void DoCheckResult(TInt);
+
+private:
+	CMontgomeryPerformance(RFs& aFs, CConsoleBase& aConsole, Output& aOut);
+	void ConstructL(const TTestActionSpec& aTestActionSpec);
+
+	RFs& iFs;
+	HBufC8* iBody;
+	TUint iIterations;
+	RInteger iModulus;
+	RInteger iA;
+	RInteger iB;
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tbigint/tmontgomeryvector.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,158 @@
+/*
+* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include "tmontgomeryvector.h"
+#include "t_input.h"
+#include <bigint.h>
+#include "../../source/bigint/mont.h"
+
+CTestAction* CMontgomeryVector::NewL(RFs& aFs, CConsoleBase& aConsole, 
+	Output& aOut, const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction* self = CMontgomeryVector::NewLC(aFs, aConsole,
+		aOut, aTestActionSpec);
+	CleanupStack::Pop();
+	return self;
+	}
+
+CTestAction* CMontgomeryVector::NewLC(RFs& aFs, CConsoleBase& aConsole, 
+	Output& aOut, const TTestActionSpec& aTestActionSpec)
+	{
+	CMontgomeryVector* self = new(ELeave) CMontgomeryVector(aFs, aConsole, aOut);
+	CleanupStack::PushL(self);
+	self->ConstructL(aTestActionSpec);
+	return self;
+	}
+
+CMontgomeryVector::~CMontgomeryVector()
+	{
+	delete iBody;
+	delete iA;
+	delete iB;
+	delete iModulus;
+	delete iAns;
+	}
+
+CMontgomeryVector::CMontgomeryVector(RFs& aFs, CConsoleBase& aConsole, 
+	Output& aOut) : CTestAction(aConsole, aOut), iFs(aFs)
+	{
+	}
+
+void CMontgomeryVector::ConstructL(const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction::ConstructL(aTestActionSpec);
+	iBody = HBufC8::NewL(aTestActionSpec.iActionBody.Length());
+	iBody->Des().Copy(aTestActionSpec.iActionBody);
+
+	iA = Input::ParseElementHexL(*iBody, _L8("<a>"));
+	iB = Input::ParseElementHexL(*iBody, _L8("<b>"));
+	iModulus = Input::ParseElementHexL(*iBody, _L8("<modulus>"));
+	iAns = Input::ParseElementHexL(*iBody, _L8("<ans>"));
+	TPtrC8 op = Input::ParseElement(*iBody, _L8("<op>"));
+	if( op == _L8("multiply") )
+		{
+		iOp = EMultiply;
+		}
+	else if( op == _L8("square") )
+		{
+		iOp = ESquare;
+		}
+	else if( op == _L8("reduce") )
+		{
+		iOp = EReduce;
+		}
+	else if( op == _L8("exponentiate") )
+		{
+		iOp = EExponentiate;
+		}
+	else 
+		{
+		User::Panic(_L("tmontgomeryvector"), 1);
+		}
+	}
+
+void CMontgomeryVector::DoPerformPrerequisite(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+	User::RequestComplete(status, KErrNone);
+	iActionState = CTestAction::EAction;
+	}
+
+void CMontgomeryVector::DoPerformPostrequisite(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+	iFinished = ETrue;
+	User::RequestComplete(status, KErrNone);
+	}
+
+void CMontgomeryVector::DoReportAction(void)
+	{
+	}
+
+void CMontgomeryVector::DoCheckResult(TInt)
+	{
+	}
+
+void CMontgomeryVector::PerformAction(TRequestStatus& aStatus)
+	{
+	__UHEAP_MARK;
+	TRequestStatus* status = &aStatus;
+	iResult = ETrue;
+
+ 	RInteger a = RInteger::NewL(*iA);
+	CleanupStack::PushL(a);
+	RInteger b = RInteger::NewL(*iB);
+	CleanupStack::PushL(b);
+	RInteger modulus = RInteger::NewL(*iModulus);
+	CleanupStack::PushL(modulus);
+	RInteger ans = RInteger::NewL(*iAns);
+	CleanupStack::PushL(ans);
+	CMontgomeryStructure* mont = CMontgomeryStructure::NewLC(modulus);
+	//we don't own out at any point, it remains the propery of mont
+	const TInteger* out = 0;
+	switch(iOp)
+		{
+		case EMultiply:
+			out = &(mont->MultiplyL(a, b));
+			break;
+		case ESquare:
+			out = &(mont->SquareL(a));
+			break;
+		case EReduce:
+			out = &(mont->ReduceL(a));
+			break;
+		case EExponentiate:
+			out = &(mont->ExponentiateL(a, b));
+			break;
+		default:
+			User::Panic(_L("tbasicmathsvector"), 2);
+			break;
+		}
+
+	if( *out != ans )
+		{
+		iResult = EFalse;
+		}
+	CleanupStack::PopAndDestroy(mont);
+	CleanupStack::PopAndDestroy(4); //ans, modulus, b,a 
+
+	User::RequestComplete(status, KErrNone);
+	iActionState = CTestAction::EPostrequisite;
+	__UHEAP_MARKEND;
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tbigint/tmontgomeryvector.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,53 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#ifndef __TMONTGOMERYVECTOR_H__
+#define __TMONTGOMERYVECTOR_H__
+
+#include "t_testaction.h"
+#include <e32std.h>
+
+class CMontgomeryVector : public CTestAction
+{
+public:
+	static CTestAction* NewL(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	static CTestAction* NewLC(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	virtual ~CMontgomeryVector();
+	virtual void DoPerformPrerequisite(TRequestStatus& aStatus);
+	virtual void DoPerformPostrequisite(TRequestStatus& aStatus);
+	virtual void PerformAction(TRequestStatus& aStatus);
+	virtual void DoReportAction(void);
+	virtual void DoCheckResult(TInt);
+
+private:
+	CMontgomeryVector(RFs& aFs, CConsoleBase& aConsole, Output& aOut);
+	void ConstructL(const TTestActionSpec& aTestActionSpec);
+
+	RFs& iFs;
+	HBufC8* iBody;
+	HBufC8* iA;
+	HBufC8* iB;
+	HBufC8* iModulus;
+	HBufC8* iAns;
+	enum TOperationType {EMultiply, ESquare, EReduce, EExponentiate};
+	TOperationType iOp;
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tbigint/tprimegen.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,103 @@
+/*
+* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include "tprimegen.h"
+#include "t_input.h"
+#include <bigint.h>
+#include "tutils.h"
+#include <random.h>
+
+CTestAction* CPrimeGen::NewL(RFs& aFs, CConsoleBase& aConsole, 
+	Output& aOut, const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction* self = CPrimeGen::NewLC(aFs, aConsole,
+		aOut, aTestActionSpec);
+	CleanupStack::Pop();
+	return self;
+	}
+
+CTestAction* CPrimeGen::NewLC(RFs& aFs, CConsoleBase& aConsole, 
+	Output& aOut, const TTestActionSpec& aTestActionSpec)
+	{
+	CPrimeGen* self = new(ELeave) CPrimeGen(aFs, aConsole, aOut);
+	CleanupStack::PushL(self);
+	self->ConstructL(aTestActionSpec);
+	return self;
+	}
+
+CPrimeGen::~CPrimeGen()
+	{
+	delete iBody;
+	}
+
+CPrimeGen::CPrimeGen(RFs& aFs, CConsoleBase& aConsole, 
+	Output& aOut) : CTestAction(aConsole, aOut), iFs(aFs)
+	{
+	}
+
+void CPrimeGen::ConstructL(const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction::ConstructL(aTestActionSpec);
+	iBody = HBufC8::NewL(aTestActionSpec.iActionBody.Length());
+	iBody->Des().Copy(aTestActionSpec.iActionBody);
+
+	iBits = Input::ParseIntElement(*iBody, _L8("<bits>"), _L8("</bits>"));
+	}
+
+void CPrimeGen::DoPerformPrerequisite(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+	User::RequestComplete(status, KErrNone);
+	iActionState = CTestAction::EAction;
+	}
+
+void CPrimeGen::DoPerformPostrequisite(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+	iFinished = ETrue;
+	User::RequestComplete(status, KErrNone);
+	}
+
+void CPrimeGen::DoReportAction(void)
+	{
+	}
+
+void CPrimeGen::DoCheckResult(TInt)
+	{
+	}
+
+void CPrimeGen::PerformAction(TRequestStatus& aStatus)
+	{
+	__UHEAP_MARK;
+	TRequestStatus* status = &aStatus;
+	iResult = EFalse;
+
+	RInteger prime = RInteger::NewPrimeL(iBits, TInteger::ETopBitSet);
+	CleanupStack::PushL(prime);
+	if(prime.BitCount() == iBits && prime.IsPrimeL())
+		{
+		iResult = ETrue;
+		}
+
+	CleanupStack::PopAndDestroy(&prime);
+
+	User::RequestComplete(status, KErrNone);
+	iActionState = CTestAction::EPostrequisite;
+	__UHEAP_MARKEND;
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tbigint/tprimegen.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,50 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#ifndef __TPRIMEGEN_H__
+#define __TPRIMEGEN_H__
+
+#include "t_testaction.h"
+#include <e32std.h>
+#include <bigint.h>
+
+class CPrimeGen : public CTestAction
+{
+public:
+	static CTestAction* NewL(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	static CTestAction* NewLC(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	virtual ~CPrimeGen();
+	virtual void DoPerformPrerequisite(TRequestStatus& aStatus);
+	virtual void DoPerformPostrequisite(TRequestStatus& aStatus);
+	virtual void PerformAction(TRequestStatus& aStatus);
+	virtual void DoReportAction(void);
+	virtual void DoCheckResult(TInt);
+
+private:
+	CPrimeGen(RFs& aFs, CConsoleBase& aConsole, Output& aOut);
+	void ConstructL(const TTestActionSpec& aTestActionSpec);
+
+	RFs& iFs;
+	HBufC8* iBody;
+	TUint iIterations;
+	TUint iBits;
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tbigint/tprimegenperformance.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,127 @@
+/*
+* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include "tprimegenperformance.h"
+#include "t_input.h"
+#include "t_output.h"
+#include <bigint.h>
+
+_LIT(KPrimeGenFormat, "\tPrime Generation Time: %f us/iteration (%i iterations in %f us)\r\n");
+
+const TUint KMaxIterations=100;
+
+CTestAction* CPrimeGenPerformance::NewL(RFs& aFs, CConsoleBase& aConsole, 
+	Output& aOut, const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction* self = CPrimeGenPerformance::NewLC(aFs, aConsole,
+		aOut, aTestActionSpec);
+	CleanupStack::Pop();
+	return self;
+	}
+
+CTestAction* CPrimeGenPerformance::NewLC(RFs& aFs, CConsoleBase& aConsole, 
+	Output& aOut, const TTestActionSpec& aTestActionSpec)
+	{
+	CPrimeGenPerformance* self = new(ELeave) CPrimeGenPerformance(aFs, aConsole, aOut);
+	CleanupStack::PushL(self);
+	self->ConstructL(aTestActionSpec);
+	return self;
+	}
+
+CPrimeGenPerformance::~CPrimeGenPerformance()
+	{
+	delete iBody;
+	}
+
+CPrimeGenPerformance::CPrimeGenPerformance(RFs& aFs, CConsoleBase& aConsole, 
+	Output& aOut) : CTestAction(aConsole, aOut), iFs(aFs)
+	{
+	}
+
+void CPrimeGenPerformance::ConstructL(const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction::ConstructL(aTestActionSpec);
+	iBody = HBufC8::NewL(aTestActionSpec.iActionBody.Length());
+	iBody->Des().Copy(aTestActionSpec.iActionBody);
+
+	iBits = Input::ParseIntElement(*iBody, _L8("<bits>"), _L8("</bits>"));
+	iIterations = Input::ParseIntElement(*iBody, _L8("<iterations>"), _L8("</iterations>"));	
+	__ASSERT_ALWAYS(iIterations < KMaxIterations, User::Panic(_L("Iterations too large"), 1));
+	}
+
+void CPrimeGenPerformance::DoPerformPrerequisite(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+	User::RequestComplete(status, KErrNone);
+	iActionState = CTestAction::EAction;
+	}
+
+void CPrimeGenPerformance::DoPerformPostrequisite(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+	iFinished = ETrue;
+	User::RequestComplete(status, KErrNone);
+	}
+
+void CPrimeGenPerformance::DoReportAction(void)
+	{
+	}
+
+void CPrimeGenPerformance::DoCheckResult(TInt)
+	{
+	}
+
+void CPrimeGenPerformance::PerformAction(TRequestStatus& aStatus)
+	{
+	__UHEAP_MARK;
+	TRequestStatus* status = &aStatus;
+	TTime start, end;
+	TTimeIntervalSeconds diff(0);
+	const TTimeIntervalSeconds iterationTime(iIterations);
+	TUint iterations=0;
+	
+	RInteger prime;
+
+	start.UniversalTime();
+	while (diff < iterationTime)
+		{
+		prime = RInteger::NewPrimeL(iBits, TInteger::ETopBitSet);
+		prime.Close();
+		iterations++;
+		end.UniversalTime();
+		end.SecondsFrom(start, diff);
+		}
+	end.UniversalTime();
+
+	TTimeIntervalMicroSeconds time = end.MicroSecondsFrom(start);
+	TReal rate = I64REAL(time.Int64()) / iterations;
+    TReal rtime = I64REAL(time.Int64());
+	HBufC* realbuf = HBufC::NewLC(128);
+	TPtr buf = realbuf->Des();
+
+	buf.Format(KPrimeGenFormat, rate, iterations, rtime);
+	iOut.writeString(buf);
+	iConsole.Printf(_L("."));
+	CleanupStack::PopAndDestroy(realbuf);
+
+	User::RequestComplete(status, KErrNone);
+	iActionState = CTestAction::EPostrequisite;
+	iResult = ETrue;
+	__UHEAP_MARKEND;
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tbigint/tprimegenperformance.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,50 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#ifndef __TPRIMEGENPERFORMANCE_H__
+#define __TPRIMEGENPERFORMANCE_H__
+
+#include "t_testaction.h"
+#include <e32std.h>
+#include <bigint.h>
+
+class CPrimeGenPerformance : public CTestAction
+{
+public:
+	static CTestAction* NewL(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	static CTestAction* NewLC(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	virtual ~CPrimeGenPerformance();
+	virtual void DoPerformPrerequisite(TRequestStatus& aStatus);
+	virtual void DoPerformPostrequisite(TRequestStatus& aStatus);
+	virtual void PerformAction(TRequestStatus& aStatus);
+	virtual void DoReportAction(void);
+	virtual void DoCheckResult(TInt);
+
+private:
+	CPrimeGenPerformance(RFs& aFs, CConsoleBase& aConsole, Output& aOut);
+	void ConstructL(const TTestActionSpec& aTestActionSpec);
+
+	RFs& iFs;
+	HBufC8* iBody;
+	TUint iIterations;
+	TUint iBits;
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tbigint/tprimegenvector.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,142 @@
+/*
+* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* tprimeproblem.cpp
+*
+*/
+
+
+#include <bigint.h>
+#include <random.h>
+#include "tprimegenvector.h"
+#include "t_input.h"
+#include "t_output.h"
+#include "tutils.h"
+#include "../../source/bigint/mont.h"
+
+CTestAction* CPrimeGenVector::NewL(RFs& aFs, CConsoleBase& aConsole, 
+	Output& aOut, const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction* self = CPrimeGenVector::NewLC(aFs, aConsole,
+		aOut, aTestActionSpec);
+	CleanupStack::Pop();
+	return self;
+	}
+
+CTestAction* CPrimeGenVector::NewLC(RFs& aFs, CConsoleBase& aConsole, 
+	Output& aOut, const TTestActionSpec& aTestActionSpec)
+	{
+	CPrimeGenVector* self = new(ELeave) CPrimeGenVector(aFs, aConsole, aOut);
+	CleanupStack::PushL(self);
+	self->ConstructL(aTestActionSpec);
+	return self;
+	}
+
+CPrimeGenVector::~CPrimeGenVector()
+	{
+	delete iBody;
+	delete iRandomDes;
+	delete iPrimeDes;
+	iRandom.Close();
+	iPrime.Close();
+	}
+
+CPrimeGenVector::CPrimeGenVector(RFs& aFs, CConsoleBase& aConsole, Output& aOut)
+	: CTestAction(aConsole, aOut), iFs(aFs)
+	{
+	}
+
+void CPrimeGenVector::ConstructL(const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction::ConstructL(aTestActionSpec);
+
+	iBody = HBufC8::NewL(aTestActionSpec.iActionBody.Length());
+	iBody->Des().Copy(aTestActionSpec.iActionBody);
+
+	iBits = Input::ParseIntElement(*iBody, _L8("<bits>"), _L8("</bits>"));
+	iRandomDes = Input::ParseElementHexL(*iBody, _L8("<random>"));
+	iPrimeDes = Input::ParseElementHexL(*iBody, _L8("<prime>"));
+	}
+
+void CPrimeGenVector::DoPerformPrerequisite(TRequestStatus& aStatus)
+	{
+	iRandom = RInteger::NewL(*iRandomDes);
+	iPrime = RInteger::NewL(*iPrimeDes);
+	TRequestStatus* status = &aStatus;
+	User::RequestComplete(status, KErrNone);
+	iActionState = CTestAction::EAction;
+	}
+
+void CPrimeGenVector::DoPerformPostrequisite(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+	iFinished = ETrue;
+	User::RequestComplete(status, KErrNone);
+	}
+
+void CPrimeGenVector::DoReportAction(void)
+	{
+	}
+
+void CPrimeGenVector::DoCheckResult(TInt)
+	{
+	iResult = (iResult && iExpectedResult) || (!iResult && !iExpectedResult);
+	if (iResult)
+		iConsole.Printf(_L("."));
+	else
+		iConsole.Printf(_L("X"));
+	}
+
+void CPrimeGenVector::PerformAction(TRequestStatus& aStatus)
+	{
+	TRAPD(res, PerformActionL());
+	__ASSERT_ALWAYS(!res, User::Panic(_L("CPrimeGenVector::PerformAction"), res));
+	TRequestStatus* status = &aStatus;
+	User::RequestComplete(status, KErrNone);
+	iActionState = CTestAction::EPostrequisite;
+	}
+
+void CPrimeGenVector::PerformActionL()
+	{
+	__UHEAP_MARK;
+	
+	iResult = EFalse;;
+
+	//Returned number should be the next prime after our initial "random" number
+
+	//This CRandomSetSource stuff is a little dodgy as:
+	// 1) it has no NewL's with is fine as long as it doesn't allocate memory
+	// 2) more importantly, the prime generation routines use random numbers to
+	// determine whether or not the numbers it generates are prime.
+	// Since CRandomSetSource has already exhausted its given list of "random"
+	// numbers it returns 0's for use with anything else that calls it.  It
+	// makes the primality testing a little bogus if you were using it for real
+	// things, but the test vectors that are there have already been verified
+	// and are known to be prime.
+	CRandomSetSource* incrementingRandom = new(ELeave)CRandomSetSource(*iRandomDes);
+	SetThreadRandomLC(incrementingRandom);
+
+	RInteger prime = RInteger::NewPrimeL(iBits);
+
+	if(prime == iPrime)
+		{
+		iResult = ETrue;
+		}
+	prime.Close();
+
+	CleanupStack::PopAndDestroy(1); //SetThreadRandomLC
+
+	__UHEAP_MARKEND;
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tbigint/tprimegenvector.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,55 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* tprimeproblem.h
+*
+*/
+
+
+#ifndef __TPRIMEPROBLEM_H__
+#define __TPRIMEPROBLEM_H__
+
+#include "t_testaction.h"
+#include <e32std.h>
+#include "../../inc/bigint.h"
+
+class CPrimeGenVector : public CTestAction
+{
+public:
+	static CTestAction* NewL(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	static CTestAction* NewLC(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	virtual ~CPrimeGenVector();
+	virtual void DoPerformPrerequisite(TRequestStatus& aStatus);
+	virtual void DoPerformPostrequisite(TRequestStatus& aStatus);
+	virtual void PerformAction(TRequestStatus& aStatus);
+	void PerformActionL(void);
+	virtual void DoReportAction(void);
+	virtual void DoCheckResult(TInt);
+
+private:
+	CPrimeGenVector(RFs& aFs, CConsoleBase& aConsole, Output& aOut);
+	void ConstructL(const TTestActionSpec& aTestActionSpec);
+
+	RFs& iFs;
+	TUint iBits;
+	HBufC8* iBody;
+	HBufC8* iRandomDes;
+	HBufC8* iPrimeDes;
+	RInteger iRandom;
+	RInteger iPrime;
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tbigint/tprimevector.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,109 @@
+/*
+* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include "tprimevector.h"
+#include "t_input.h"
+#include <bigint.h>
+
+CTestAction* CPrimeVector::NewL(RFs& aFs, CConsoleBase& aConsole, 
+	Output& aOut, const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction* self = CPrimeVector::NewLC(aFs, aConsole,
+		aOut, aTestActionSpec);
+	CleanupStack::Pop();
+	return self;
+	}
+
+CTestAction* CPrimeVector::NewLC(RFs& aFs, CConsoleBase& aConsole, 
+	Output& aOut, const TTestActionSpec& aTestActionSpec)
+	{
+	CPrimeVector* self = new(ELeave) CPrimeVector(aFs, aConsole, aOut);
+	CleanupStack::PushL(self);
+	self->ConstructL(aTestActionSpec);
+	return self;
+	}
+
+CPrimeVector::~CPrimeVector()
+	{
+	delete iBody;
+	delete iPrime;
+	}
+
+CPrimeVector::CPrimeVector(RFs& aFs, CConsoleBase& aConsole, 
+	Output& aOut) : CTestAction(aConsole, aOut), iFs(aFs)
+	{
+	}
+
+void CPrimeVector::ConstructL(const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction::ConstructL(aTestActionSpec);
+	iBody = HBufC8::NewL(aTestActionSpec.iActionBody.Length());
+	iBody->Des().Copy(aTestActionSpec.iActionBody);
+
+	iPrime = Input::ParseElementHexL(*iBody, _L8("<prime>"));
+	}
+
+void CPrimeVector::DoPerformPrerequisite(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+	User::RequestComplete(status, KErrNone);
+	iActionState = CTestAction::EAction;
+	}
+
+void CPrimeVector::DoPerformPostrequisite(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+	iFinished = ETrue;
+	User::RequestComplete(status, KErrNone);
+	}
+
+void CPrimeVector::DoReportAction(void)
+	{
+	}
+
+void CPrimeVector::DoCheckResult(TInt /*aError*/)
+	{
+	iResult = (iResult && iExpectedResult) || (!iResult && !iExpectedResult);
+	if (iResult)
+		iConsole.Printf(_L("."));
+	else
+		iConsole.Printf(_L("X"));
+	}
+
+
+void CPrimeVector::PerformAction(TRequestStatus& aStatus)
+	{
+	PerformActionL();
+	TRequestStatus* status = &aStatus;
+	User::RequestComplete(status, KErrNone);
+	iActionState = CTestAction::EPostrequisite;
+	}
+
+void CPrimeVector::PerformActionL(void)
+	{
+	__UHEAP_MARK;
+	iResult = ETrue;
+
+	RInteger prime = RInteger::NewL(*iPrime);
+	CleanupStack::PushL(prime);
+	iResult = prime.IsPrimeL();
+
+	CleanupStack::PopAndDestroy(&prime); 
+	__UHEAP_MARKEND;
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tbigint/tprimevector.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,49 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#ifndef __TPRIMEVECTOR_H__
+#define __TPRIMEVECTOR_H__
+
+#include "t_testaction.h"
+#include <e32std.h>
+
+class CPrimeVector : public CTestAction
+{
+public:
+	static CTestAction* NewL(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	static CTestAction* NewLC(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	virtual ~CPrimeVector();
+	virtual void DoPerformPrerequisite(TRequestStatus& aStatus);
+	virtual void DoPerformPostrequisite(TRequestStatus& aStatus);
+	virtual void PerformAction(TRequestStatus& aStatus);
+	void PerformActionL(void);
+	virtual void DoReportAction(void);
+	virtual void DoCheckResult(TInt);
+
+private:
+	CPrimeVector(RFs& aFs, CConsoleBase& aConsole, Output& aOut);
+	void ConstructL(const TTestActionSpec& aTestActionSpec);
+
+	RFs& iFs;
+	HBufC8* iBody;
+	HBufC8* iPrime;
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tbigint/tprimevectorperformance.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,127 @@
+/*
+* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include "tprimevectorperformance.h"
+#include "t_input.h"
+#include "t_output.h"
+#include <bigint.h>
+
+_LIT(KPrimeVectorFormat, "\tPrime Vector Primality Test Time: %f us/iteration (%i iterations in %f us)\r\n");
+
+CTestAction* CPrimeVectorPerformance::NewL(RFs& aFs, CConsoleBase& aConsole, 
+	Output& aOut, const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction* self = CPrimeVectorPerformance::NewLC(aFs, aConsole,
+		aOut, aTestActionSpec);
+	CleanupStack::Pop();
+	return self;
+	}
+
+CTestAction* CPrimeVectorPerformance::NewLC(RFs& aFs, CConsoleBase& aConsole, 
+	Output& aOut, const TTestActionSpec& aTestActionSpec)
+	{
+	CPrimeVectorPerformance* self = new(ELeave) CPrimeVectorPerformance(aFs, aConsole, aOut);
+	CleanupStack::PushL(self);
+	self->ConstructL(aTestActionSpec);
+	return self;
+	}
+
+CPrimeVectorPerformance::~CPrimeVectorPerformance()
+	{
+	delete iBody;
+	}
+
+CPrimeVectorPerformance::CPrimeVectorPerformance(RFs& aFs, CConsoleBase& aConsole, 
+	Output& aOut) : CTestAction(aConsole, aOut), iFs(aFs)
+	{
+	}
+
+void CPrimeVectorPerformance::ConstructL(const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction::ConstructL(aTestActionSpec);
+	iBody = HBufC8::NewL(aTestActionSpec.iActionBody.Length());
+	iBody->Des().Copy(aTestActionSpec.iActionBody);
+
+	HBufC8* buf = Input::ParseElementHexL(*iBody, _L8("<prime>"));
+	CleanupStack::PushL(buf);
+	iPrime = RInteger::NewL(*buf);
+	CleanupStack::PopAndDestroy(buf);
+	iIterations = Input::ParseIntElement(*iBody, _L8("<iterations>"), _L8("</iterations>"));	
+	}
+
+void CPrimeVectorPerformance::DoPerformPrerequisite(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+	User::RequestComplete(status, KErrNone);
+	iActionState = CTestAction::EAction;
+	}
+
+void CPrimeVectorPerformance::DoPerformPostrequisite(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+	iFinished = ETrue;
+	User::RequestComplete(status, KErrNone);
+	}
+
+void CPrimeVectorPerformance::DoReportAction(void)
+	{
+	}
+
+void CPrimeVectorPerformance::DoCheckResult(TInt)
+	{
+	}
+
+void CPrimeVectorPerformance::PerformAction(TRequestStatus& aStatus)
+	{
+	__UHEAP_MARK;
+	TRequestStatus* status = &aStatus;
+	TTime start, end;
+	TTimeIntervalSeconds diff(0);
+	const TTimeIntervalSeconds iterationTime(iIterations);
+	TUint iterations = 0;	
+	
+	iResult = ETrue;
+
+	start.UniversalTime();
+	while (diff < iterationTime)
+		{
+		iResult = iPrime.IsPrimeL();
+		if(!iResult)
+			break;
+		iterations++;
+		end.UniversalTime();
+		end.SecondsFrom(start, diff);
+		}
+	end.UniversalTime();
+
+	TTimeIntervalMicroSeconds time = end.MicroSecondsFrom(start);
+	TReal rate = I64REAL(time.Int64()) / iterations;
+	TReal rtime = I64REAL(time.Int64());
+
+	HBufC* realbuf = HBufC::NewLC(128);
+	TPtr buf = realbuf->Des();
+	buf.Format(KPrimeVectorFormat, rate, iterations, rtime);
+	iOut.writeString(buf);
+	iConsole.Printf(_L("."));
+	CleanupStack::PopAndDestroy(realbuf);
+
+	User::RequestComplete(status, KErrNone);
+	iActionState = CTestAction::EPostrequisite;
+	__UHEAP_MARKEND;
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tbigint/tprimevectorperformance.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,50 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#ifndef __TPRIMEVECTORPERFORMANCE_H__
+#define __TPRIMEVECTORPERFORMANCE_H__
+
+#include "t_testaction.h"
+#include <e32std.h>
+#include <bigint.h>
+
+class CPrimeVectorPerformance : public CTestAction
+{
+public:
+	static CTestAction* NewL(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	static CTestAction* NewLC(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	virtual ~CPrimeVectorPerformance();
+	virtual void DoPerformPrerequisite(TRequestStatus& aStatus);
+	virtual void DoPerformPostrequisite(TRequestStatus& aStatus);
+	virtual void PerformAction(TRequestStatus& aStatus);
+	virtual void DoReportAction(void);
+	virtual void DoCheckResult(TInt);
+
+private:
+	CPrimeVectorPerformance(RFs& aFs, CConsoleBase& aConsole, Output& aOut);
+	void ConstructL(const TTestActionSpec& aTestActionSpec);
+
+	RFs& iFs;
+	HBufC8* iBody;
+	TUint iIterations;
+	RInteger iPrime;
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tbigint/tutils.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,67 @@
+/*
+* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include "tutils.h"
+#include <bigint.h>
+#include "t_output.h"
+
+void Utils::DumpInteger(Output& aOut, const TDesC& aDesc, 
+	const RInteger& aThat)
+	{
+	aOut.writeString(aDesc);
+	HBufC8* buf = aThat.BufferLC();
+	aOut.writeOctetString(*buf);
+	aOut.writeNewLine();
+	CleanupStack::PopAndDestroy(buf);
+	}
+
+
+/* CRandomSetSource */
+CRandomSetSource::CRandomSetSource(const TDesC8& aSource)
+    {
+	SetSource(aSource);
+    }
+
+void CRandomSetSource::GenerateBytesL(TDes8& aDest)
+    {
+	TInt i=0;
+	//Reverse the string by bytes up to the point of the end of the given string
+	//of "random" bytes.
+    for (i=0; iCounter >= 0 && i< aDest.Length(); ++i,--iCounter)
+        {
+        aDest[i] = iValue[iCounter];
+        }
+	//Then fill the remaining (if any) bytes in aDest with 0's.  This is all to
+	//allow the stuff to work with bigint style integers; we're writing straight
+	//into a RInteger.Ptr() here
+	for(;i<aDest.Length(); ++i)
+		{
+        aDest[i] = 0x00;
+		}
+    }
+
+void CRandomSetSource::SetSource(const TDesC8& aSource)
+	{
+	iValue.Set(aSource);
+	Reset();
+	}
+
+void CRandomSetSource::Reset(void) 
+	{
+	iCounter = iValue.Length() - 1;
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tbigint/tutils.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,49 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#ifndef __TUTILS_H__
+#define __TUTILS_H__
+
+#include "t_testaction.h"
+#include <e32std.h>
+#include <random.h>
+
+class RInteger;
+class Output;
+
+class Utils 
+	{
+public:
+	static void DumpInteger(Output& aOut, const TDesC& aDesc, 
+		const RInteger& aThat);
+	};
+
+class CRandomSetSource : public CRandom
+	{
+public:
+	CRandomSetSource(const TDesC8& aSource);
+	virtual void GenerateBytesL(TDes8& aDest);
+	void SetSource(const TDesC8& aSource);
+	void Reset(void);
+
+private:
+	TPtrC8 iValue;
+	TInt iCounter;
+	};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/thash/hashtestutils.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,195 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* Mostly obsolete code to manage hash tests
+*
+*/
+
+
+/**
+ @file
+*/
+
+#include "hashtestutils.h"
+
+
+CTestData* CTestData::NewL(const TDesC& aFilename)
+
+	{
+	CTestData* self;
+	self=new (ELeave) CTestData;
+	CleanupStack::PushL(self);
+	self->ConstructL(aFilename);
+	CleanupStack::Pop();		// self
+	return self;
+	}
+
+CTestData::CTestData(void):CBase()
+
+	{
+	}
+
+CTestData::~CTestData(void)
+
+	{
+	delete iFile;
+	delete iLine;
+	}
+
+void CTestData::ConstructL(const TDesC& aFilename)
+
+	{
+	RFs fs;
+	RFile file;
+	CleanupClosePushL(fs);
+	User::LeaveIfError(fs.Connect());
+	TDriveUnit sysDrive(fs.GetSystemDrive());
+	TDriveName driveName(sysDrive.Name());
+	TBuf<24> filePath (driveName);
+	filePath.Append(_L("\\thash\\"));
+	User::LeaveIfError(fs.SetSessionPath(filePath));
+	CleanupClosePushL(file);
+	User::LeaveIfError(file.Open(fs,aFilename,EFileShareAny|EFileRead));
+	// read into iFile
+	TInt size=0;
+	file.Size(size);
+	iFile=HBufC8::NewMaxL(size);
+	TPtr8 ptr=iFile->Des();
+	User::LeaveIfError(file.Read(ptr));
+	CleanupStack::PopAndDestroy(2, &fs);
+	iCurrentPlace=0;
+	iLine=HBufC8::NewMaxL(2000);
+	}
+	
+CTestData::TType CTestData::Type(void)
+
+	{
+	TPtr8 ptr=iLine->Des();
+	if (iCurrentPlace>=iFile->Length())
+		{
+		return EFinished;
+		}
+	TInt8 ch=(*iFile)[iCurrentPlace++];
+	ptr.SetLength(0);
+	while ((ch!='\r')&&(ch!='\n')&&(iCurrentPlace<=iFile->Length()))
+		{
+		ptr.Append(ch);
+		ch=(*iFile)[iCurrentPlace++];
+		}
+	if ((iCurrentPlace==iFile->Length())||(iLine->Length()==0))
+		{
+		return EFinished;
+		}
+	if (((*iFile)[iCurrentPlace]=='\r')||((*iFile)[iCurrentPlace]=='\n'))
+		{
+		iCurrentPlace++;
+		}
+	if ((*iLine)[0]=='+')
+		{
+		switch ((*iLine)[1])
+			{
+		case 'M':				// Message
+			return EMessage;
+		case 'F':				// File Name
+			return EFileName;
+		case 'C':				// Comment
+			return Type();
+		default:
+			return EError;
+			}
+		}
+	return EData;
+	}
+
+HBufC8* CTestData::operator [] (TInt aIndex)
+
+	{
+	TInt i;
+	TInt count=0;
+	HBufC8* ret;
+	ret=HBufC8::New(4000);
+	for (i=0;(i<iLine->Length())&&(count<aIndex);i++)
+		{
+		if ((*iLine)[i]==' ')
+			{
+			count++;
+			}
+		}
+	if(ret != NULL)
+        	{
+	   	TPtr8 ptr=ret->Des();
+	   	for (;(i<iLine->Length()&&(*iLine)[i]!=' ');i++)
+			{
+			ptr.Append((*iLine)[i]);
+			}
+	   	}
+	return ret;
+	}
+
+HBufC* CTestData::Message(void)
+
+	{
+	HBufC* ret=HBufC::NewMax(iLine->Length()-3);
+	TPtrC8 ptr=iLine->Right(iLine->Length()-3);
+	if(ret != NULL)
+		{
+		TPtr dest=ret->Des();
+		dest.Copy(ptr);
+		}
+	return ret;
+	}
+
+
+CTestConsole* CTestConsole::NewL(CConsoleBase* aCon)
+	{
+	CTestConsole* self;
+	self=new (ELeave) CTestConsole;
+	self->iCon=aCon;
+	self->iFile=NULL;
+	return self;
+	}
+
+CTestConsole::CTestConsole(void):CConsoleBase()
+
+	{
+	}
+
+CTestConsole::~CTestConsole(void)
+
+	{
+	delete iCon;
+	if (iFile)
+		{
+		iFile->Close();
+		}
+	}
+
+void CTestConsole::Write(const TDesC16& aString)
+
+	{
+	iCon->Write(aString);
+	if (iFile)
+		{
+		TUint8 space[200];
+		TPtr8 ptr(space,200);
+		ptr.Copy(aString);
+		iFile->Write(ptr);
+		}
+	}
+
+void CTestConsole::SetLogFile(RFile* aFile)
+
+	{
+	iFile=aFile;
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/thash/hashtestutils.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,90 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+
+/**
+ @file
+*/
+
+
+#include <e32test.h>
+#include <hash.h>
+#include <f32file.h>
+
+//TBool gMD2Test=ETrue;
+//TBool gMD5Test=ETrue;
+//TBool gSHATest=ETrue;
+//TBool gSHA1Test=ETrue;
+//TBool gHMACTest=ETrue;
+//TBool gErrorTest=ETrue;
+//TBool gPerformanceTest=ETrue;
+//TBool gVectorTest=ETrue;
+//TBool gLogging=ETrue;
+//TBool gFunctionalityTest=ETrue;
+//TBool gBugs=ETrue;
+//TBool gFixed=ETrue;
+//TBool gUnfixed=EFalse;
+
+
+class CTestData:public CBase
+
+	{
+	public:
+		static CTestData* NewL(const TDesC& aFilename);
+		enum TType { EMessage, EData, EFinished,EFileName,EError=-1 } ;
+		TType Type(void);
+		HBufC* Message(void);
+		HBufC8* operator [] (TInt aIndex);
+		~CTestData(void);
+	private:
+		CTestData(void);
+		TInt iCurrentPlace;
+		void ConstructL(const TDesC& aFilename);
+		HBufC8* iLine;
+		HBufC8* iFile;
+	};
+
+
+class CTestConsole:public CConsoleBase
+
+	{
+	public:
+		static CTestConsole* NewL(CConsoleBase* aCon);
+		TInt Create(const TDesC16& aTitle,TSize aSize) {return iCon->Create(aTitle,aSize);};
+		void Read(TRequestStatus& aStatus) {iCon->Read(aStatus);};
+		void ReadCancel(void) {iCon->ReadCancel();};
+		void Write(const TDesC16& aString);
+		TPoint CursorPos(void) const {return iCon->CursorPos();};
+		void SetCursorPosAbs(const TPoint& aPos) {iCon->SetCursorPosAbs(aPos);};
+		void SetCursorPosRel(const TPoint& aPos) {iCon->SetCursorPosRel(aPos);};
+		void SetCursorHeight(TInt aHeight) {iCon->SetCursorHeight(aHeight);};
+		void SetTitle(const TDesC16& aTitle) {iCon->SetTitle(aTitle);};
+		void ClearScreen(void) {iCon->ClearScreen();};
+		void ClearToEndOfLine(void) {iCon->ClearToEndOfLine();};
+		TSize ScreenSize(void) const {return iCon->ScreenSize();};
+		TKeyCode KeyCode(void) const {return iCon->KeyCode();};
+		TUint KeyModifiers(void) const {return iCon->KeyModifiers();};
+		~CTestConsole(void);
+		void SetLogFile(RFile* aFile);
+	private:
+		CTestConsole(void);
+		CConsoleBase* iCon;
+		RFile* iFile;
+	};
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/thash/testdata/448bit_data.txt	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,1 @@
+ABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGH
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/thash/testdata/512bit_data.txt	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,1 @@
+ABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOP
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/thash/testdata/512bitdata_largerkey.txt	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,1 @@
+ABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOP
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/thash/testdata/hmacmd2.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,14 @@
++M HMAC-MD2 tests
++C This file contains test vectors for the HMAC-MD2 algorithm...
++C ABCDEFGHIJKLMNOPQRSTUVWXYZ CryptoSpiValidKey (Hash)
+4142434445464748494A4B4C4D4E4F505152535455565758595A 43727970746F53706956616C69644B6579 D842D3C72FCB0EABE31A5856F2544325
++C NULL STRING CryptoSpiValidKey (Hash)
+ 43727970746F53706956616C69644B6579 69D9BEA1F0C7BEE55E8A8051EB90FA55
++C Large input data 154440 characters long
++F md4_largedata2.txt 43727970746F53706956616C69644B6579 4A5889AADE3F67FF5C5D9769DBB6EE29
++C Large input data 5940 characters long
++F md4_largedata1.txt 43727970746F53706956616C69644B6579 33D94D4AA932B762E2567C3D02B38BDA
++C 448 bit data
++F 448bit_data.txt 43727970746F53706956616C69644B6579 0F49057262AD276E225183802245930B
++C 512 bit data
++F 512bit_data.txt 43727970746F53706956616C69644B6579 A1F2689F13BB17F6835D2A7B6D224A29
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/thash/testdata/hmacmd4.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,40 @@
++M HMAC-MD4 tests
++C ABCDEFGHIJKLMNOPQRSTUVWXYZ CryptoSpiValidKey (Hash)
+4142434445464748494A4B4C4D4E4F505152535455565758595A 43727970746F53706956616C69644B6579 7FB0B665BCCC049E1A5404B73923E58E
++C NULL STRING CryptoSpiValidKey (Hash)
+ 43727970746F53706956616C69644B6579 DEF566560D78F6F382E2F5A54E430E2C
++C a CryptoSpiValidKey (Hash)
+61 43727970746F53706956616C69644B6579 9EF7E0320FB96D97BFC18E486B62FC7C
++C abc CryptoSpiValidKey (Hash)
+616263 43727970746F53706956616C69644B6579 F3D6886EF3738E73DF464759B1D30662
++C message digest CryptoSpiValidKey (Hash)
+6D65737361676520646967657374 43727970746F53706956616C69644B6579 E1B150F74AA4EEDBC364B1A9A1BAC574
++C abcdefghijklmnopqrstuvwxyz CryptoSpiValidKey (Hash)
+6162636465666768696A6B6C6D6E6F707172737475767778797A 43727970746F53706956616C69644B6579 2801DE91F21BB7EFE54EBE15C73489CB
++C 12345678901234567890123456789012345678901234567890123456789012345678901234567890 CryptoSpiValidKey (Hash)
+3132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930 43727970746F53706956616C69644B6579 E1E7AA31970FA139B9DFBF9A304F434E
++C The quick brown fox jumps over the lazy dog CryptoSpiValidKey (Hash)
+54686520717569636B2062726F776E20666F78206A756D7073206F76657220746865206C617A7920646F67 43727970746F53706956616C69644B6579 F6B3F13D4E262CD575FE9EABB993C0D7
++C ABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJK 59 byte string CryptoSpiValidKey (Hash)
+4142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F504142434445464748494A4B 43727970746F53706956616C69644B6579 DAE8467D6ECF3CB3FBE57E91936EF7D6
++C 9.) 55 byte vector from openssl (shouldn't cause padding overflow, a single 0x80 is appended followed by the two counter words) ABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFG 
+4142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F5041424344454647 43727970746F53706956616C69644B6579 9714B92D3B6B82FE863E63E908C38340
++C 10.) 60 byte vector from openssl ABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKL
+4142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F504142434445464748494A4B4C 43727970746F53706956616C69644B6579 E6F36D7012F4CCA6C305DC9520A738EE
++C 11.) 511 byte vector from openssl ABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPA
+4142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F5041 43727970746F53706956616C69644B6579 86233D9263AE6A03A298229A3AA03767
++C Large input data 154440 characters long
++F md4_largedata2.txt 43727970746F53706956616C69644B6579 DADD9DBD9C422FD0B8D334E3026DB1AA
++C Large input data 5940 characters long
++F md4_largedata1.txt 43727970746F53706956616C69644B6579 DAD83CF0B247E38DE0436EA18F399AA9
++C 448 bit data
++F 448bit_data.txt 43727970746F53706956616C69644B6579 12269C66F1DC7E3477AD093C3DC45036
++C 512 bit data
++F 512bit_data.txt 43727970746F53706956616C69644B6579 73C5EFEB799F6483BC966B45B8CB6BFC
++C Larger than blocksize key
++F 512bitdata_largerkey.txt 4142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F5051 D2BCBC23182D961413CF224E086B5BD9
++F largerthanblocksizedata_key.txt 4142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F505152 EC232497D337A52A84CD8ED440BB8783
++C Large input data 308880 characters long
++F md4_largedata3.txt 43727970746F53706956616C69644B6579 974E7AE0B0EDA43BAB1EB2968640D56B
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/thash/testdata/hmacmd5.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,8 @@
++M HMAC-MD5 tests
++C This file contains test vectors for the HMAC-MD5 algorithm...
+4869205468657265 0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B 9294727A3638BB1C13F48EF8158BFC9D
++C 0000000000000000000000000000000000000000000000000000000000000000 0123456789ABCDEF132435475768798A9BACBDCEDF112233 E7068E5EF979B0BC871917375EC1B241771EA5C4
++C 0123456789ABCDEF132435475768798A9BACBDCEDF112233 0123456789ABCDEF132435475768798A9BACBDCEDF112233 9858A7B8978C760324B603B13A3685B38BF4D21A
++C 4869205468657265 0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B B617318655057264E28BC0B6FB378C8EF146BE00
++C 7768617420646F2079612077616E7420666F72206E6F7468696E673F 4A656665 EFFCDF6AE5EB2FA2D27416D5F184DF9C259A7C79
++C DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD 41414141414141414141414141414141414141414141414141414141414141414141414141414141 125D7342B9AC11CD91A39AF48AA17B4F63F175D3
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/thash/testdata/hmacsha1.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,8 @@
++M HMAC-SHA1 tests
++C This file contains test vectors for the HMAC-SHA1 algorithm...
++C 4869205468657265 0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B 9294727A3638BB1C13F48EF8158BFC9D
+0000000000000000000000000000000000000000000000000000000000000000 0123456789ABCDEF132435475768798A9BACBDCEDF112233 E7068E5EF979B0BC871917375EC1B241771EA5C4
+0123456789ABCDEF132435475768798A9BACBDCEDF112233 0123456789ABCDEF132435475768798A9BACBDCEDF112233 9858A7B8978C760324B603B13A3685B38BF4D21A
+4869205468657265 0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B B617318655057264E28BC0B6FB378C8EF146BE00
+7768617420646F2079612077616E7420666F72206E6F7468696E673F 4A656665 EFFCDF6AE5EB2FA2D27416D5F184DF9C259A7C79
++C DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD 41414141414141414141414141414141414141414141414141414141414141414141414141414141 125D7342B9AC11CD91A39AF48AA17B4F63F175D3
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/thash/testdata/hmacsha224.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,20 @@
++M HMAC-SHA224 tests
++C This file contains test vectors for the HMAC-SHA224 algorithm taken from RFC4231...
++M Test Case 1
+4869205468657265 0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B 896FB1128ABBDF196832107CD49DF33F47B4B1169912BA4F53684B22   
++M Test Case 2
++C Test with a key shorter than the length of the HMAC output
+7768617420646F2079612077616E7420666F72206E6F7468696E673F 4A656665 A30E01098BC6DBBF45690F3A7E9E6D0F8BBEA2A39E6148008FD05E44
++M Test Case 3
++C Test with a combined length of key and data that is larger than 64 bytes (= block-size of SHA-224 and SHA-256).
+DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 7FB3CB3588C6C1F6FFA9694D7D6AD2649365B0C1F65D69D1EC8333EA
++M Test Case 4
++C Test with a combined length of key and data that is larger than 64 bytes (= block-size of SHA-224 and SHA-256).
+CDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCD 0102030405060708090A0B0C0D0E0F10111213141516171819 6C11506874013CAC6A2ABC1BB382627CEC6A90D86EFC012DE7AFEC5A
++M Test Case 6
++C Test with a key larger than 128 bytes (= block-size of SHA-384 and SHA-512)
+54657374205573696E67204C6172676572205468616E20426C6F636B2D53697A65204B6579202D2048617368204B6579204669727374 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 95E9A0DB962095ADAEBE9B2D6F0DBCE2D499F112F2D2B7273FA6870E
++M Test Case 7
++C Test with a key and data that is larger than 128 bytes (= block-size of SHA-384 and SHA-512).
+5468697320697320612074657374207573696E672061206C6172676572207468616E20626C6F636B2D73697A65206B657920616E642061206C6172676572207468616E20626C6F636B2D73697A6520646174612E20546865206B6579206E6565647320746F20626520686173686564206265666F7265206265696E6720757365642062792074686520484D414320616C676F726974686D2E AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 3A854166AC5D9F023F54D517D0B39DBD946770DB9C2B95C9F6F565D1
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/thash/testdata/hmacsha256.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,20 @@
++M HMAC-SHA256 tests
++C This file contains test vectors for the HMAC-SHA256 algorithm taken from RFC4231...
++M Test Case 1
+4869205468657265 0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B B0344C61D8DB38535CA8AFCEAF0BF12B881DC200C9833DA726E9376C2E32CFF7 
++M Test Case 2
++C Test with a key shorter than the length of the HMAC output
+7768617420646F2079612077616E7420666F72206E6F7468696E673F 4A656665 5BDCC146BF60754E6A042426089575C75A003F089D2739839DEC58B964EC3843
++M Test Case 3
++C Test with a combined length of key and data that is larger than 64 bytes (= block-size of SHA-224 and SHA-256).
+DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 773EA91E36800E46854DB8EBD09181A72959098B3EF8C122D9635514CED565FE
++M Test Case 4
++C Test with a combined length of key and data that is larger than 64 bytes (= block-size of SHA-224 and SHA-256).
+CDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCD 0102030405060708090A0B0C0D0E0F10111213141516171819 82558A389A443C0EA4CC819899F2083A85F0FAA3E578F8077A2E3FF46729665B
++M Test Case 6
++C Test with a key larger than 128 bytes (= block-size of SHA-384 and SHA-512)
+54657374205573696E67204C6172676572205468616E20426C6F636B2D53697A65204B6579202D2048617368204B6579204669727374 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 60E431591EE0B67F0D8A26AACBF5B77F8E0BC6213728C5140546040F0EE37F54
++M Test Case 7
++C Test with a key and data that is larger than 128 bytes (= block-size of SHA-384 and SHA-512).
+5468697320697320612074657374207573696E672061206C6172676572207468616E20626C6F636B2D73697A65206B657920616E642061206C6172676572207468616E20626C6F636B2D73697A6520646174612E20546865206B6579206E6565647320746F20626520686173686564206265666F7265206265696E6720757365642062792074686520484D414320616C676F726974686D2E AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 9B09FFA71B942FCB27635FBCD5B0E944BFDC63644F0713938A7F51535C3A35E2
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/thash/testdata/hmacsha384.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,20 @@
++M HMAC-SHA384 tests
++C This file contains test vectors for the HMAC-SHA384 algorithm taken from RFC4231...
++M Test Case 1
+4869205468657265 0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B AFD03944D84895626B0825F4AB46907F15F9DADBE4101EC682AA034C7CEBC59CFAEA9EA9076EDE7F4AF152E8B2FA9CB6 
++M Test Case 2
++C Test with a key shorter than the length of the HMAC output
+7768617420646F2079612077616E7420666F72206E6F7468696E673F 4A656665 AF45D2E376484031617F78D2B58A6B1B9C7EF464F5A01B47E42EC3736322445E8E2240CA5E69E2C78B3239ECFAB21649
++M Test Case 3
++C Test with a combined length of key and data that is larger than 64 bytes (= block-size of SHA-224 and SHA-256).
+DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 88062608D3E6AD8A0AA2ACE014C8A86F0AA635D947AC9FEBE83EF4E55966144B2A5AB39DC13814B94E3AB6E101A34F27
++M Test Case 4
++C Test with a combined length of key and data that is larger than 64 bytes (= block-size of SHA-224 and SHA-256).
+CDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCD 0102030405060708090A0B0C0D0E0F10111213141516171819 3E8A69B7783C25851933AB6290AF6CA77A9981480850009CC5577C6E1F573B4E6801DD23C4A7D679CCF8A386C674CFFB
++M Test Case 6
++C Test with a key larger than 128 bytes (= block-size of SHA-384 and SHA-512)
+54657374205573696E67204C6172676572205468616E20426C6F636B2D53697A65204B6579202D2048617368204B6579204669727374 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 4ECE084485813E9088D2C63A041BC5B44F9EF1012A2B588F3CD11F05033AC4C60C2EF6AB4030FE8296248DF163F44952
++M Test Case 7
++C Test with a key and data that is larger than 128 bytes (= block-size of SHA-384 and SHA-512).
+5468697320697320612074657374207573696E672061206C6172676572207468616E20626C6F636B2D73697A65206B657920616E642061206C6172676572207468616E20626C6F636B2D73697A6520646174612E20546865206B6579206E6565647320746F20626520686173686564206265666F7265206265696E6720757365642062792074686520484D414320616C676F726974686D2E AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 6617178E941F020D351E2F254E8FD32C602420FEB0B8FB9ADCCEBB82461E99C5A678CC31E799176D3860E6110C46523E
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/thash/testdata/hmacsha512.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,20 @@
++M HMAC-SHA512 tests
++C This file contains test vectors for the HMAC-SHA512 algorithm taken from RFC4231...
++M Test Case 1
+4869205468657265 0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B 87AA7CDEA5EF619D4FF0B4241A1D6CB02379F4E2CE4EC2787AD0B30545E17CDEDAA833B7D6B8A702038B274EAEA3F4E4BE9D914EEB61F1702E696C203A126854
++M Test Case 2
++C Test with a key shorter than the length of the HMAC output
+7768617420646F2079612077616E7420666F72206E6F7468696E673F 4A656665 164B7A7BFCF819E2E395FBE73B56E0A387BD64222E831FD610270CD7EA2505549758BF75C05A994A6D034F65F8F0E6FDCAEAB1A34D4A6B4B636E070A38BCE737
++M Test Case 3
++C Test with a combined length of key and data that is larger than 64 bytes (= block-size of SHA-224 and SHA-256).
+DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA FA73B0089D56A284EFB0F0756C890BE9B1B5DBDD8EE81A3655F83E33B2279D39BF3E848279A722C806B485A47E67C807B946A337BEE8942674278859E13292FB
++M Test Case 4
++C Test with a combined length of key and data that is larger than 64 bytes (= block-size of SHA-224 and SHA-256).
+CDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCDCD 0102030405060708090A0B0C0D0E0F10111213141516171819 B0BA465637458C6990E5A8C5F61D4AF7E576D97FF94B872DE76F8050361EE3DBA91CA5C11AA25EB4D679275CC5788063A5F19741120C4F2DE2ADEBEB10A298DD
++M Test Case 6
++C Test with a key larger than 128 bytes (= block-size of SHA-384 and SHA-512)
+54657374205573696E67204C6172676572205468616E20426C6F636B2D53697A65204B6579202D2048617368204B6579204669727374 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 80B24263C7C1A3EBB71493C1DD7BE8B49B46D1F41B4AEEC1121B013783F8F3526B56D037E05F2598BD0FD2215D6A1E5295E64F73F63F0AEC8B915A985D786598
++M Test Case 7
++C Test with a key and data that is larger than 128 bytes (= block-size of SHA-384 and SHA-512).
+5468697320697320612074657374207573696E672061206C6172676572207468616E20626C6F636B2D73697A65206B657920616E642061206C6172676572207468616E20626C6F636B2D73697A6520646174612E20546865206B6579206E6565647320746F20626520686173686564206265666F7265206265696E6720757365642062792074686520484D414320616C676F726974686D2E AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA E37B6A775DC87DBAA4DFA9F96E5E3FFDDEBD71F8867289865DF5A32D20CDC944B6022CAC3C4982B10D5EEB55C3E4DE15134676FB6DE0446065C97440FA8C6A58
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/thash/testdata/largerthanblocksizedata_key.txt	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,1 @@
+ABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPQ
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/thash/testdata/md2.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,11 @@
++M MD2 tests
++C This file contains test vectors for the MD2 algorithm...
++M   RFC 1319 Test Vectors
++C Null String
+ 8350E5A3E24C153DF2275C9F80692773
+61 32EC01EC4A6DAC72C0AB96FB34C0B5D1
+616263 DA853B0D3F88D99B30283A69E6DED6BB
+6D65737361676520646967657374 AB4F496BFB2A530B219FF33031FE06B0
+6162636465666768696A6B6C6D6E6F707172737475767778797A 4E8DDFF3650292AB5A4108C3AA47940B
+4142434445464748494A4B4C4D4E4F505152535455565758595A6162636465666768696A6B6C6D6E6F707172737475767778797A30313233343536373839 DA33DEF2A42DF13975352846C30338CD
+3132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930 D5976F79D83D3A0DC9806C3C66F3EFD8
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/thash/testdata/md4.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,40 @@
++M MD4 tests
++C This file contains test vectors for the MD4 algorithm...
++M   RFC 1320 Test Vectors
++C 1.) NULL STRING
+ 31D6CFE0D16AE931B73C59D7E0C089C0
++C 2.) a
+61 BDE52CB31DE33E46245E05FBDBD6FB24
++C 3.) abc
+616263 A448017AAF21D8525FC10AE87AA6729D
++C 4.) message digest
+6D65737361676520646967657374 D9130A8164549FE818874806E1C7014B
++C 5.) abcdefghijklmnopqrstuvwxyz
+6162636465666768696A6B6C6D6E6F707172737475767778797A D79E1C308AA5BBCDEEA8ED63DF412DA9
++C 6.) ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
+4142434445464748494A4B4C4D4E4F505152535455565758595A6162636465666768696A6B6C6D6E6F707172737475767778797A30313233343536373839 043F8582F241DB351CE627E153E7f0E4
++C 7.) 12345678901234567890123456789012345678901234567890123456789012345678901234567890
+3132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930 E33B4DDC9C38F2199C3E7B164FCC0536
++C 8.) The quick brown fox jumps over the lazy dog
+54686520717569636B2062726F776E20666F78206A756D7073206F76657220746865206C617A7920646F67 1BEE69A46BA811185C194762ABAEAE90
++C 9.) ABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJK 59 byte string
+4142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F504142434445464748494A4B 022769E181681BCEE392A63CF43D406C
++C 10.) 55 byte vector from openssl (shouldn't cause padding overflow, a single 0x80 is appended followed by the two counter words) ABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFG 
+4142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F5041424344454647 6FC27589384B60B306E6D90A25F2F16C
++C 11.) 60 byte vector from openssl ABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKL
+4142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F504142434445464748494A4B4C 782C5CFC95A5FF24494DEB4D16955B76
++C 12.) 511 byte vector from openssl ABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPA
+4142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4142434445464748494A4B4C4D4E4F504142434445464748494A4B4C4D4E4F5041 D0E0E84561A8E44DD7C90B38EF0FDB00
++C 13.) Large input data 5940 characters long
++F md4_largedata1.txt 86D7D14E5B8F791C13CD2EA68E93A0DD
++C 14.) Large input data 154440 characters long
++F md4_largedata2.txt A011C2E6CEC1F5FEB7BC509B7A4C9BDF
++C 15.) 448 bits Data
++F 448bit_data.txt 4EC433EA31B6890D8560565524330CB7
++C 16.) 512 bits Data
++F 512bit_data.txt 536AB127041F0682BE1ED65FA5FF4980
++C 17.) Large input data 308880 characters long
++F md4_largedata3.txt C44890952B176D19C6E91A08CCCF7AE8
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/thash/testdata/md4_largedata1.txt	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,1 @@
+ABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKL
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/thash/testdata/md4_largedata2.txt	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,1 @@
+ABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKL
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/thash/testdata/md4_largedata3.txt	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,1 @@
+ABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKLMNOPABCDEFGHIJKL
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/thash/testdata/md5.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,21 @@
++M MD5 tests
++C This file contains test vectors for the MD5 algorithm...
++M   RFC 1321 Test Vectors
++C Null string
+ D41D8CD98F00B204E9800998ECF8427E
+61 0CC175B9C0F1B6A831C399E269772661
+616263 900150983CD24FB0D6963F7D28E17F72
+6D65737361676520646967657374 F96B697D7CB7938D525A2F31AAF161D0
+6162636465666768696A6B6C6D6E6F707172737475767778797A C3FCD3D76192E4007DFB496CCA67E13B
+4142434445464748494A4B4C4D4E4F505152535455565758595A6162636465666768696A6B6C6D6E6F707172737475767778797A30313233343536373839 D174AB98D277D9F5A5611C2C9F419D9F
+3132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930 57EDF4A22BE3C955AC49DA2E2107B67A
++C 59 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B 5B4AE566F6DB38CF72FE880B9EEC0E5C
++C 55 byte vector from openssl (shouldn't cause padding overflow, a single 0x80 is appended followed by the two counter words)
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F1001020304050607 F489EC026D0E9E537A436298535B4608
++C 60 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C 4316CED59BF47F88557A7C36BC7171EF
++C 511 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F 4604BC16A666ED135F090AD5AD9889D8
++C 510 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E 0F4B368429643B629A3CABE6286AB8EF
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/thash/testdata/sha1.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,51 @@
++M SHA1 tests
++C This file contains test vectors for the SHA1 algorithm...
++C Null string
+ DA39A3EE5E6B4B0D3255BFEF95601890AFD80709
++M   FIPS 180-1: SHA1 vectors test
++C Fips test 1 "abc"
+616263 A9993E364706816ABA3E25717850C26C9CD0D89D
++C Fips test 2 -- 56 bytes and should cause overflow (append a single 1, then 63 zeros, then 448 more zeros, and finally 2 counter words)
+6162636462636465636465666465666765666768666768696768696A68696A6B696A6B6C6A6B6C6D6B6C6D6E6C6D6E6F6D6E6F706E6F7071 84983E441C3BD26EBAAE4AA1F95129E5E54670F1
++C 511 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F 14BBF552816C92AE1EF7F85609C9AA5D3FA7D215
++C 510 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E D0B9C250533E04D2756BB2DAE2A48C0A45D3C143
++C 255 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F 39EB3F491AF16F54DF9A0F89F63E1446CCCF9750
++C 63 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F 9FBBAD9F3B4AC98AD98678AC1794D1B3573BE9BB
++C 64 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F10 E06ED9C943DBA7F1522158CBE24C28A4811D5BBE
++C 65 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F1001 4E3BEEA28FBDA0091C7A40A3651AE6B7E8CC2D86
++C 66 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102 89F58D609C0A66FABB171710A495B9CB5B3ADD23
++C 67 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F10010203 FB076BF3E1E4A42DABAE95F4A44A8135B2D8DF9F
++C 68 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F1001020304 789629C809305BB3114233628DFA44735CFD8565
++C 32 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F10 7338E14187A47EA6A262BFC4AAD74B7FE867E81E
++C 31 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F 931BA23E8451CC594A90532FFA5411B7AE8219FD
++C 96 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F10 92DC32E8E33BB1BFBAC343184A6AB666AF99284C
++C 95 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F 9EDBB3B1BDABFA8386F83B492F2D1F5C242A160B
++C 127 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F F7EE9B2055DB2868012C4C136F487532A94CCE36
++C 7 byte vector from openssl
+01020304050607 8C1F28FC2F48C271D6C498F0F249CDDE365C54C5
++C 8 byte vector from openssl
+0102030405060708 DD5783BCF1E9002BC00AD5B83A95ED6E4EBB4AD5
++C 447 byte vector from openssl 
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F 071BA8FA5F5D3F6660D4DC00257C48FEA8F13631
++C 448 byte vector from openssl 
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F10 55BE7023312244FF7F150229A0A4D39732012ECF
++C 55 byte vector from openssl (shouldn't cause padding overflow, a single 0x80 is appended followed by the two counter words)
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F1001020304050607 853EB610E45E01CF1B7E83B1730BA8B0E716E76C
++C 60 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C 177D7ECEB83F2F816D3226FAD5D81E7AD7214ACF
++C 59 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B 5FB531887DB584754707F568948C8DC254DAD5FA
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/thash/testdata/sha224.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,51 @@
++M SHA24 tests
++C This file contains test vectors for the SHA-224 algorithm...
++C Null string
+ D14A028C2A3A2BC9476102BB288234C415A2B01F828EA62AC5B3E42F
++M   FIPS 180-2: SHA224 vectors test
++C Fips test 1 "abc"
+616263 23097D223405D8228642A477BDA255B32AADBCE4BDA0B3F7E36C9DA7
++C Fips test 2 -- 56 bytes and should cause overflow (append a single 1, then 63 zeros, then 448 more zeros, and finally 2 counter words)
+6162636462636465636465666465666765666768666768696768696A68696A6B696A6B6C6A6B6C6D6B6C6D6E6C6D6E6F6D6E6F706E6F7071 75388B16512776CC5DBA5DA1FD890150B0C6455CB4F58B1952522525
++C 511 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F 7FECC7FC1CB448357B64A229FBD995A64F4F51E7356807B4C100E441
++C 510 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E E932F70ED1B86F026AA3F7E459A967E7AEEE167F196068433226D845
++C 255 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F 2AAA9C005DEF40985837E36D8553CA8D24113D62511A3381B2A2EC2D
++C 63 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F 2AA17A1E2ABE4BBD629F2B2E964561F3CC2D3B954D87536F1E08052E
++C 64 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F10 2AFA58F734AFEAC835F8908C63C7F9240B938350818006EC3C8D55D2
++C 65 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F1001 7F8D5567B4A550D8483734D26DC9946D73E9F987B866A0BFC13D5227
++C 66 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102 221CF5332B9606D9C2214068B837CAF873F1FEFC3A0FB74A9BBE2968
++C 67 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F10010203 F9827EFA1BFE26F91CC86C82430310B5DE85FCB302B8E45521E3AD0B
++C 68 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F1001020304 7246547F30B70D6AA9E453548C6182F302B150403694768CA166E26B
++C 32 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F10 CCA29B7DADBEBAE3FF520477B6C2AC214AF4C01D4A5176D28D312603
++C 31 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F 7755BC0C7846744425B1EBF44E6D5C3ED406C3057AD9DF389FF1E49D
++C 96 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F10 08984764F04619A015773E9585511DAD78253F5C79399E136CB5E2DE
++C 95 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F AA8A11DB5DC7522D12C6C86078EBCFF288067E5A3506FDF84C9B5FCF
++C 127 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F 657BD5EDED4E077F994D5F3058A7DA39934BEAECB2D710FDCC23616F
++C 7 byte vector from openssl
+01020304050607 21D973EC86ED65F8AC747F9282CD3AF5DF3AC6D4321FC9A30E2B6C2F
++C 8 byte vector from openssl
+0102030405060708 B7F8F7CAF78B0783E0588667FABB17D2DF71FF4D6120FB59F87F7C61
++C 447 byte vector from openssl 
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F C4116A2278DE1A63C8DDE55B13786C0573636055717562CF1F10673A
++C 448 byte vector from openssl 
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F10 E746BD342CFD6679650CE4EA4D5BA9609F7814A102511C63F495B863
++C 55 byte vector from openssl (shouldn't cause padding overflow, a single 0x80 is appended followed by the two counter words)
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F1001020304050607 4D791F3C411E0ED4A592DD43228425D7736B061C8D361212A1CB2676
++C 60 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C C006F2D44FF0E65C81AF942F7722BAEA79B0BFA38715D1FB20EAEB90
++C 59 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B 68605C91440B199BC284D14FA9320BDAF57341FCE85D2ABBF1367364
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/thash/testdata/sha256.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,51 @@
++M SHA256 tests
++C This file contains test vectors for the SHA-256 algorithm...
++C Null string
+ E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855
++M   FIPS 180-2: SHA256 vectors test
++C Fips test 1 "abc"
+616263 BA7816BF8F01CFEA414140DE5DAE2223B00361A396177A9CB410FF61F20015AD
++C Fips test 2 -- 56 bytes and should cause overflow (append a single 1, then 63 zeros, then 448 more zeros, and finally 2 counter words)
+6162636462636465636465666465666765666768666768696768696A68696A6B696A6B6C6A6B6C6D6B6C6D6E6C6D6E6F6D6E6F706E6F7071 248D6A61D20638B8E5C026930C3E6039A33CE45964FF2167F6ECEDD419DB06C1
++C 511 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F 2B2EB4E1EA6B262817AEDFFC3DE6D28B5DC9D0CECA929321F491ECA6D4D93982
++C 510 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E E1AECA5D9CED392A490FD686433A1F369742786665D32BA892FD1A77AD3DB17A
++C 255 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F 85C4E5CF45C5857691253FDA7DABD4EFE26532AAEED6FD54B9D6D068F88C0233
++C 63 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F 67E9F4A4B928561B25025ABB15413D6228B1A25FA05072C1E685257904C14F67
++C 64 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F10 911B64766949A2E856F1B6C3501D5A6BF17DD50B6A78D6093AFC4252D2F71A18
++C 65 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F1001 A7D09678A407BF9D4EB6A48A9554CA7CEEC9936D448A1468A0D41F0610BC7C6B
++C 66 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102 ADADEB2AAC68B32B0998EA8801A37208EBBE7CE553374834141B4423FEE39830
++C 67 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F10010203 B0D4631545B8ABB75AAADCA36AB5D6E612A9F628305CA13858AA7D628F402DD3
++C 68 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F1001020304 275357F93873AFFFF00C4A830433CA5137CC327DDFB15C46D6CD8A0A8A6E483C
++C 32 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F10 489E98C889E35496DB0DD513734F69F598E4668313FC7C20C59C0D8900EE1F2B
++C 31 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F 648A7473E61884B71FAD5453206681706F480FCEBB750351C2055E17A214E00B
++C 96 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F10 3CE8BD8D589E7E942E0AE3C83E1B52D5FEA4485E61DE2D5A1E806D7CF4CA4A06
++C 95 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F 564732781B33B2BAE644147BEA43F9BE11CA9E70B469BF67EDC52866A6C65A8C
++C 127 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F 71AB94529BB29E149D200DCBEF79BB39FF6B778F22B4CE21885EA17641D07F57
++C 7 byte vector from openssl
+01020304050607 32BBE378A25091502B2BAF9F7258C19444E7A43EE4593B08030ACD790BD66E6A
++C 8 byte vector from openssl
+0102030405060708 66840DDA154E8A113C31DD0AD32F7F3A366A80E8136979D8F5A101D3D29D6F72
++C 447 byte vector from openssl 
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F DE2E1992F28016A15E901E9D732784641FED939B4E2AA7F689309E51840DBC7C
++C 448 byte vector from openssl 
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F10 1072D17B79CA4E1D6AD59338D97B811E4567F01D4324E4BD8F3477358E59055C
++C 55 byte vector from openssl (shouldn't cause padding overflow, a single 0x80 is appended followed by the two counter words)
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F1001020304050607 0FA39F22A7D8C018A6630804C31777225B8EAB3FA285236A2B33B5711146537A
++C 60 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C D65831A9101D91BC2F1F7930726C14E021C44436F0E1BBD5DB430588DFABBD0A
++C 59 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B 519FA7996098A163C9FFAC11FA68B411FC0E88389432023519E02C58F4DFEA6C
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/thash/testdata/sha384.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,51 @@
++M SHA384 tests
++C This file contains test vectors for the SHA-384 algorithm...
++C Null string
+ 38B060A751AC96384CD9327EB1B1E36A21FDB71114BE07434C0CC7BF63F6E1DA274EDEBFE76F65FBD51AD2F14898B95B
++M   FIPS 180-2: SHA384 vectors test
++C Fips test 1 "abc"
+616263 CB00753F45A35E8BB5A03D699AC65007272C32AB0EDED1631A8B605A43FF5BED8086072BA1E7CC2358BAECA134C825A7
++C Fips test 2 -- 56 bytes and should cause overflow (append a single 1, then 63 zeros, then 448 more zeros, and finally 2 counter words)
+6162636462636465636465666465666765666768666768696768696A68696A6B696A6B6C6A6B6C6D6B6C6D6E6C6D6E6F6D6E6F706E6F7071 3391FDDDFC8DC7393707A65B1B4709397CF8B1D162AF05ABFE8F450DE5F36BC6B0455A8520BC4E6F5FE95B1FE3C8452B
++C 511 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F 775F58A372AB30AE53ECE9485656182B77B97D85167DAC4AFBE3A5F74C10FC96C9AD9F1AABB5890EEAC189BF15406EE2
++C 510 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E D79A6615997CB1F48B91DB0037483FCE66EB9673C73438F2C5C4A1F8A845B03631F18AEF1AF3DFFC5D596C055E554EAC
++C 255 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F 149FA7BF652229D10B2B38EE8FCAFDA1DB84DDEAC60103659965F629FE47170F5A17A1992273A7F59774A9BCA751EDF2
++C 63 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F B24E88C899339FDC8BA805B9E4A7837D89E3CC76894CEF8ABC94C8D407C7092AC03A91CCC67892C9DFF7526CD7310106
++C 64 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F10 027C3B0C6E3D0E8244C6F31B1C47EA7924DF3610F41ED711C3A451BF54553D7ED3DF193C010217DB4A622A9C46AB3A47
++C 65 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F1001 89806BAF1D311AB1D4E27D10083D9E5F36A8B7DE69AEFE4AD0AA1A6A9F084182C4F752D57C95296D2199D3B7F1612EFF
++C 66 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102 5A56530B6B905E155591D7750BED9C1F4C76E94DEC3DA390B59A401ED54F945E4C4966042ED6652E8DF534F9355303FE
++C 67 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F10010203 2F401F1203EF7940613D74AA7156091C2416FA5115A98C5427EE02FFD65377CA40D8552E13EF80F9822DB4BAF301EA86
++C 68 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F1001020304 607C1E3BFFFEF52DEE9A370FECD70E59C073041296BB0D87F7E63A536338B6EC81752116B1E042651FD591EAFDA00A09
++C 32 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F10 97358AD13F2964AD09317A85E0E7B648E30966A25F0D59FA7F2810E4FD7606A5D1AE4FECCC3E0EB0E5B7042B1CECE6CD
++C 31 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F B90F0C4F759A0ED668AB63FD0BCE1BE505FCA24DFD633850CC571DC680AE6BA98A0F8DFF4EE5D06FEFE6141524901995
++C 96 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F10 47E10A8788549415330357AA1C1A7D68F6BBB3D7D5D2DB45D38167647EDBF9E8D3E7C46A7CFE1799A4E1C6080A807F69
++C 95 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F AED55A4BDC6104EF013FFBA853F955A77C27413453ED1AE6CF21B18AEDA1ABEE263BCF4704A9AFC7C27A73D408C5C1A3
++C 127 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F CCE83216A6117DBEA0BF300EEBD3DF2E8FBA3275F8CBAF99494FAABEF8CAFFC095CB3AC9E390678C5E7667B7CFC5FDAF
++C 7 byte vector from openssl
+01020304050607 00E24F0CA4D38B9C517D8DC0EE45E0DA3B4113F01A38D668DAD2E215EB449BBC7E1D44BEA52ECB1F67C9C120802E0C8F
++C 8 byte vector from openssl
+0102030405060708 9B110BBC741BB66AC09ED8E066E348990C5DBDB7406A2BDF8D77167364820E06B5C78B53F82015A7887786628374E6AE
++C 447 byte vector from openssl 
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F 7D44E0F3E1FCF7CE494B25FEECCA01DE0A5CD0CED0D734BF24C6E6F957EF2240A5027B5F3B8CC12A62237EFDF879D25F
++C 448 byte vector from openssl 
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F10 2BF382E0AC5EA4103335E74D96A47CFC28230841399C0BB06242CA8FB2438E6857B9132F8144F018BB1B34C4A99DF235
++C 55 byte vector from openssl (shouldn't cause padding overflow, a single 0x80 is appended followed by the two counter words)
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F1001020304050607 46FF79A91D10EA103A0F8E59FC5A88270349371888628B5C1D109CEB53153E969F8C814EAE17F5C6AA31B24945853688
++C 60 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C 98204E445F3915C63582F6956DF40D8A35126707AD30B03BF064A6FA559B07DBDE17604F4EB242F0C5E6F470890776BC
++C 59 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B 57E9EEE476C046BA9C8627E193EAA367C0CF1510F6CF223036DC5B46973942E356524486693515F0AC9F537AC47C5FE3
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/thash/testdata/sha512.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,51 @@
++M SHA512 tests
++C This file contains test vectors for the SHA-512 algorithm...
++C Null string
+ CF83E1357EEFB8BDF1542850D66D8007D620E4050B5715DC83F4A921D36CE9CE47D0D13C5D85F2B0FF8318D2877EEC2F63B931BD47417A81A538327AF927DA3E
++M   FIPS 180-2: SHA512 vectors test
++C Fips test 1 "abc"
+616263 DDAF35A193617ABACC417349AE20413112E6FA4E89A97EA20A9EEEE64B55D39A2192992A274FC1A836BA3C23A3FEEBBD454D4423643CE80E2A9AC94FA54CA49F
++C Fips test 2 -- 56 bytes and should cause overflow (append a single 1, then 63 zeros, then 448 more zeros, and finally 2 counter words)
+6162636462636465636465666465666765666768666768696768696A68696A6B696A6B6C6A6B6C6D6B6C6D6E6C6D6E6F6D6E6F706E6F7071 204A8FC6DDA82F0A0CED7BEB8E08A41657C16EF468B228A8279BE331A703C33596FD15C13B1B07F9AA1D3BEA57789CA031AD85C7A71DD70354EC631238CA3445
++C 511 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F BA48CB737173F1DCD520505120573206AA9BE5F7050A6F375BAC2BAB41E87450043C8ED44CFABEFE1BC5BBD06BC577ECA3F515070417E7FF3FBD59F9C2950155
++C 510 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E 3C12C80774084C5545BA25580EDB2DE9E4B2042203467169F12204439C97BCFEBCEC118716663F0ACB985797E5B9F2607C3FCAD79842F5D99F1C9C537420EFC9
++C 255 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F 0D3B5DE03584F3AA1E43F86B0AF310691007E957DC70F8EF6B6F063C3B7EB5AD83AB2E69F5AEE40674E8CBF07740A98C33AF2BE7FF037E3DA76124877B7FF066
++C 63 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F B1B56918155D95087E11B318ED8FB742E50B7FA16EF5A87FCCE538BAC8F7561E7084A7CC020E15D99FE49C364831EEFD011FE7C4CACB2E07286B57EA36878F50
++C 64 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F10 CD76057D4A5AFB8F40887A95010C7EFCA720417E50FCA7B4D53F1DF6B4E179BD1A814C7CAF3FB7F2C515486A2AD59EEA21390D7716B8CA4B08FD2A9D8EC09612
++C 65 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F1001 951BE1F906162E4598896247A56F2B88E6429AB6FF70CCE664E48B579B8D2028943855DF35DDF81AA7C758D649BB961FB1D913E4ACF5B84DFFEB7AD9510CBD59
++C 66 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102 50CFF01EA788E02AF84DC8E76C34815985C9CCE179B483EBB80B1D6ED15E4B3A4BB1AA943404BC17FA628DBC1CF5EC89F588842E476A848959E851A9CA0399F9
++C 67 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F10010203 764D80DE5A1F95B675138C94668DE21DE27EC24DC0A4B5237C2FB577BC14713874D11F3AF373A257BFCD0BB9EC0D2574FA1E35F00B30D8F2D96522436BA036A1
++C 68 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F1001020304 784F5883639F78DC933F83C98EEF561D60FD6044A0C78D179FCE9216CAA4156C6C1486DB722D5C545FC8375266C4AD6A1EE8966A6F124F80345B4E10F4C2BC09
++C 32 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F10 AFF5CDBD4DC8471917E7DD1578802EA7A73592AA66D77011A04A63B537D98E4D2C84C890DE8162966AD3E276231D02913B2AA9A1AB01343D8F7833A7A107F306
++C 31 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F 2A4BC5ACEBD8B357BCBCD2C0B118DE6B7993DA3A7C404FAD1EF7BD0A5839DE5354A5797641C6B3F6F1282614A2FCF41FEDEC018FCAC02307133EB64C499776AA
++C 96 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F10 5E38D3D36F2148FF9AB074E4A7FFE14144F73B1D1B7DF41463BE07F2008278B7BA09ECBFCD18D494716C0335A0BEC32F2CD6026E96C7BC451D5D7F1E638334E7
++C 95 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F 3EFCC0920A1089ADA7F62D4808C095AB543047D8A63B23C91C777F5E6FBBA5728917D8D2C49BB890232EA7F14B7572555F0B98107299DBF1D0B06BFCDF50A06E
++C 127 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F 77D5633CE4C8DD2D049C425A436472A35887610A54042C69919F7123912541A2B0E558481E5753545FF6D522CC8D6997771AD0B580F1810AD8B635AFF2669763
++C 7 byte vector from openssl
+01020304050607 6F966C1FE9C45CE2E0FA3C190D312437A72BEF60898DD0EDE6617AFD8D7BB7F2F5033D02DD1D6560556305C3E8772ACA69968625B057186150FE5450D2A86A6C
++C 8 byte vector from openssl
+0102030405060708 1818CC2ACD207880A07AFC360FD0DA87E51CCF17E7C604C4EB16BE5788322724C298E1FCC66EB293926993141EF0863C09EDA383188CF5DF49B910AACAC17EC5
++C 447 byte vector from openssl 
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F 83F23BBE89CE2CD77A706D9F3FA142A6BFD28E53CE141DC1088BC96CCBEB61C07A9DECDAACCC297EE5DFB726BD0643ADE7CEB452FE0A2409FA8B436F0FDDEF72
++C 448 byte vector from openssl 
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F10 13B3ACE42F99138CB8E9B00FC1373743D0A87E786FBAD000AD824B012BF9E4AFF55945D537E1ECC65DA3084F76C977514D50E4B4F5C700353C7E8F1AD3F75172
++C 55 byte vector from openssl (shouldn't cause padding overflow, a single 0x80 is appended followed by the two counter words)
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F1001020304050607 079A3B6392605868FEA7455F4BC732BA2709B41BC024C60E095423C347CAAC56F3578B4F2E55E37CC648A96208F46F473D76F1D5896C087772E0238ED26AF2A4
++C 60 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C 389C7D645CFEAA53C62A31D57EAF63AF7B9A249D6A77F0C8CB58570817305D7F4D0F01E7CB03ED132C71EF2E03CA99084311290C46EAA325165601B11DC9AF53
++C 59 byte vector from openssl
+0102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B0C0D0E0F100102030405060708090A0B 64A34149CAEC3D3F01FC80AAE6571D6864B48DDC58A17D4F1F925133C08D2055BB87E141406D30466DB3D1B96A7FF0B5A876A79157C7406E83C27D3438DE96E9
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/thash/thash.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,1152 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+/**
+ @file
+*/
+
+#include "hashtestutils.h"
+#include <utf.h>
+
+TBool gInOOMTest=EFalse;
+
+RTest test(_L("Hash Tests"));
+
+const TInt KMaxHashSize = 64; // Hash size in bytes
+
+void Hex(HBufC8& aString)
+	{
+	TPtr8 ptr=aString.Des();
+	if (aString.Length()%2)
+		{
+		ptr.SetLength(0);
+		return;
+		}
+	TInt i;
+	for (i=0;i<aString.Length();i+=2)
+		{
+		TUint8 tmp;
+		tmp=(TUint8)(aString[i]-(aString[i]>'9'?('A'-10):'0'));
+		tmp*=16;
+		tmp|=(TUint8)(aString[i+1]-(aString[i+1]>'9'?('A'-10):'0'));
+		ptr[i/2]=tmp;
+		}
+	ptr.SetLength(aString.Length()/2);
+	}
+
+void Spin()
+{//	Pointless function to print a dot
+	if (gInOOMTest)
+		{
+		static TInt count=0;
+		if (count++==100)
+			{
+			test.Printf(_L("o"));
+			count=0;
+			}
+		return;
+		}
+	test.Printf(_L("."));
+}
+
+void FunctionalityTestL(CMessageDigest* aMD)
+	{
+	if (!gInOOMTest)
+		test.Next(_L("Functionality test - original API"));
+
+	const TInt maxbuffersize=1024;
+	TInt buffersize;
+	TInt increment;
+	if (gInOOMTest)
+		{
+		buffersize=256;
+		increment=6;
+		}
+	else
+		{
+		buffersize=maxbuffersize;
+		increment=1;
+		}
+
+	TBool testSuccess = ETrue;
+	TInt i = 0;
+	TBuf8<maxbuffersize> buf(maxbuffersize);
+	for (;i<buffersize;i++)
+		{
+		buf[i]=(TUint8)i;
+		}
+	
+	for (i=0;i<buffersize;i+=increment)
+		{
+		TInt j;
+		Spin();
+		if (!gInOOMTest)
+			{
+			if (i>128)
+				{
+				increment=8;
+				}
+			}
+		else
+			{
+			if (i>24)
+				{
+				increment=32;
+				}
+			}
+
+		for (j=0;j<i;j+=16)
+			{
+			buf[0]=(TUint8)j;
+			TPtrC8 ptr=buf.Left(i);
+			TPtrC8 ptr2=buf.Left(j);
+			TPtrC8 ptr3=buf.Mid(j,i-j);
+
+			CMessageDigest* first=aMD->ReplicateL();
+			CleanupStack::PushL(first);
+			TPtrC8 firstFinal = first->Hash(ptr);
+			
+			aMD->Reset();
+			aMD->Update(ptr);
+			TPtrC8 aMDFinal = aMD->Final();
+
+			CMessageDigest* second=aMD->ReplicateL();
+			CleanupStack::PushL(second);
+			second->Hash(ptr2);
+			
+			CMessageDigest* third=second->CopyL();
+			CleanupStack::PushL(third);
+			
+			TPtrC8 secondFinal = second->Hash(ptr3);
+			
+			if (aMDFinal!=firstFinal)
+				{
+				testSuccess = EFalse;
+				}
+			
+			if (firstFinal!=secondFinal)
+				{
+				testSuccess = EFalse;
+				}
+
+			TPtrC8 thirdFinal = third->Hash(ptr3);
+			if (firstFinal!=thirdFinal)
+				{
+				testSuccess = EFalse;
+				}
+			CleanupStack::PopAndDestroy(3);		// first, second, third
+			}
+		}
+	
+///////////////////////////////////////////////////////////////
+//	Now test the new API - Update/Final functions	
+///////////////////////////////////////////////////////////////
+	if (!gInOOMTest)
+		test.Next(_L("\rFunctionality test - calls added API functions Final & Update"));
+
+	for (i=0;i<buffersize;i++)
+		{
+		buf[i]=(TUint8)i;
+		}
+	
+	for (i=0;i<buffersize;i+=increment)
+		{
+		TInt j;
+		Spin();
+		if (!gInOOMTest)
+			{
+			if (i>128)
+				{
+				increment=8;
+				}
+			}
+		else
+			{
+			if (i>24)
+				{
+				increment=32;
+				}
+			}
+		for (j=0;j<i;j+=16)
+			{
+			buf[0]=(TUint8)j;
+			TPtrC8 ptr=buf.Left(i);
+			TPtrC8 ptr2=buf.Left(j);
+			TPtrC8 ptr3=buf.Mid(j,i-j);
+			
+			CMessageDigest* first=aMD->ReplicateL();
+			CleanupStack::PushL(first);
+			first->Update(ptr);
+			
+			aMD->Update(ptr);
+
+			CMessageDigest* second=aMD->ReplicateL();
+			CleanupStack::PushL(second);			
+			second->Update(ptr2);
+			
+			CMessageDigest* third=second->CopyL();
+			CleanupStack::PushL(third);
+			third->Update(ptr3);
+			
+			second->Update(ptr3);
+			
+			TPtrC8 aMDFinal = aMD->Final();
+			TPtrC8 firstFinal = first->Final();
+			TPtrC8 secondFinal = second->Final();
+			TPtrC8 thirdFinal = third->Final();
+			
+			if (aMDFinal!=firstFinal)
+				{
+				testSuccess = EFalse;
+				}
+
+			if (firstFinal!=secondFinal)
+				{
+				testSuccess = EFalse;
+				}
+			
+			if (firstFinal!=thirdFinal)
+				{
+				testSuccess = EFalse;
+				}
+
+			CleanupStack::PopAndDestroy(3);		// first, second, third
+			}
+		}
+	test.Printf(_L("\r\n"));
+	
+	if (!testSuccess)
+		User::Leave(KErrGeneral);
+	}
+
+void VectorTestL(CMessageDigest* aMD,const TDesC& aFilename)
+	{
+	test.Next(_L("Test Vector tests - original API"));
+	TBool finished=EFalse;
+	TBool testSuccess = ETrue;
+	CTestData* data = CTestData::NewL(aFilename);
+	CleanupStack::PushL(data);
+
+	while (!finished)
+		{
+		switch (data->Type())
+			{
+		case CTestData::EMessage:
+			{
+			break;
+			}
+		//This is added to read large input data from the files.
+		case CTestData::EFileName:
+			{
+			CMessageDigest* md=aMD->ReplicateL();
+			CleanupStack::PushL(md);
+			
+			//get the filename from the .dat file
+			HBufC8* filename = (*data)[1];
+			User::LeaveIfNull(filename);
+			CleanupStack::PushL(filename);
+			
+			HBufC8* output= (*data)[2];
+			User::LeaveIfNull(output);
+			CleanupStack::PushL(output);
+			Hex(*output);
+			
+			HBufC16* inputFileName = CnvUtfConverter::ConvertToUnicodeFromUtf8L(*filename);
+			
+			RFs fs;
+			RFile file;
+			CleanupClosePushL(fs);
+			User::LeaveIfError(fs.Connect());
+			TDriveUnit sysDrive(fs.GetSystemDrive());
+			TBuf<24> filePath (sysDrive.Name());
+			filePath.Append(_L("\\thash\\"));
+			User::LeaveIfError(fs.SetSessionPath(filePath));
+			CleanupClosePushL(file);
+			User::LeaveIfError(file.Open(fs,*inputFileName,EFileShareAny|EFileRead));
+			// read into iFile
+			TInt size=0;
+			file.Size(size);
+			HBufC8* fileContents=HBufC8::NewMaxL(size);
+			
+			TPtr8 ptr=fileContents->Des();
+			User::LeaveIfError(file.Read(ptr));
+			CleanupStack::PopAndDestroy(2, &fs);
+			CleanupStack::PushL(fileContents);
+			delete inputFileName;
+			
+			TPtrC8 digest = md->Hash(*fileContents);
+			if (digest!=(*output))	
+				{
+				test.Next(_L("Digest Not Equal"));
+				testSuccess = EFalse;
+				}
+		
+			md->Reset();
+
+			TPtrC8 digest2 = md->Hash(*fileContents);
+			if (digest2!=(*output))	
+				{
+				testSuccess = EFalse;
+				}
+
+		//	Now try this in 2 half sections (just a quick check)
+			md->Reset();
+			
+			TInt inputLen = fileContents->Length();
+			if (inputLen > 1)
+				{
+				TInt leftHandLen = inputLen/2;
+				TPtrC8 left = fileContents->Left(leftHandLen);
+				TPtrC8 right = fileContents->Right(inputLen - leftHandLen);
+
+				TPtrC8 halfDigest = md->Hash(left);
+				if (halfDigest.Size()==0)	//	Unnecessary test, but removes
+					User::Leave(KErrAbort);	//	a warning about not using halfDigest
+					
+				TPtrC8 wholeDigest = md->Hash(right);
+				
+				if (wholeDigest!=(*output))	
+					{
+					testSuccess = EFalse;
+					}			
+				}
+				
+			md->Reset();
+			if (md->Final(*fileContents)!=(*output))
+				{
+				testSuccess = EFalse;
+				}
+
+		//	Now try this in 2 half sections (just a quick check)
+			md->Reset();
+			inputLen = fileContents->Length();
+			if (inputLen > 1)
+				{
+				TInt leftHandLen = inputLen/2;
+				TPtrC8 left = fileContents->Left(leftHandLen);
+				TPtrC8 right = fileContents->Right(inputLen - leftHandLen);
+
+				md->Update(left);
+				TPtrC8 wholeDigest = md->Final(right);
+				
+				if (wholeDigest!=(*output))	
+					{
+					testSuccess = EFalse;
+					}			
+				}
+			CleanupStack::PopAndDestroy(4, md);//md,filename,output,fileContents
+	
+			break;
+			}
+		case CTestData::EData:
+			{
+			CMessageDigest* md=aMD->ReplicateL();
+			CleanupStack::PushL(md);
+			
+			HBufC8* input = (*data)[0];
+			User::LeaveIfNull(input);
+			CleanupStack::PushL(input);
+			
+			HBufC8* output= (*data)[1];
+			User::LeaveIfNull(output);
+			CleanupStack::PushL(output);
+			Hex(*input);
+			Hex(*output);
+
+			TPtrC8 digest = md->Hash(*input);
+			if (digest!=(*output))	
+				{
+				testSuccess = EFalse;
+				}
+		
+			md->Reset();
+
+			TPtrC8 digest2 = md->Hash(*input);
+			if (digest2!=(*output))	
+				{
+				testSuccess = EFalse;
+				}
+
+		//	Now try this in 2 half sections (just a quick check)
+			md->Reset();
+			
+			TInt inputLen = input->Length();
+			if (inputLen > 1)
+				{
+				TInt leftHandLen = inputLen/2;
+				TPtrC8 left = input->Left(leftHandLen);
+				TPtrC8 right = input->Right(inputLen - leftHandLen);
+
+				TPtrC8 halfDigest = md->Hash(left);
+				if (halfDigest.Size()==0)	//	Unnecessary test, but removes
+					User::Leave(KErrAbort);	//	a warning about not using halfDigest
+					
+				TPtrC8 wholeDigest = md->Hash(right);
+				
+				if (wholeDigest!=(*output))	
+					{
+					testSuccess = EFalse;
+					}			
+				}
+
+			///////////////////////////////////////////////////////////////
+			//	Now test the new API - Update/Final functions	
+			///////////////////////////////////////////////////////////////
+			md->Reset();
+			if (md->Final(*input)!=(*output))
+				{
+				testSuccess = EFalse;
+				}
+
+		//	Now try this in 2 half sections (just a quick check)
+			md->Reset();
+			inputLen = input->Length();
+			if (inputLen > 1)
+				{
+				TInt leftHandLen = inputLen/2;
+				TPtrC8 left = input->Left(leftHandLen);
+				TPtrC8 right = input->Right(inputLen - leftHandLen);
+
+				md->Update(left);
+				TPtrC8 wholeDigest = md->Final(right);
+				
+				if (wholeDigest!=(*output))	
+					{
+					testSuccess = EFalse;
+					}			
+				}
+			CleanupStack::PopAndDestroy(3);
+			break;
+			}
+		case CTestData::EFinished:
+			finished=ETrue;
+			break;
+		default:
+			test.Printf(_L("Error in data file\r\n"));
+			break;
+			}
+		};
+
+	CleanupStack::PopAndDestroy(data);
+	
+	if (!testSuccess)
+		User::Leave(KErrGeneral);
+	}
+
+void OOMTestL(CMessageDigest* aMD)
+	{
+	test.Next(_L("Out of memory test"));
+	TInt err = KErrNoMemory;
+	TInt nextFailure=0;
+	gInOOMTest=ETrue;
+	while (err!=KErrNone)
+		{
+		__UHEAP_MARK;
+		__UHEAP_FAILNEXT(nextFailure);
+		TRAP(err,FunctionalityTestL(aMD));		
+		__UHEAP_MARKEND;
+		nextFailure++;
+		}
+	__UHEAP_RESET;
+	gInOOMTest=EFalse;
+	}
+
+void HMACVectorTestL(CMessageDigest* aMD,const TDesC& aFilename)
+	{
+	test.Next(_L("HMAC Test Vector tests"));
+	CTestData* data = CTestData::NewL(aFilename);
+	CleanupStack::PushL(data);
+
+	TBool finished=EFalse;
+	TBool testSuccess = ETrue;
+	
+	while (!finished)
+		{
+		switch (data->Type())
+			{
+		case CTestData::EMessage:
+			{
+			break;
+			}
+		case CTestData::EFileName:
+			{
+			//get the filename from the .dat file
+			HBufC8* filename = (*data)[1];
+			User::LeaveIfNull(filename);
+			CleanupStack::PushL(filename);
+			
+			HBufC8* key= (*data)[2];
+			User::LeaveIfNull(key);
+			CleanupStack::PushL(key);
+						
+			HBufC16* inputFileName = CnvUtfConverter::ConvertToUnicodeFromUtf8L(*filename);
+			
+			HBufC8* output = (*data)[3];
+			User::LeaveIfNull(output);
+			CleanupStack::PushL(output);
+			
+			Hex(*key);
+			Hex(*output);
+			
+			RFs fs;
+			RFile file;
+			CleanupClosePushL(fs);
+			User::LeaveIfError(fs.Connect());
+			TDriveUnit sysDrive(fs.GetSystemDrive());
+			TBuf<24> filePath (sysDrive.Name());
+			filePath.Append(_L("\\thash\\"));
+			User::LeaveIfError(fs.SetSessionPath(filePath));
+			CleanupClosePushL(file);
+			User::LeaveIfError(file.Open(fs,*inputFileName,EFileShareAny|EFileRead));
+			// read into iFile
+			TInt size=0;
+			file.Size(size);
+			HBufC8* fileContents=HBufC8::NewMaxL(size);
+			
+			TPtr8 ptr=fileContents->Des();
+			User::LeaveIfError(file.Read(ptr));
+			CleanupStack::PopAndDestroy(2, &fs);
+			CleanupStack::PushL(fileContents);
+			delete inputFileName;
+			
+			CMessageDigest* temp = aMD->ReplicateL();
+			CleanupStack::PushL(temp);
+			CMessageDigest* md = CHMAC::NewL(*key, temp);
+			CleanupStack::Pop(temp);	//	Now owned by md
+			
+			TPtrC8 digest = md->Hash(*fileContents);
+			if (digest!=(*output))
+				{
+				testSuccess = EFalse;
+				}
+						
+		//	Now try this in 2 half sections (just a quick check)
+			md->Reset();
+		
+			TInt inputLen = fileContents->Length();
+			if (inputLen > 1)
+				{
+				TInt leftHandLen = inputLen/2;
+				TPtrC8 left = fileContents->Left(leftHandLen);
+				TPtrC8 right = fileContents->Right(inputLen - leftHandLen);
+
+				TPtrC8 halfDigest = md->Hash(left);
+				if (halfDigest.Size()==0)	//	Unnecessary test, but removes
+					User::Leave(KErrAbort);	//	a warning about not using halfDigest
+				TPtrC8 wholeDigest = md->Hash(right);
+				
+				if (wholeDigest!=(*output))	
+					{
+					testSuccess = EFalse;
+					}
+				}
+
+			md->Reset();
+			TPtrC8 finalDigest = md->Final(*fileContents);
+			if (finalDigest!=(*output))
+				{
+				testSuccess = EFalse;
+				}			
+
+		//	Now try this in 2 half sections (just a quick check)
+			md->Reset();
+		
+			inputLen = fileContents->Length();
+			if (inputLen > 1)
+				{
+				TInt leftHandLen = inputLen/2;
+				TPtrC8 left = fileContents->Left(leftHandLen);
+				TPtrC8 right = fileContents->Right(inputLen - leftHandLen);
+
+				md->Update(left);
+				TPtrC8 wholeDigest = md->Final(right);
+				
+				if (wholeDigest!=(*output))	
+					{
+					testSuccess = EFalse;
+					}
+				}
+			delete md;
+			
+			CleanupStack::PopAndDestroy(4, filename);	//	filename, key, output,fileContents			
+			break;
+			}
+		case CTestData::EData:
+			{
+			HBufC8* input = (*data)[0];
+			User::LeaveIfNull(input);
+			CleanupStack::PushL(input);
+			
+			HBufC8* key = (*data)[1];
+			User::LeaveIfNull(key);
+			CleanupStack::PushL(key);
+			
+			HBufC8* output = (*data)[2];
+			User::LeaveIfNull(output);
+			CleanupStack::PushL(output);
+			
+			Hex(*input);
+			Hex(*key);
+			Hex(*output);
+			
+			CMessageDigest* temp = aMD->ReplicateL();
+			CleanupStack::PushL(temp);
+			CMessageDigest* md = CHMAC::NewL(*key, temp);
+			CleanupStack::Pop(temp);	//	Now owned by md
+			
+			TPtrC8 digest = md->Hash(*input);
+			if (digest!=(*output))
+				{
+				testSuccess = EFalse;
+				}
+						
+		//	Now try this in 2 half sections (just a quick check)
+			md->Reset();
+		
+			TInt inputLen = input->Length();
+			if (inputLen > 1)
+				{
+				TInt leftHandLen = inputLen/2;
+				TPtrC8 left = input->Left(leftHandLen);
+				TPtrC8 right = input->Right(inputLen - leftHandLen);
+
+				TPtrC8 halfDigest = md->Hash(left);
+				if (halfDigest.Size()==0)	//	Unnecessary test, but removes
+					User::Leave(KErrAbort);	//	a warning about not using halfDigest
+				TPtrC8 wholeDigest = md->Hash(right);
+				
+				if (wholeDigest!=(*output))	
+					{
+					testSuccess = EFalse;
+					}
+				}
+
+///////////////////////////////////////////////////////////////
+//	Now test the new API - Update/Final functions	
+///////////////////////////////////////////////////////////////
+			md->Reset();
+			TPtrC8 finalDigest = md->Final(*input);
+			if (finalDigest!=(*output))
+				{
+				testSuccess = EFalse;
+				}			
+
+		//	Now try this in 2 half sections (just a quick check)
+			md->Reset();
+		
+			inputLen = input->Length();
+			if (inputLen > 1)
+				{
+				TInt leftHandLen = inputLen/2;
+				TPtrC8 left = input->Left(leftHandLen);
+				TPtrC8 right = input->Right(inputLen - leftHandLen);
+
+				md->Update(left);
+				TPtrC8 wholeDigest = md->Final(right);
+				
+				if (wholeDigest!=(*output))	
+					{
+					testSuccess = EFalse;
+					}
+				}
+			delete md;
+			CleanupStack::PopAndDestroy(3);	//	input, key, output			
+			break;
+			}
+		case CTestData::EFinished:
+			finished=ETrue;
+			break;
+		default:
+			test.Printf(_L("Error in data file\r\n"));
+			break;
+			}
+		};
+
+	CleanupStack::PopAndDestroy(data);
+	
+	if (!testSuccess)
+		User::Leave(KErrGeneral);
+	}
+
+void HMACTestsL(CMessageDigest* aMD,const TDesC& aFilename, const TDesC& aHashType)
+	{
+	TBuf<0x40> formattable;
+	formattable.Format(_L("HMAC Tests for %S"), &aHashType);
+	test.Next(formattable);
+	CMessageDigest* temp = aMD->ReplicateL();
+	CleanupStack::PushL(temp);
+	CHMAC* hmac=CHMAC::NewL(_L8("aaaaaaaa"), temp);
+	CleanupStack::Pop(temp);
+	CleanupStack::PushL(hmac);
+	
+//	For each of the available digests
+	FunctionalityTestL(hmac);		//JCS for now
+	HMACVectorTestL(aMD,aFilename);	
+	OOMTestL(hmac);
+		
+	CleanupStack::PopAndDestroy(hmac);
+	}
+
+
+void MD2TestsL()
+	{
+	CMD2* md2;
+	md2=CMD2::NewL();
+	CleanupStack::PushL(md2);
+
+	FunctionalityTestL(md2);
+	
+	VectorTestL(md2,_L("md2.dat"));
+	
+	OOMTestL(md2);
+		
+	CleanupStack::PopAndDestroy(md2);
+
+// Problem reported by Jal Panvel, 17-12-1999.
+// Report by email, CSHA1::Hash() returning zero length descriptor
+// 
+// This was caused by failure to set internal hash descriptor length on setup, this
+// problem was present in all hashes except MD2 which set it up correctly.
+// Fixed 17-12-1999.
+	test.Next(_L("Fixed bugs Tests"));
+	md2 = CMD2::NewL();
+	CleanupStack::PushL(md2);
+	TPtrC8 data(_L8("The quick brown fox jumped over the lazy dog"));
+	TBuf8<128> hash;
+	hash = md2->Hash(data);
+	test(hash.Length() == md2->HashSize());
+	
+	HMACTestsL(md2,_L("hmacmd2.dat"), _L("md2"));
+	CleanupStack::PopAndDestroy(md2);
+	}
+
+void MD5TestsL()
+	{
+	CMD5* md5;
+	md5=CMD5::NewL();
+	CleanupStack::PushL(md5);
+
+	FunctionalityTestL(md5);
+	
+	VectorTestL(md5,_L("md5.dat"));
+	
+	OOMTestL(md5);
+	
+	CleanupStack::PopAndDestroy(md5);
+	test.Next(_L("Fixed bugs Tests"));
+// Problem reported by Jal Panvel, 17-12-1999.
+// Report by email, CSHA1::Hash() returning zero length descriptor
+// 
+// This was caused by failure to set internal hash descriptor length on setup, this
+// problem was present in all hashes except MD2 which set it up correctly.
+// Fixed 17-12-1999.
+	CMD5* md = CMD5::NewL();
+	CleanupStack::PushL(md);
+	TPtrC8 data(_L8("The quick brown fox jumped over the lazy dog"));
+	TBuf8<128> hash;
+	hash = md->Hash(data);
+	test(hash.Length() == md->HashSize());
+		
+	HMACTestsL(md5,_L("hmacmd5.dat"), _L("md5"));
+	CleanupStack::PopAndDestroy(md);
+
+	//	Test for DEF001510 "TLS - Receives Disconnect Indication during hands..."
+	CMD5* testHasher = CMD5::NewL();
+	CleanupStack::PushL(testHasher);
+	TPtrC8 client(_L8("D652CA1A6154D8303C16C055E424A5ACF3EBAB94284CD9B05B85C0D0F0B8E7A4"));
+	TPtrC8 server(_L8("3E3E56059EFEE4F8C5B05C76128C4C84916DF9E935510C3C063454856FF29FF8"));
+
+	HBufC8* clientData = client.AllocLC();
+	HBufC8* serverData = server.AllocLC();
+
+	Hex(*clientData);
+	Hex(*serverData);
+	
+	testHasher->Hash(*clientData);
+	testHasher->Hash(*serverData);
+	
+	TBuf8<32> md5buf;
+	md5buf.Copy(testHasher->Hash(TPtrC8(0,0)));
+
+	testHasher->Reset();
+
+//	Now hash in one chunk
+	TPtrC8 all(_L8("D652CA1A6154D8303C16C055E424A5ACF3EBAB94284CD9B05B85C0D0F0B8E7A43E3E56059EFEE4F8C5B05C76128C4C84916DF9E935510C3C063454856FF29FF8"));
+	HBufC8* allData = all.AllocLC();
+	Hex(*allData);
+
+	TBuf8<32> allbuf;
+	allbuf = testHasher->Hash(*allData);
+	test(allbuf.Compare(md5buf)==0);
+	CleanupStack::PopAndDestroy(4, testHasher);
+	}
+
+// Test for the MD4 Message Digest Algorithm API's	
+void MD4TestsL()
+	{
+	CMD4* md4;
+	md4=CMD4::NewL();
+	CleanupStack::PushL(md4);
+
+	FunctionalityTestL(md4);
+	
+	VectorTestL(md4,_L("md4.dat"));
+	
+	OOMTestL(md4);
+	
+	CleanupStack::PopAndDestroy(md4);
+   
+    //Test to check the Hash Size.
+	CMD4* md = CMD4::NewL();
+	CleanupStack::PushL(md);
+	TPtrC8 data(_L8("The quick brown fox jumped over the lazy dog"));
+	TBuf8<128> hash;
+	hash = md->Hash(data);
+	test(hash.Length() == md->HashSize());
+		
+	HMACTestsL(md,_L("hmacmd4.dat"), _L("md4"));
+	CleanupStack::PopAndDestroy(md);
+   
+    //Tests carried for other Message Digest Algorithms copied(SHA1 and MD5)
+    //Here Input Data is given in two parts and as a whole and the digest generated is compared.
+	CMD4* testHasher = CMD4::NewL();
+	CleanupStack::PushL(testHasher);
+	TPtrC8 client(_L8("D652CA1A6154D8303C16C055E424A5ACF3EBAB94284CD9B05B85C0D0F0B8E7A4"));
+	TPtrC8 server(_L8("3E3E56059EFEE4F8C5B05C76128C4C84916DF9E935510C3C063454856FF29FF8"));
+
+	HBufC8* clientData = client.AllocLC();
+	HBufC8* serverData = server.AllocLC();
+
+	Hex(*clientData);
+	Hex(*serverData);
+	
+	testHasher->Hash(*clientData);
+	testHasher->Hash(*serverData);
+	
+	TBuf8<32> md4buf;
+	md4buf.Copy(testHasher->Hash(TPtrC8(0,0)));
+
+	testHasher->Reset();
+
+//	Now hash in one chunk
+	TPtrC8 all(_L8("D652CA1A6154D8303C16C055E424A5ACF3EBAB94284CD9B05B85C0D0F0B8E7A43E3E56059EFEE4F8C5B05C76128C4C84916DF9E935510C3C063454856FF29FF8"));
+	HBufC8* allData = all.AllocLC();
+	Hex(*allData);
+
+	TBuf8<32> allbuf;
+	allbuf = testHasher->Hash(*allData);
+	test(allbuf.Compare(md4buf)==0);
+	CleanupStack::PopAndDestroy(4, testHasher);
+	
+	//Tests for the Factory Method CMessageDigestFactory
+	CMessageDigest* messageDigest = CMessageDigestFactory::NewDigestLC(CMessageDigest::EMD4);
+    VectorTestL(messageDigest,_L("md4.dat"));
+    CleanupStack::PopAndDestroy(messageDigest);
+    }
+
+
+void SHA1TestsL()
+	{
+	CSHA1* sha;
+	sha=CSHA1::NewL();
+	CleanupStack::PushL(sha);
+
+	VectorTestL(sha,_L("sha1.dat"));
+	
+	FunctionalityTestL(sha);
+	
+	OOMTestL(sha);
+		
+	CleanupStack::PopAndDestroy(sha);
+
+	test.Next(_L("Fixed bugs Tests"));	
+// Problem reported by Jal Panvel, 17-12-1999.
+// Report by email, CSHA1::Hash() returning zero length descriptor
+// 
+// This was caused by failure to set internal hash descriptor length on setup, this
+// problem was present in all hashes except MD2 which set it up correctly.
+// Fixed 17-12-1999.
+
+	sha=CSHA1::NewL();
+	CleanupStack::PushL(sha);
+	TPtrC8 data(_L8("The quick brown fox jumped over the lazy dog"));
+	TBuf8<128> hash;
+	hash = sha->Hash(data);
+	test(hash.Length() == sha->HashSize());
+	sha->Reset();
+	
+	//	Test for DEF001510 "TLS - Receives Disconnect Indication during hands..."
+	CSHA1* testHasher = CSHA1::NewL();
+	CleanupStack::PushL(testHasher);
+	TPtrC8 client(_L8("D652CA1A6154D8303C16C055E424A5ACF3EBAB94284CD9B05B85C0D0F0B8E7A4"));
+	TPtrC8 server(_L8("3E3E56059EFEE4F8C5B05C76128C4C84916DF9E935510C3C063454856FF29FF8"));
+
+	HBufC8* clientData = client.AllocLC();
+	HBufC8* serverData = server.AllocLC();
+
+	Hex(*clientData);
+	Hex(*serverData);
+
+//	Hash in 2 portions
+	TBuf8<32> clientbuf;
+	TBuf8<32> serverbuf;
+	clientbuf = testHasher->Hash(*clientData);
+	serverbuf = testHasher->Hash(*serverData);
+	
+	TBuf8<32> shabuf;
+	shabuf.Copy(testHasher->Hash(TPtrC8(0,0)));
+	testHasher->Reset();
+
+//	Now hash in one chunk
+	TPtrC8 all(_L8("D652CA1A6154D8303C16C055E424A5ACF3EBAB94284CD9B05B85C0D0F0B8E7A43E3E56059EFEE4F8C5B05C76128C4C84916DF9E935510C3C063454856FF29FF8"));
+	HBufC8* allData = all.AllocLC();
+	Hex(*allData);
+
+	TBuf8<32> allbuf;
+	allbuf = testHasher->Hash(*allData);
+
+	test(allbuf.Compare(shabuf)==0);
+	CleanupStack::PopAndDestroy(4, testHasher);
+	
+	// Test hashing non-word aligned data - used to crash on arm
+	TPtrC8 nonAlignedData = data.Mid(1);
+	hash = sha->Final(nonAlignedData);
+	test(hash.Length() == sha->HashSize());
+	sha->Reset();
+	
+//	Test end
+	HMACTestsL(sha,_L("hmacsha1.dat"), _L("sha1"));
+	CleanupStack::PopAndDestroy();		// sha
+	}
+
+void ExecuteHashTestsL(CMessageDigest* aMD, const TDesC& aVector, const TDesC& aHMACVector, const TDesC& aHashType)
+	{
+	VectorTestL(aMD, aVector);
+	FunctionalityTestL(aMD);
+	OOMTestL(aMD);
+	aMD->Reset();
+
+	test.Next(_L("Fixed bugs Tests"));	
+
+	_LIT8(KTest1Data, "The quick brown fox jumped over the lazy dog");
+	TBuf8<KMaxHashSize> hash;
+	hash = aMD->Hash(KTest1Data());
+	test(hash.Length() == aMD->HashSize());
+	aMD->Reset();
+	
+	//	Test for DEF001510 "TLS - Receives Disconnect Indication during hands..."
+	_LIT8(KClientData, "D652CA1A6154D8303C16C055E424A5ACF3EBAB94284CD9B05B85C0D0F0B8E7A4");
+	_LIT8(KServerData, "3E3E56059EFEE4F8C5B05C76128C4C84916DF9E935510C3C063454856FF29FF8");
+	
+	HBufC8* clientData = KClientData().AllocLC();
+	HBufC8* serverData = KServerData().AllocLC();
+
+	Hex(*clientData);
+	Hex(*serverData);
+	
+//	Hash in 2 portions
+	aMD->Hash(*clientData);
+	aMD->Hash(*serverData);
+
+	CleanupStack::PopAndDestroy(2, clientData);
+
+	TBuf8<KMaxHashSize> shabuf;
+	shabuf.Copy(aMD->Hash(KNullDesC8()));
+	aMD->Reset();
+
+//	Now hash in one chunk
+	_LIT8(KAllData, "D652CA1A6154D8303C16C055E424A5ACF3EBAB94284CD9B05B85C0D0F0B8E7A43E3E56059EFEE4F8C5B05C76128C4C84916DF9E935510C3C063454856FF29FF8");
+	HBufC8* allData = KAllData().AllocLC();
+	Hex(*allData);
+
+	TBuf8<KMaxHashSize> allbuf;
+	allbuf = aMD->Hash(*allData);
+	
+	test(allbuf.Compare(shabuf)==0);
+	CleanupStack::PopAndDestroy(allData);
+	
+	// Test hashing non-word aligned data - used to crash on arm
+	TPtrC8 nonAlignedData = KTest1Data().Mid(1);
+	hash = aMD->Final(nonAlignedData);
+	test(hash.Length() == aMD->HashSize());
+	aMD->Reset();
+	
+//	Test end
+	HMACTestsL(aMD, aHMACVector, aHashType);
+	}
+
+_LIT(K224Algo, "SHA-224.dat");
+_LIT(K256Algo, "SHA-256.dat");
+_LIT(K384Algo, "SHA-384.dat");
+_LIT(K512Algo, "SHA-512.dat");
+_LIT(K224Vector, "sha224.dat");
+_LIT(K256Vector, "sha256.dat");
+_LIT(K384Vector, "sha384.dat");
+_LIT(K512Vector, "sha512.dat");
+_LIT(K224HmacVector, "hmacsha224.dat");
+_LIT(K256HmacVector, "hmacsha256.dat");
+_LIT(K384HmacVector, "hmacsha384.dat");
+_LIT(K512HmacVector, "hmacsha512.dat");
+
+const TDesC* gNames[] = 
+	{
+	&K224Vector(),
+	&K224HmacVector(),
+	&K224Algo(),
+	&K256Vector(),
+	&K256HmacVector(),
+	&K256Algo(),
+	&K384Vector(),
+	&K384HmacVector(),
+	&K384Algo(),
+	&K512Vector(),
+	&K512HmacVector(),
+	&K512Algo(),
+	};
+
+
+void SHA2TestsL(CMessageDigest::THashId aHashId)
+	{
+	CMessageDigest* md = CMessageDigestFactory::NewDigestLC(aHashId);
+	TInt pos = aHashId - CMessageDigest::ESHA224;
+	pos *= 3;
+	ExecuteHashTestsL(md, *gNames[pos], *gNames[pos+1], *gNames[pos+2]);
+	CleanupStack::PopAndDestroy(md);
+	}
+
+void HashTests(void)
+	{
+	TInt32 testsFailed=0, testCount=0; 
+	
+	test.Start(_L("SHA1 Tests"));
+	TRAPD(r, SHA1TestsL());
+	++testCount;
+  if (r!=KErrNone)
+		{
+		test.Printf(_L("\r\nSHA1 Tests failed error code = %d\r\n\r\n"),r);
+		++testsFailed;
+		}
+	
+  test.Start(_L("SHA-224 Tests"));
+	TRAP(r, SHA2TestsL(CMessageDigest::ESHA224));
+	++testCount;
+	if (r!=KErrNone)
+		{
+		test.Printf(_L("\r\nSHA-224 Tests failed error code = %d\r\n\r\n"),r);
+		++testsFailed;
+		}
+
+	test.Start(_L("SHA-256 Tests"));	
+	TRAP(r, SHA2TestsL(CMessageDigest::ESHA256));
+	++testCount;
+	if (r!=KErrNone)
+		{
+		test.Printf(_L("\r\nSHA-256 Tests failed error code = %d\r\n\r\n"),r);
+		++testsFailed;
+		}
+
+	test.Start(_L("SHA-384 Tests"));	
+	TRAP(r, SHA2TestsL(CMessageDigest::ESHA384));
+	++testCount;
+	if (r!=KErrNone)
+		{
+		test.Printf(_L("\r\nSHA-384 Tests failed error code = %d\r\n\r\n"),r);
+		++testsFailed;
+		}
+
+	test.Start(_L("SHA-512 Tests"));	
+	TRAP(r, SHA2TestsL(CMessageDigest::ESHA512));
+	++testCount;
+	if (r!=KErrNone)
+		{
+		test.Printf(_L("\r\nSHA-512 Tests failed error code = %d\r\n\r\n"),r);
+		++testsFailed;
+		}
+	
+	test.Start(_L("MD5 Tests"));
+	TRAP(r, MD5TestsL());
+  ++testCount;
+	if (r!=KErrNone)
+		{
+		test.Printf(_L("\r\nMD5 Tests failed error code = %d\r\n\r\n"),r);
+		++testsFailed;
+		}
+
+	test.Start(_L("MD2 Tests"));
+	TRAP(r, MD2TestsL());
+  ++testCount;
+	if (r!=KErrNone)
+		{
+		test.Printf(_L("\r\nMD2 Tests failed error code = %d\r\n\r\n"),r);
+		++testsFailed;
+		}
+ 
+	//MD4 Message Digest Algorithm Tests
+	test.Start(_L("MD4 Tests"));
+	TRAP(r, MD4TestsL());
+  ++testCount;
+	if (r!=KErrNone)
+		{
+		test.Printf(_L("\r\nMD4 Tests failed error code = %d\r\n\r\n"),r);
+		++testsFailed;
+		}
+
+	test.Printf(_L("\r\n%d tests failed out of %d \r\n"),testsFailed,testCount);
+
+
+	test(testsFailed==0);
+	}
+
+
+GLDEF_C TInt E32Main(void)
+
+	{
+	CTrapCleanup* cleanup;
+	cleanup=CTrapCleanup::New();
+		
+	test.Start(_L(" @SYMTestCaseID:SEC-CRYPTO-HASH-0001 Hash Algorithm Tests "));		 
+	CTestConsole* con=NULL;
+	TRAPD(ret, con=CTestConsole::NewL(test.Console()));
+	if(ret != KErrNone)
+		{
+		return ret;	
+		}
+	RFs fs;
+
+	fs.Connect();
+	RFile* file;
+	file=new (ELeave) RFile;
+	
+	TDriveUnit sysDrive (fs.GetSystemDrive());
+	TDriveName driveName(sysDrive.Name());
+	TBuf<24> hashLogFile (driveName);
+	hashLogFile.Append(_L("\\HashLog.txt"));
+	
+	file->Replace(fs,hashLogFile,EFileShareAny|EFileWrite);
+	con->SetLogFile(file);
+	
+	test.SetConsole(con);
+	__UHEAP_MARK;
+	 HashTests();		
+	__UHEAP_MARKEND;
+
+	test.End();
+	test.Close();
+	delete cleanup;
+	return(KErrNone);
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tpadding/scripts/tpadSSLv3.ini	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,49 @@
+[CipherAES_CBC]
+BlockSize=16
+TestCaseName=CipherAES_CBC
+
+[CipherDES_CBC]
+BlockSize=8
+TestCaseName=CipherDES_CBC
+
+[CipherRC2_CBC]
+BlockSize=8
+TestCaseName=CipherRC2_CBC
+
+[ContentLength]
+Length=61  // from example in TLS1.0 spec. section 6.2.3.2. CBC block cipher
+
+//Test for BlockSize 0
+[Zero_BlockSize]
+BlockSize=0
+TextSize=16              
+TestCaseName=Zero_BlockSize
+ExpectedResult=CorruptBlockSize
+
+//Test for Negative BlockSize
+[Negative_BlockSize]
+BlockSize=-8
+TextSize=16             
+TestCaseName=Negative_BlockSize
+ExpectedResult=CorruptBlockSize
+
+//Test for BlockSize lesser than the TextSize
+[Block_LessThan_Text]               
+BlockSize=16
+TextSize=32 
+TestCaseName=Block_LessThan_Text
+ExpectedResult=CorruptBlockSize      
+
+//Test for BlockSize equal to the TextSize
+[Block_Equal_Text]                
+BlockSize=16
+TextSize=16  
+TestCaseName=Block_Equal_Text
+ExpectedResult=CorruptBlockSize          
+
+//Test for BlockSize greater than TextSize and TextSize is Zero
+[Zero_Text]
+BlockSize=16
+TextSize=0
+TestCaseName=Zero_Text
+ExpectedResult=CorruptBlockSize
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tpadding/scripts/tpadding.script	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,144 @@
+//
+// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of the License "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+
+PRINT Run all tpadding tests 
+//
+LOAD_SUITE tpaddingServer
+//
+
+
+//! @SYMTestCaseID   SEC-CRYPTO-PADDING-0007
+START_TESTCASE SEC-CRYPTO-PADDING-0007
+
+RUN_TEST_STEP 		100 tpaddingServer PadNone		c:\tpadding\tpaddingnone.ini	PaddingNone
+RUN_TEST_STEP 		100 tpaddingServer UnpadNone	c:\tpadding\tpaddingnone.ini	PaddingNone
+
+END_TESTCASE SEC-CRYPTO-PADDING-0007
+
+
+//! @SYMTestCaseID   SEC-CRYPTO-PADDING-0001
+//! @SYMTestCaseDesc The test case appends no padding.
+//! 		     (PaddingNone)
+//! @SYMDEF	     DEF079604 
+//! @SYMTestPriority Low
+//! @SYMTestStatus   Implemented
+//! @SYMTestActions  ASSERT KErrArgument if blocksize < 0.
+//! @SYMTestExpectedResults No padding.
+//! @SYMDevelopedForRelease Argus
+START_TESTCASE SEC-CRYPTO-PADDING-0001
+
+RUN_TEST_STEP_RESULT -6 100 tpaddingServer PadNone	c:\tpadding\tpaddingnone.ini    Zero_BlockSize
+RUN_TEST_STEP_RESULT -6 100 tpaddingServer PadNone	c:\tpadding\tpaddingnone.ini    Negative_BlockSize
+
+END_TESTCASE SEC-CRYPTO-PADDING-0001
+
+
+//! @SYMTestCaseID   SEC-CRYPTO-PADDING-0002
+//! @SYMTestCaseDesc Checks the padding for SSL by giving different blocksize and textsize.
+//! 		     (PadSSLv3)
+//! @SYMDEF			 DEF079604 
+//! @SYMTestPriority Low
+//! @SYMTestStatus   Implemented
+//! @SYMTestActions  ASSERT KErrArgument if blocksize <= textsize.
+//! @SYMTestExpectedResults The padding of data for SSL 3.0 should be proper.
+//! @SYMDevelopedForRelease Argus
+START_TESTCASE SEC-CRYPTO-PADDING-0002
+
+RUN_TEST_STEP 100 tpaddingServer PadSSLv3 c:\tpadding\tpadSSLv3.ini CipherAES_CBC
+RUN_TEST_STEP 100 tpaddingServer PadSSLv3 c:\tpadding\tpadSSLv3.ini CipherDES_CBC
+RUN_TEST_STEP 100 tpaddingServer PadSSLv3 c:\tpadding\tpadSSLv3.ini CipherRC2_CBC
+RUN_TEST_STEP 100 tpaddingServer PadSSLv3 c:\tpadding\tpadSSLv3.ini Block_LessThan_Text
+RUN_TEST_STEP_RESULT -6 100 tpaddingServer PadSSLv3 c:\tpadding\tpadSSLv3.ini Zero_BlockSize
+RUN_TEST_STEP_RESULT -6 100 tpaddingServer PadSSLv3 c:\tpadding\tpadSSLv3.ini Negative_BlockSize
+
+END_TESTCASE SEC-CRYPTO-PADDING-0002
+
+
+//! @SYMTestCaseID   SEC-CRYPTO-PADDING-0003
+//! @SYMTestCaseDesc Checks the unpadding for SSL by giving different blocksize and textsize.
+//! 		     (UnpadSSLv3)
+//! @SYMDEF			 DEF079604 
+//! @SYMTestPriority Low
+//! @SYMTestStatus   Implemented
+//! @SYMTestActions  ASSERT KErrArgument if blocksize <= textsize.
+//! @SYMTestExpectedResults The unpadding of data for SSL 3.0 should be proper.
+//! @SYMDevelopedForRelease Argus
+START_TESTCASE SEC-CRYPTO-PADDING-0003
+
+RUN_TEST_STEP 100 tpaddingServer UnpadSSLv3 c:\tpadding\tpadSSLv3.ini CipherAES_CBC
+RUN_TEST_STEP 100 tpaddingServer UnpadSSLv3 c:\tpadding\tpadSSLv3.ini CipherDES_CBC
+RUN_TEST_STEP 100 tpaddingServer UnpadSSLv3 c:\tpadding\tpadSSLv3.ini CipherRC2_CBC
+RUN_TEST_STEP 100 tpaddingServer UnpadSSLv3 c:\tpadding\tpadSSLv3.ini Block_LessThan_Text
+RUN_TEST_STEP_RESULT -6 100 tpaddingServer UnpadSSLv3 c:\tpadding\tpadSSLv3.ini Zero_BlockSize
+RUN_TEST_STEP_RESULT -6 100 tpaddingServer UnpadSSLv3 c:\tpadding\tpadSSLv3.ini Negative_BlockSize
+
+END_TESTCASE SEC-CRYPTO-PADDING-0003
+
+
+//! @SYMTestCaseID   SEC-CRYPTO-PADDING-0008
+START_TESTCASE SEC-CRYPTO-PADDING-0008
+
+RUN_TEST_STEP 100 tpaddingServer PadPKCS1
+RUN_TEST_STEP 100 tpaddingServer UnpadPKCS1
+
+RUN_TEST_STEP 100 tpaddingServer PadPKCS7
+RUN_TEST_STEP 100 tpaddingServer UnpadPKCS7
+
+RUN_TEST_STEP 100 tpaddingServer UnpadCorruptPKCS7 c:\tpadding\tpadpkcs7.ini DEF073199
+
+END_TESTCASE SEC-CRYPTO-PADDING-0008
+
+
+//! @SYMTestCaseID   SEC-CRYPTO-PADDING-0004
+//! @SYMTestCaseDesc Checks the unpadding for PKCS7 by giving different blocksize, textsize
+//					 and valid and invalid padding byte.
+//! 		     (UnpadCorruptPKCS7)
+//! @SYMDEF			 DEF079604 
+//! @SYMTestPriority Low
+//! @SYMTestStatus   Implemented
+//! @SYMTestActions  ASSERT KErrArgument if blocksize <= textsize.
+//! @SYMTestExpectedResults The unpadding of data for PKCS7 should be proper.
+//! @SYMDevelopedForRelease Argus
+START_TESTCASE SEC-CRYPTO-PADDING-0004
+
+RUN_TEST_STEP 100 tpaddingServer UnpadCorruptPKCS7 c:\tpadding\tpadpkcs7.ini Valid_PaddingByte1
+RUN_TEST_STEP 100 tpaddingServer UnpadCorruptPKCS7 c:\tpadding\tpadpkcs7.ini Valid_PaddingByte2
+RUN_TEST_STEP 100 tpaddingServer UnpadCorruptPKCS7 c:\tpadding\tpadpkcs7.ini Valid_PaddingByte3
+RUN_TEST_STEP 100 tpaddingServer UnpadCorruptPKCS7 c:\tpadding\tpadpkcs7.ini InValid_PaddingByte2
+
+END_TESTCASE SEC-CRYPTO-PADDING-0004
+
+
+//! @SYMTestCaseID   SEC-CRYPTO-PADDING-0005
+//! @SYMTestCaseDesc Checks the padding for PKCS7 by giving different blocksize, textsize.
+//! 		     (PaddingCorruptPKCS7)
+//! @SYMDEF			 DEF079604 
+//! @SYMTestPriority Low
+//! @SYMTestStatus   Implemented
+//! @SYMTestActions  ASSERT KErrArgument if blocksize <= textsize.
+//! @SYMTestExpectedResults The padding of data for PKCS7 should be proper.
+//! @SYMDevelopedForRelease Argus
+START_TESTCASE SEC-CRYPTO-PADDING-0005
+
+RUN_TEST_STEP 100 tpaddingServer PaddingCorruptPKCS7 c:\tpadding\tpadpkcs7.ini Block_LessThan_Text_Padding
+RUN_TEST_STEP 100 tpaddingServer PaddingCorruptPKCS7 c:\tpadding\tpadpkcs7.ini Block_Equal_Text_Padding
+RUN_TEST_STEP 100 tpaddingServer PaddingCorruptPKCS7 c:\tpadding\tpadpkcs7.ini Block_GreaterThan_Text_Padding
+RUN_TEST_STEP_RESULT -6 100 tpaddingServer PaddingCorruptPKCS7 c:\tpadding\tpadpkcs7.ini Zero_Block_Padding
+RUN_TEST_STEP_RESULT -6 100 tpaddingServer PaddingCorruptPKCS7 c:\tpadding\tpadpkcs7.ini Negative_Block_Padding
+
+END_TESTCASE SEC-CRYPTO-PADDING-0005
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tpadding/scripts/tpaddingnone.ini	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,12 @@
+//correct Block size.
+[PaddingNone]
+blocksize=512
+
+// InValid Block Size
+[Zero_BlockSize]
+blocksize=0
+
+// InValid Block Size
+[Negative_BlockSize]
+blocksize=-1
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tpadding/scripts/tpaddingudeb.script	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,36 @@
+//
+// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of the License "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: 
+//
+
+PRINT Run all tpadding tests 
+//
+LOAD_SUITE tpaddingServer
+//
+
+//! @SYMTestCaseID SEC-CRYPTO-PADDING-0006
+//! @SYMTestCaseDesc Checks the unpadding for PKCS7 by giving different blocksize, textsize
+//					 and valid and invalid padding byte.
+//! 		     (UnpadCorruptPKCS7)
+//! @SYMDEF	     DEF079604 
+//! @SYMTestPriority Low
+//! @SYMTestStatus   Implemented
+//! @SYMTestActions  ASSERT ECryptoPanicOutputDescriptorOverflow if given wrong padding byte.
+//! @SYMTestExpectedResults The unpadding of data for PKCS7 should be proper.
+//! @SYMDevelopedForRelease Argus
+START_TESTCASE SEC-CRYPTO-PADDING-0006
+
+RUN_PANIC_STEP_RESULT 1 CRYPTO-LIB 100 tpaddingServer UnpadCorruptPKCS7 c:\tpadding\tpadpkcs7.ini InValid_PaddingByte1
+
+END_TESTCASE SEC-CRYPTO-PADDING-0006
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tpadding/scripts/tpadpkcs7.ini	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,82 @@
+//Wrong Padding Byte
+[DEF073199]
+blocksize=64
+textsize=48
+paddingbyte=200         
+ExpectedResult=InvalidPadding     
+
+//correct Padding Byte, Block size is less than the text size
+[Valid_PaddingByte1]
+blocksize=48 		
+textsize=64
+paddingbyte=32		
+ExpectedResult=Valid      	
+
+//correct Padding Byte, block size is equal to the text size
+[Valid_PaddingByte2]
+blocksize=64 	       
+textsize=64
+paddingbyte=64         
+ExpectedResult=Valid
+
+//correct Padding Byte, Block size is greater than the text size
+[Valid_PaddingByte3]
+blocksize=64	      
+textsize=48
+paddingbyte=16	       
+ExpectedResult=Valid
+
+//Wrong Padding Byte, block size is equal to the text size
+[InValid_PaddingByte1]
+blocksize=64           
+textsize=64
+paddingbyte=16         
+ExpectedResult=InvalidPadding    
+
+//Block size is greater than the text size, wrong Padding Byte
+[InValid_PaddingByte2]
+blocksize=64           
+textsize=48
+paddingbyte=32         
+ExpectedResult=InvalidPadding    
+
+
+//Tests for PADDING
+
+//Block size is less than the text size
+[Block_LessThan_Text_Padding]
+blocksize=48 		 
+textsize=64		 
+ExpectedResult=InvalidPadding	          
+
+//block size is equal to the text size
+[Block_Equal_Text_Padding]
+blocksize=64 	        
+textsize=64		
+ExpectedResult=Valid
+     
+//Block size is greater than the text size
+[Block_GreaterThan_Text_Padding]
+blocksize=64      	
+textsize=48		
+ExpectedResult=Valid
+
+//Block size is Zero
+[Zero_Block_Padding]
+blocksize=0     	
+textsize=48		
+ExpectedResult=CorruptBlockSize
+
+//Block size is Negative
+[Negative_Block_Padding]
+blocksize=-9           
+textsize=48	  
+ExpectedResult=CorruptBlockSize	         
+
+
+
+
+
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tpadding/tpaddingNone.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,118 @@
+/*
+* Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include <padding.h>
+#include "tpaddingNone.h"
+
+CTestPadNone::CTestPadNone()
+{
+   SetTestStepName(KPadNone);
+}
+
+CTestPadNone::~CTestPadNone()
+{
+}
+
+TVerdict CTestPadNone::doTestStepL()
+{
+   SetTestStepResult(EPass);
+   __UHEAP_MARK;
+
+   INFO_PRINTF1(_L("Test of padding with type None"));
+   
+   TInt blockSize = 0; 
+   if (GetIntFromConfig(ConfigSection(), _L("blocksize"), blockSize))
+ 		{
+ 		ERR_PRINTF1(_L("Missing parameter - blockSize"));
+ 		}
+
+   // Block size is arbitrary as no padding actually occurs
+   CPaddingNone *padding = CPaddingNone::NewLC(blockSize);
+   for (TInt i = 1 ; i < blockSize; i++)
+   {
+      HBufC8 *padInData = HBufC8::NewLC(i);
+      HBufC8 *padOutData = HBufC8::NewLC(i);
+      TPtr8 in(padInData->Des());
+      TPtr8 out(padOutData->Des());
+      for (TInt j = 0; j < i; j++)
+      {
+	 in.Append(_L8("a"));
+      }
+
+      // Perform the padding
+      TRAPD(err, padding->DoPadL(in, out));
+      TEST(err == KErrNone);
+      
+      // As no padding actually occurs, the in string should equal the out string
+      TEST(in == out);
+      CleanupStack::PopAndDestroy(2, padInData); // padInData, padOutData
+   }
+   
+   CleanupStack::PopAndDestroy(); // padding
+   __UHEAP_MARKEND;
+   return TestStepResult();
+}
+
+CTestUnpadNone::CTestUnpadNone()
+{
+   SetTestStepName(KUnpadNone);
+}
+
+CTestUnpadNone::~CTestUnpadNone()
+{
+}
+
+TVerdict CTestUnpadNone::doTestStepL()
+{
+   SetTestStepResult(EPass);
+   __UHEAP_MARK;
+
+   INFO_PRINTF1(_L("Test of unpadding with type None"));
+   
+   TInt blockSize = 0; 
+   if (GetIntFromConfig(ConfigSection(), _L("blocksize"), blockSize))
+ 		{
+ 		ERR_PRINTF1(_L("Missing parameter - blockSize"));
+ 		}
+
+   // Block size is arbitrary as no padding actually occurs
+   CPaddingNone *padding = CPaddingNone::NewLC(blockSize);
+   for (TInt i = 1 ; i < blockSize; i++)
+   {
+      HBufC8 *padInData = HBufC8::NewLC(i);
+      HBufC8 *padOutData = HBufC8::NewLC(i);
+      TPtr8 in(padInData->Des());
+      TPtr8 out(padOutData->Des());
+      for (TInt j = 0; j < i; j++)
+      {
+	 in.Append(_L8("a"));
+      }
+
+      // Perform the unpadding
+      TRAPD(err, padding->UnPadL(in, out));
+      TEST(err == KErrNone);
+
+      // As no unpadding actually occurs, the in string should equal the out string
+      TEST(in == out);
+      CleanupStack::PopAndDestroy(2, padInData); // padInData, padOutData
+   }
+   CleanupStack::PopAndDestroy(); // padding
+   __UHEAP_MARKEND;
+   return TestStepResult();
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tpadding/tpaddingNone.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,45 @@
+/*
+* Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#ifndef _TPADDINGNONE_H_
+#define _TPADDINGNONE_H_
+
+#include <test/testexecutestepbase.h>
+#include "tpaddingTestSteps.h"
+
+_LIT(KPadNone, "PadNone");
+_LIT(KUnpadNone, "UnpadNone");
+
+class CTestPadNone : public CPaddingStep
+{
+   public:
+      CTestPadNone();
+      ~CTestPadNone();
+      virtual TVerdict doTestStepL();
+};
+
+class CTestUnpadNone : public CPaddingStep
+{
+   public:
+      CTestUnpadNone();
+      ~CTestUnpadNone();
+      virtual TVerdict doTestStepL();
+};
+
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tpadding/tpaddingPKCS1.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,321 @@
+/*
+* Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include <random.h>
+#include <padding.h>
+#include "tpaddingPKCS1.h"
+
+CTestPadPKCS1::CTestPadPKCS1()
+{
+   SetTestStepName(KPadPKCS1);
+}
+
+CTestPadPKCS1::~CTestPadPKCS1()
+{
+}
+
+TVerdict CTestPadPKCS1::doTestStepL()
+{
+
+   __UHEAP_MARK;
+   
+   INFO_PRINTF1(_L("Test of PKCS1 signature padding"));
+
+   SetTestStepResult(EPass);
+   INFO_PRINTF1(_L("Blocksize 512"));
+   TestPKCS1SignaturePadding(512);
+
+   SetTestStepResult(EPass);
+   INFO_PRINTF1(_L("Blocksize 1024"));
+   TestPKCS1SignaturePadding(1024);
+
+   SetTestStepResult(EPass);
+   INFO_PRINTF1(_L("Blocksize 2048"));
+   TestPKCS1SignaturePadding(2048);
+
+   INFO_PRINTF1(_L("Test of PKCS1 encryption padding"));
+
+   SetTestStepResult(EPass);
+   INFO_PRINTF1(_L("Blocksize 512"));
+   TestPKCS1EncryptionPadding(512);
+
+   SetTestStepResult(EPass);
+   INFO_PRINTF1(_L("Blocksize 1024"));
+   TestPKCS1EncryptionPadding(1024);
+
+   SetTestStepResult(EPass);
+   INFO_PRINTF1(_L("Blocksize 2048"));
+   TestPKCS1EncryptionPadding(2048);
+   
+
+   __UHEAP_MARKEND;
+   return TestStepResult();
+}
+
+void CTestPadPKCS1::TestPKCS1SignaturePadding(TInt aBlockSize)
+{
+   CPaddingPKCS1Signature *padding = CPaddingPKCS1Signature::NewLC(aBlockSize);
+   /*
+    * The length of the data D shall not be more than k-11 octets,
+    * which is positive since the length k of the modulus is at
+    * least 12 octets.
+    */
+   TInt noDataBytes = aBlockSize-11;
+   
+   for (TInt i = 0; i <= noDataBytes; i++)
+   {
+      HBufC8 *inData = HBufC8::NewLC(noDataBytes);
+      HBufC8 *outData = HBufC8::NewLC(aBlockSize);
+      TPtr8 in(inData->Des());
+      TPtr8 out(outData->Des());
+      TInt j;
+      
+      for (j = 0; j < i; j++)
+      {
+	 TInt text('a'+j%25);
+	 in.Append(text);
+      }
+      
+      TRAPD(err, padding->DoPadL(in, out));
+      TEST(err == KErrNone);
+      
+      // check the padding.
+      // should have the following syntax:
+      // 00 || 01 || PS || 00 || D where PS is the padding octects of value 0xff
+      
+      TEST(out[0] == 0 && out[1] == 1);
+
+      TInt endOfPadding = aBlockSize - 1 - in.Length();
+      for (j = 2; j < endOfPadding; j++)
+      {
+	 TEST(out[j]==0xff);
+	 
+      }
+      // Check for the delimiter
+      TEST(out[endOfPadding] == 0);
+      // Check that the rest of the data is not corrupted
+      TInt startOfData = aBlockSize - in.Length();
+      TEST(in == out.Mid(startOfData));
+      CleanupStack::PopAndDestroy(2, inData); // inData, outData
+   }
+   TestStepResult() ? INFO_PRINTF1(_L("Test failed")) : INFO_PRINTF1(_L("Test passed"));
+   CleanupStack::PopAndDestroy(); // padding
+}
+
+void CTestPadPKCS1::TestPKCS1EncryptionPadding(TInt aBlockSize)
+{
+   CPaddingPKCS1Encryption *padding = CPaddingPKCS1Encryption::NewLC(aBlockSize);
+   /*
+    * The length of the data D shall not be more than k-11 octets,
+    * which is positive since the length k of the modulus is at
+    * least 12 octets.
+    */
+   TInt noDataBytes = aBlockSize-11;
+   
+   for (TInt i = 0; i <= noDataBytes; i++)
+   {
+      HBufC8 *inData = HBufC8::NewLC(noDataBytes);
+      HBufC8 *outData = HBufC8::NewLC(aBlockSize);
+      TPtr8 in(inData->Des());
+      TPtr8 out(outData->Des());
+      TInt j;
+      
+      for (j = 0; j < i; j++)
+      {
+	 TInt text('a'+j%25);
+	 in.Append(text);
+      }
+      
+      TRAPD(err, padding->DoPadL(in, out));
+      TEST(err == KErrNone);
+      // check the padding.
+      // should have the following syntax:
+      // 00 || 02 || PS || 00 || D where PS is the padding octects containing random data
+      
+      TEST(out[0] == 0 && out[1] == 2);
+      
+      TInt endOfPadding = aBlockSize - 1 - in.Length();
+      for (j = 2; j < endOfPadding; j++)
+      {
+	 TEST(out[j]!=0);
+	 
+      }
+      // Check for the delimiter
+      TEST(out[endOfPadding] == 0);
+      
+      // Check that the rest of the data is not corrupted
+      TInt startOfData = aBlockSize - in.Length();
+      TEST(in == out.Mid(startOfData));
+      CleanupStack::PopAndDestroy(2, inData); // inData, outData
+   }
+   TestStepResult() ? INFO_PRINTF1(_L("Test failed")) : INFO_PRINTF1(_L("Test passed"));
+   CleanupStack::PopAndDestroy(); // padding
+}
+
+   
+CTestUnpadPKCS1::CTestUnpadPKCS1()
+{
+   SetTestStepName(KUnpadPKCS1);
+}
+
+CTestUnpadPKCS1::~CTestUnpadPKCS1()
+{
+}
+
+TVerdict CTestUnpadPKCS1::doTestStepL()
+{
+   __UHEAP_MARK;
+
+   INFO_PRINTF1(_L("Test of PKCS1 signature unpadding"));
+   INFO_PRINTF1(_L("Blocksize 512"));
+   SetTestStepResult(EPass);
+   TestPKCS1SignatureUnpadding(512);
+   INFO_PRINTF1(_L("Blocksize 1024"));
+   SetTestStepResult(EPass);
+   TestPKCS1SignatureUnpadding(1024);
+   INFO_PRINTF1(_L("Blocksize 2048"));
+   SetTestStepResult(EPass);
+   TestPKCS1SignatureUnpadding(2048);
+
+   INFO_PRINTF1(_L("Test of PKCS1 encryption unpadding"));
+   INFO_PRINTF1(_L("Blocksize 512"));
+   SetTestStepResult(EPass);
+   TestPKCS1EncryptionUnpadding(512);
+   INFO_PRINTF1(_L("Blocksize 1024"));
+   SetTestStepResult(EPass);
+   TestPKCS1EncryptionUnpadding(1024);
+   INFO_PRINTF1(_L("Blocksize 2048"));
+   SetTestStepResult(EPass);
+   TestPKCS1EncryptionUnpadding(2048);
+
+   __UHEAP_MARKEND;
+   return TestStepResult();
+}
+
+void CTestUnpadPKCS1::TestPKCS1SignatureUnpadding(TInt aBlockSize)
+{
+   CPaddingPKCS1Signature *padding = CPaddingPKCS1Signature::NewLC(aBlockSize);
+   /*
+    * The length of the data D shall not be more than k-11 octets,
+    * which is positive since the length k of the modulus is at
+    * least 12 octets.
+    */
+   TInt noDataBytes = aBlockSize-11;
+   
+   for (TInt i = 0; i <= noDataBytes; i++)
+   {
+      HBufC8 *inData = HBufC8::NewLC(aBlockSize);
+      HBufC8 *outData = HBufC8::NewLC(noDataBytes);
+      HBufC8 *compData = HBufC8::NewLC(noDataBytes);
+      TPtr8 in(inData->Des());
+      TPtr8 out(outData->Des());
+      TPtr8 comp(compData->Des());
+      
+      TInt endOfPadding = aBlockSize - 1 - i;
+      in.SetLength(endOfPadding+1);
+      in[0] = 0;
+      in[1] = 1;
+      TInt j;
+      for (j = 2; j < endOfPadding; j++)
+      {
+	 in[j] = 0xff;
+      }
+      in[endOfPadding] = 0; // delimiter
+
+      for (j = 0; j < i; j++)
+      {
+	 TInt text('a'+j%25);
+	 in.Append(text);
+	 comp.Append(text);
+      }
+
+      TRAPD(err, padding->UnPadL(in, out));
+      TEST(err == KErrNone);
+
+      TEST(out == comp);
+
+      TEST(out.Length() == i);
+
+      
+      CleanupStack::PopAndDestroy(3, inData); // inData, outData, compData
+   }
+   TestStepResult() ? INFO_PRINTF1(_L("Test failed")) : INFO_PRINTF1(_L("Test passed"));
+   CleanupStack::PopAndDestroy(); // padding
+}
+
+void CTestUnpadPKCS1::TestPKCS1EncryptionUnpadding(TInt aBlockSize)
+{
+   CPaddingPKCS1Encryption *padding = CPaddingPKCS1Encryption::NewLC(aBlockSize);
+   /*
+    * "The length of the data D shall not be more than k-11 octets,
+    * which is positive since the length k of the modulus is at
+    * least 12 octets."
+    */
+   TInt noDataBytes = aBlockSize-11;
+   for (TInt i = 0; i <= noDataBytes; i++)
+   {
+      HBufC8 *inData = HBufC8::NewLC(aBlockSize);
+      HBufC8 *outData = HBufC8::NewLC(noDataBytes);
+      HBufC8 *compData = HBufC8::NewLC(noDataBytes);
+      TPtr8 in(inData->Des());
+      TPtr8 out(outData->Des());
+      TPtr8 comp(compData->Des());
+      
+      TInt endOfPadding = aBlockSize - 1 - i;
+      in.SetLength(endOfPadding+1);
+      in[0] = 0;
+      in[1] = 2;
+      TBuf8<256> rnd(256);
+      GenerateRandomBytesL(rnd);
+
+      TInt k = 2;
+      TInt j = 0;
+      while (k < endOfPadding)
+      {
+         if (rnd[j%256])
+         {
+            in[k++] = rnd[j%256];
+         }
+         
+         if (++j%256 == 0)
+         {
+            GenerateRandomBytesL(rnd);
+         }
+      }
+      in[endOfPadding] = 0; // delimiter
+
+      for (j = 0; j < i; j++)
+      {
+	 TInt text('a'+j%25);
+	 in.Append(text);
+     comp.Append(text);
+      }
+
+      TRAPD(err, padding->UnPadL(in, out));
+      TEST(err == KErrNone);
+
+	  TEST(out == comp);		  
+
+      TEST(out.Length() == i);
+
+      
+      CleanupStack::PopAndDestroy(3, inData); // inData, outData, compData
+   }
+   TestStepResult() ? INFO_PRINTF1(_L("Test failed")) : INFO_PRINTF1(_L("Test passed"));
+   CleanupStack::PopAndDestroy(); // padding
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tpadding/tpaddingPKCS1.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,51 @@
+/*
+* Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#ifndef _TPADDINGPKCS1_H_
+#define _TPADDINGPKCS1_H_
+
+#include <test/testexecutestepbase.h>
+#include "tpaddingTestSteps.h"
+
+_LIT(KPadPKCS1, "PadPKCS1");
+_LIT(KUnpadPKCS1, "UnpadPKCS1");
+
+class CTestPadPKCS1 : public CPaddingStep
+{
+   public:
+      CTestPadPKCS1();
+      ~CTestPadPKCS1();
+      virtual TVerdict doTestStepL();
+   private:
+      void TestPKCS1SignaturePadding(TInt aBlockSize);
+      void TestPKCS1EncryptionPadding(TInt aBlockSize);
+};
+
+class CTestUnpadPKCS1 : public CPaddingStep
+{
+   public:
+      CTestUnpadPKCS1();
+      ~CTestUnpadPKCS1();
+      virtual TVerdict doTestStepL();
+   private:
+      void TestPKCS1SignatureUnpadding(TInt aBlockSize);
+      void TestPKCS1EncryptionUnpadding(TInt aBlockSize);
+};
+
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tpadding/tpaddingPKCS7.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,340 @@
+/*
+* Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include <random.h>
+#include <padding.h>
+#include <securityerr.h>
+#include "tpaddingPKCS7.h"
+#include <cryptopanic.h>
+
+static void GenerateInput(TInt aBytes, TPtr8& in)
+ 	{
+ 	for (TInt j = 0; j < aBytes; j++)
+ 		{
+ 		TInt text('a'+j%25);
+ 		in.Append(text);
+ 		}
+ 	}
+
+CTestPadPKCS7::CTestPadPKCS7()
+	{
+	SetTestStepName(KPadPKCS7);
+	}
+
+CTestPadPKCS7::~CTestPadPKCS7()
+	{
+	}
+
+TVerdict CTestPadPKCS7::doTestStepL()
+	{
+	SetTestStepResult(EPass);
+	__UHEAP_MARK;
+   
+	INFO_PRINTF1(_L("Test of PKCS7  padding"));
+
+	for (TInt i = 1; i < 255; i++)
+		{
+		TestPKCS7Padding(i);
+		}
+  
+	__UHEAP_MARKEND;
+	return TestStepResult();
+	}
+
+
+void CTestPadPKCS7::TestPKCS7Padding(TInt aBlockSize)
+	{
+   	CPaddingPKCS7 *padding = CPaddingPKCS7::NewLC(aBlockSize);
+	// Starts with zero input size(total block data is filled/padded with block size) 
+	for (TInt i = 0 ; i <= aBlockSize; i++)
+		{
+		HBufC8 *padInData = HBufC8::NewLC(i);
+		HBufC8 *padOutData = HBufC8::NewLC(i+(aBlockSize-i%aBlockSize));
+		TPtr8 in(padInData->Des());
+		TPtr8 out(padOutData->Des());
+
+		GenerateInput(i, in);
+		TRAPD(err, padding->DoPadL(in, out));
+		
+		TEST(err == KErrNone);
+		
+		TInt totalLength = out.Length();
+		TUint paddingLength = aBlockSize - in.Length()%aBlockSize;
+		// Test that the total length is a multiple of blockSize
+		TEST((totalLength % aBlockSize) == 0);
+      
+		// Test that the padding bytes are equal in value to the paddingLength,
+		// ie, if padding length is 5 the 5 last octets in the out array should be 0x05
+		for (TInt j = paddingLength; j > 0 ; j--)
+			{
+			TEST(out[out.Length()-j] == paddingLength);
+			}
+      
+		// Test that the data has not been corrupted
+		TEST(in == out.Left(out.Length() - paddingLength));
+		
+		CleanupStack::PopAndDestroy(2, padInData); // padInData, padOutData
+		}
+	CleanupStack::PopAndDestroy(padding);
+	}
+   
+CTestUnpadPKCS7::CTestUnpadPKCS7()
+	{
+   	SetTestStepName(KUnpadPKCS7);
+	}
+
+CTestUnpadPKCS7::~CTestUnpadPKCS7()
+	{
+	}
+
+TVerdict CTestUnpadPKCS7::doTestStepL()
+	{
+	SetTestStepResult(EPass);
+	__UHEAP_MARK;
+
+	INFO_PRINTF1(_L("Test of PKCS7 unpadding"));
+	for (TInt i = 1; i < 255; i++)
+		{
+		TestPKCS7Unpadding(i);
+		}
+
+	__UHEAP_MARKEND;
+	return TestStepResult();
+	}
+
+
+void CTestUnpadPKCS7::TestPKCS7Unpadding(TInt aBlockSize)
+	{
+	CPaddingPKCS7 *padding = CPaddingPKCS7::NewLC(aBlockSize);
+
+	// Input must be < aBlockSize otherwise this wouldn't be 
+	// a padded block
+	for (TInt i = 0 ; i < aBlockSize; i++)
+		{
+		// Input to un-padding should always be an entire block
+		// for correctly data.
+		HBufC8 *padInData = HBufC8::NewLC(aBlockSize);
+		HBufC8 *padOutData = HBufC8::NewLC(i);
+		HBufC8 *padCompareData = HBufC8::NewLC(i);
+		TPtr8 in(padInData->Des());
+		TPtr8 out(padOutData->Des());
+		TPtr8 comp(padCompareData->Des());
+
+		GenerateInput(i, in);
+		comp.Copy(in);		
+
+		in.SetLength(aBlockSize);
+		TInt paddingBytes = aBlockSize - (i % aBlockSize);
+		for (TInt j = 1; j <= paddingBytes; j++)
+			{
+			in[in.Length()-j] = (TUint8)paddingBytes;
+			}
+
+		TRAPD(err, padding->UnPadL(in, out));
+		if (err != KErrNone)
+			{
+			INFO_PRINTF3(_L("The Error returned for block size %d is %d"), aBlockSize,err);
+			}
+		TEST(err == KErrNone); // Verify UnPadL leave code 
+		TEST(out == comp); // Verify  UnPadL output data with expected data
+		CleanupStack::PopAndDestroy(3, padInData); // padInData, padOutData, padCompareData
+		}
+	CleanupStack::PopAndDestroy(padding);
+	}
+
+ 
+CTestUnpadCorruptPKCS7::CTestUnpadCorruptPKCS7()
+	{
+	SetTestStepName(KUnpadCorruptPKCS7);
+	}
+ 
+CTestUnpadCorruptPKCS7::~CTestUnpadCorruptPKCS7()
+	{
+	}
+ 
+TVerdict CTestUnpadCorruptPKCS7::doTestStepL()
+ 	{
+ 	SetTestStepResult(EPass);
+ 	__UHEAP_MARK;
+ 
+ 	TInt blockSize;
+ 	TInt textSize;
+ 	TInt paddingNum = 0;
+ 	
+ 	if (GetIntFromConfig(ConfigSection(), _L("blocksize"), blockSize))
+ 		{
+ 		if (GetIntFromConfig(ConfigSection(), _L("textsize"), textSize))
+ 			{
+ 			if (GetIntFromConfig(ConfigSection(), _L("paddingbyte"), paddingNum))
+ 				{
+ 				INFO_PRINTF1(_L("Test of PKCS7 unpadding with corrupt data"));
+ 				TUint8 paddingByte = Min(paddingNum, 255);
+   				TestCorruptPKCS7Unpadding(blockSize, textSize, paddingByte);	  					
+ 				}				
+ 			else
+ 				{
+ 				ERR_PRINTF1(_L("Missing parameter - paddingbyte"));
+ 				}
+ 			}
+ 		else
+ 			{
+ 			ERR_PRINTF1(_L("Missing parameter - textsize"));
+ 			}
+ 		}
+ 	else
+		{
+ 		ERR_PRINTF1(_L("Missing parameter - blocksize"));
+ 		}
+ 
+ 	__UHEAP_MARKEND;
+ 	return TestStepResult();
+ 	}
+ 
+void CTestUnpadCorruptPKCS7::TestCorruptPKCS7Unpadding(TInt aBlockSize, TInt aTextSize, TUint8 aPaddingByte)
+	{
+ 	CPaddingPKCS7 *padding = CPaddingPKCS7::NewLC(aBlockSize);
+ 	TInt paddingBytes = (aBlockSize - aTextSize % aBlockSize);
+ 	
+	HBufC8 *padInData = HBufC8::NewLC(aTextSize + paddingBytes);
+ 	HBufC8 *padOutData = HBufC8::NewLC(aTextSize);
+ 	TPtr8 in(padInData->Des());
+ 	TPtr8 out(padOutData->Des());
+ 
+ 	GenerateInput(aTextSize, in);
+ 
+ 	in.SetLength(in.Length() + paddingBytes);
+ 	for (TInt j = 1; j <= paddingBytes; j++)
+ 		{
+ 		in[in.Length()-j] = (TUint8) aPaddingByte;
+ 		}
+ 
+ 	TRAPD(err, padding->UnPadL(in, out));
+ 	
+ 	if ( err == KErrInvalidPadding )
+		{
+  		INFO_PRINTF2(_L("The PKCS7 unpadding UnPadL method returned error is %d"), err);
+  		TEST(err == KErrInvalidPadding);
+  		SetTestStepResult(EPass);
+  		}
+	else if ( err == KErrNone )
+		{
+		TEST(err == KErrNone);
+		}
+	CleanupStack::PopAndDestroy(3, padding); // padding, padInData, padOutData
+	}
+
+CTestPaddingCorruptPKCS7::CTestPaddingCorruptPKCS7()
+	{
+	SetTestStepName(KPaddingCorruptPKCS7);
+	}
+ 
+CTestPaddingCorruptPKCS7::~CTestPaddingCorruptPKCS7()
+	{
+	}
+ 
+TVerdict CTestPaddingCorruptPKCS7::doTestStepL()
+ 	{
+ 	SetTestStepResult(EPass);
+ 	__UHEAP_MARK;
+ 
+ 	TInt blockSize;
+ 	TInt textSize;
+ 	 	
+ 	if (GetIntFromConfig(ConfigSection(), _L("blocksize"), blockSize))
+ 		{
+ 		if (GetIntFromConfig(ConfigSection(), _L("textsize"), textSize))
+ 			{
+ 			INFO_PRINTF1(_L("Test of PKCS7 unpadding with corrupt data"));
+   			TestCorruptPKCS7padding(blockSize, textSize);	  					
+ 			}
+ 		else
+ 			{
+ 			ERR_PRINTF1(_L("Missing parameter - textsize"));
+ 			}
+ 		}
+ 	else
+		{
+ 		ERR_PRINTF1(_L("Missing parameter - blocksize"));
+ 		}
+ 
+ 	__UHEAP_MARKEND;
+ 	return TestStepResult();
+ 	}
+ 
+void CTestPaddingCorruptPKCS7::TestCorruptPKCS7padding(TInt aBlockSize, TInt aTextSize)
+	{
+	CPaddingPKCS7 *padding = CPaddingPKCS7::NewLC(aBlockSize);
+
+	TInt paddingBytes = 0;
+	//Divide by 0 is undefined.
+	if(aBlockSize != 0)
+		{
+		paddingBytes = aBlockSize - (aTextSize % aBlockSize);
+		}
+		
+ 	HBufC8 *padOutData = HBufC8::NewLC(aTextSize + paddingBytes);
+ 	HBufC8 *padInData = HBufC8::NewLC(aTextSize);
+ 	TPtr8 in(padInData->Des());
+ 	TPtr8 out(padOutData->Des());
+ 
+ 	GenerateInput(aTextSize, in);
+ 	TRAPD(err, padding->DoPadL(in, out));
+
+	INFO_PRINTF2(_L("The PKCS7 padding DoPadL method returned error is %d"), err);
+	TInt totalLength = out.Length();
+	TInt inLength = in.Length();
+	
+	TUint paddingLength = 0;
+	//Divide by 0 is undefined.
+	if(aBlockSize != 0)
+		{
+		paddingLength = aBlockSize - inLength%aBlockSize;
+		// Test that the total length is a multiple of blockSize
+		TEST((totalLength % aBlockSize) == 0);
+		}			
+	
+ 	// Test that the padding bytes are equal in value to the paddingLength,
+	// ie, if padding length is 5 the 5 last octets in the out array should be 0x05
+	for (TInt j = paddingLength; j > 0 ; j--)
+		{
+		TEST(out[out.Length()-j] == paddingLength);
+		}
+
+	TPtrC expectedContent;
+ 	if (GetStringFromConfig(ConfigSection(), _L("case"), expectedContent))
+ 		{
+ 		if(expectedContent.Compare(_L("InvalidPadding")) ==0)
+ 			{
+ 			TEST(err == KErrInvalidPadding);
+ 			}
+ 		else if(expectedContent.Compare(_L("Valid")) ==0)
+ 			{
+ 			TEST(err == KErrNone);
+ 			}
+ 		else if(expectedContent.Compare(_L("CorruptBlockSize")) ==0)
+ 			{
+ 			TEST(err == KErrArgument);
+ 			}
+ 		}
+ 	
+ 	// Test that the data has not been corrupted
+	TEST(in == out.Left(out.Length() - paddingLength));
+ 	
+ 	CleanupStack::PopAndDestroy(3, padding); // padInData, padOutData, padCompareData, padding
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tpadding/tpaddingPKCS7.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,76 @@
+/*
+* Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#ifndef _TPADDINGPKCS7_H_
+#define _TPADDINGPKCS7_H_
+
+#include <e32std.h>
+#include <e32cmn.h>
+
+
+#include <test/testexecutestepbase.h>
+#include "tpaddingTestSteps.h"
+
+_LIT(KPadPKCS7, "PadPKCS7");
+_LIT(KUnpadPKCS7, "UnpadPKCS7");
+_LIT(KUnpadCorruptPKCS7, "UnpadCorruptPKCS7");
+_LIT(KPaddingCorruptPKCS7, "PaddingCorruptPKCS7");
+
+
+class CTestPadPKCS7 : public CPaddingStep
+{
+ 	public:
+ 		CTestPadPKCS7();
+ 		~CTestPadPKCS7();
+ 		virtual TVerdict doTestStepL();
+ 	private:
+ 		void TestPKCS7Padding(TInt aBlockSize);
+};
+
+class CTestUnpadPKCS7 : public CPaddingStep
+{
+    public:
+ 		CTestUnpadPKCS7();
+ 		~CTestUnpadPKCS7();
+ 		virtual TVerdict doTestStepL();
+ 	private:
+ 		void TestPKCS7Unpadding(TInt aBlockSize);
+
+};
+
+class CTestUnpadCorruptPKCS7 : public CPaddingStep
+ {
+    public:
+ 		CTestUnpadCorruptPKCS7();
+ 		~CTestUnpadCorruptPKCS7();
+ 		virtual TVerdict doTestStepL();
+ 	private:
+ 		void TestCorruptPKCS7Unpadding(TInt aBlockSize, TInt aTextSize, TUint8 aCorruptPaddingByte);
+ };
+
+class CTestPaddingCorruptPKCS7 : public CPaddingStep
+	{
+public:
+	CTestPaddingCorruptPKCS7();
+    ~CTestPaddingCorruptPKCS7();
+    virtual TVerdict doTestStepL();
+private:
+    void TestCorruptPKCS7padding(TInt aBlockSize, TInt aTextSize);
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tpadding/tpaddingSSLv3.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,349 @@
+/*
+* Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include <padding.h>
+#include "tpaddingSSLv3.h"
+#include <securityerr.h>
+
+CTestPadSSLv3::CTestPadSSLv3()
+	{
+   SetTestStepName(KPadSSLv3);
+	}
+
+CTestPadSSLv3::~CTestPadSSLv3()
+	{
+	}
+
+TVerdict CTestPadSSLv3::doTestStepL()
+	{
+    SetTestStepResult(EPass);
+    __UHEAP_MARK;
+
+	INFO_PRINTF1(_L("Test of padding with type SSLv3"));
+
+	TInt blockSize;
+    TInt textSize;
+
+	if (!GetStringFromConfig(ConfigSection(), _L("TestCaseName"), iTestCaseName))
+ 		{
+ 		INFO_PRINTF1(_L("Could not find TestCaseName in tpadSSLv3.ini"));
+      	return EFail;
+ 		}
+   
+    if (!GetIntFromConfig(ConfigSection(), _L("BlockSize"), blockSize))
+ 		{
+ 		INFO_PRINTF1(_L("Could not find blocksize in tpadSSLv3.ini"));
+      	return EFail;
+ 		}
+ 		
+  	if(iTestCaseName.Compare(_L("CipherAES_CBC"))==0 || iTestCaseName.Compare(_L("CipherDES_CBC"))==0 || iTestCaseName.Compare(_L("CipherRC2_CBC"))==0)
+ 		{
+ 		TestSSLv3Padding(blockSize);
+ 		}
+ 	else
+ 		{
+ 		if (!GetIntFromConfig(ConfigSection(), _L("TextSize"), textSize))
+   			{
+      		INFO_PRINTF1(_L("Could not find TextSize in tpadSSLv3.ini"));
+      		return EFail;
+   			}
+   		if (!GetStringFromConfig(ConfigSection(), _L("ExpectedResult"), iExpectedResult))
+ 			{
+ 			INFO_PRINTF1(_L("Could not find TextSize in tpadSSLv3.ini"));
+      		return EFail;
+ 			}
+ 		TestSSLv3CorruptPadding(blockSize, textSize);	
+ 		}
+	__UHEAP_MARKEND;
+	return TestStepResult();
+	}
+
+void CTestPadSSLv3::TestSSLv3Padding(TInt aBlockSize)
+	{
+	CPaddingSSLv3 *padding = CPaddingSSLv3::NewLC(aBlockSize);
+
+	for (TInt i = 0 ; i <= aBlockSize; i++)
+		{
+		HBufC8 *padInData = HBufC8::NewLC(i);
+		HBufC8 *padOutData = HBufC8::NewLC(i+(aBlockSize-i%aBlockSize));
+		TPtr8 in(padInData->Des());
+		TPtr8 out(padOutData->Des());
+		TInt j;
+      
+		for (j = 0; j < i; j++)
+			{
+			TInt text('a'+j%25);
+			in.Append(text);
+			}
+		TRAPD(err, padding->DoPadL(in, out));
+		INFO_PRINTF3(_L("The error returned for input size %d is %d"), i, err);
+		TEST(err == KErrNone);
+
+		TInt totalLength = out.Length();
+		TInt paddingLength = aBlockSize - in.Length()%aBlockSize;
+		// Test that the total length is a multiple of blockSize
+		TEST((totalLength % aBlockSize) == 0);
+      
+		// Test that the padding bytes are equal in value to the paddingLength,
+		// ie, if padding length is 5 the 5 last octets in the out array should be 0x05
+		// This is according to RFC2246 (TLS1.0). The padding content in SSL3.0 is arbitrary.
+		for (TInt i = paddingLength; i > 0 ; i--)
+			{
+			TEST(out[out.Length()-i] == paddingLength - 1);
+			}
+
+		// Test that the data has not been corrupted
+		TEST(in == out.Left(out.Length() - paddingLength));
+      
+		CleanupStack::PopAndDestroy(2, padInData); // padInData, padOutData
+		}
+	CleanupStack::PopAndDestroy(padding);
+	}
+
+void CTestPadSSLv3::TestSSLv3CorruptPadding(TInt aBlockSize, TInt aTextSize)
+	{
+	CPaddingSSLv3 *padding = CPaddingSSLv3::NewLC(aBlockSize);
+
+	HBufC8 *padInData = HBufC8::NewLC(aTextSize);
+	TInt paddingBytes = 0;
+	//If BlockSize is 0, Divide by 0 is undefined
+	if(aBlockSize != 0)
+		{
+		paddingBytes = (aBlockSize - aTextSize % aBlockSize);
+		}
+	HBufC8 *padOutData = HBufC8::NewLC(aTextSize + paddingBytes);
+	TPtr8 in(padInData->Des());
+	TPtr8 out(padOutData->Des());
+	TInt j;
+      
+	for (j = 0; j < aTextSize; j++)
+   		{
+	 	TInt text('a'+j%25);
+	 	in.Append(text);
+      	}
+	TRAPD(err, padding->DoPadL(in, out));
+  
+	if(iExpectedResult.Compare(_L("CorruptBlockSize")) ==0)
+ 		{
+ 		TEST(err == KErrArgument);
+ 		}
+	else if(iExpectedResult.Compare(_L("Valid")) ==0)
+ 		{
+ 		TEST(err == KErrNone);
+ 		}
+	else if(iExpectedResult.Compare(_L("InvalidPadding")) == 0)
+		{
+		TEST(err == KErrInvalidPadding);
+		}	
+
+	TInt totalLength = out.Length();
+	TInt paddingLength = 0;
+	//If BlockSize is 0, Divide by 0 is undefined
+	if(aBlockSize != 0)
+		{
+      	paddingLength = aBlockSize - in.Length()%aBlockSize;
+		}
+	//If BlockSize is 0, Divide by 0 is undefined
+	if(aBlockSize != 0)
+		{
+   		// Test that the total length is a multiple of blockSize
+		TEST((totalLength % aBlockSize) == 0);
+		}
+      
+	// Test that the padding bytes are equal in value to the paddingLength,
+	// ie, if padding length is 5 the 5 last octets in the out array should be 0x05
+	// This is according to RFC2246 (TLS1.0). The padding content in SSL3.0 is arbitrary.
+	for (TInt i = paddingLength; i > 0 ; i--)
+		{
+	 	TEST(out[out.Length()-i] == paddingLength - 1);
+      	}
+
+	if(aBlockSize > 0)
+   		{
+   		// Test that the data has not been corrupted
+   		TEST(in == out.Left(out.Length() - paddingLength));
+   		}
+          
+	CleanupStack::PopAndDestroy(2, padInData); // padInData, padOutData
+	CleanupStack::PopAndDestroy(padding);
+	}
+
+CTestUnpadSSLv3::CTestUnpadSSLv3()
+	{
+	SetTestStepName(KUnpadSSLv3);
+	}
+
+CTestUnpadSSLv3::~CTestUnpadSSLv3()
+	{
+	}
+
+TVerdict CTestUnpadSSLv3::doTestStepL()
+	{
+	SetTestStepResult(EPass);
+	__UHEAP_MARK;
+
+	INFO_PRINTF1(_L("Test of unpadding with type SSLv3"));
+
+	TInt blockSize;
+	TInt textSize;
+	if (!GetIntFromConfig(ConfigSection(), _L("BlockSize"), blockSize))
+ 		{
+ 		INFO_PRINTF1(_L("Could not find blocksize in tpadSSLv3.ini"));
+      	return EFail;
+ 		}
+ 		
+ 	if (!GetStringFromConfig(ConfigSection(), _L("TestCaseName"), iTestCaseName))
+ 		{
+ 		INFO_PRINTF1(_L("Could not find TestCaseName in tpadSSLv3.ini"));
+      	return EFail;
+ 		}	
+ 	
+ 	if(iTestCaseName.Compare(_L("CipherAES_CBC"))==0 || iTestCaseName.Compare(_L("CipherDES_CBC"))==0 || iTestCaseName.Compare(_L("CipherRC2_CBC"))==0)
+ 		{
+ 		TestSSLv3Unpadding(blockSize);
+ 		}
+ 	else
+ 		{
+ 		if (!GetIntFromConfig(ConfigSection(), _L("TextSize"), textSize))
+   			{
+      		INFO_PRINTF1(_L("Could not find TextSize in tpadSSLv3.ini"));
+      		return EFail;
+   			}
+   			
+   		if (!GetStringFromConfig(ConfigSection(), _L("ExpectedResult"), iExpectedResult))
+ 			{
+ 			INFO_PRINTF1(_L("Could not find TextSize in tpadSSLv3.ini"));
+      		return EFail;
+ 			}
+ 		TestSSLv3CorruptUnpadding(blockSize, textSize);	
+ 		}
+
+	__UHEAP_MARKEND;
+	return TestStepResult();
+	}
+
+void CTestUnpadSSLv3::TestSSLv3Unpadding(TInt aBlockSize)
+	{
+	CPaddingSSLv3 *padding = CPaddingSSLv3::NewLC(aBlockSize);
+
+	for (TInt i = 0 ; i <= aBlockSize; i++)
+		{
+		HBufC8 *padInData = HBufC8::NewLC(i+(aBlockSize - i%aBlockSize));
+		HBufC8 *padOutData = HBufC8::NewLC(i);
+		HBufC8 *padCompareData = HBufC8::NewLC(i);
+		TPtr8 in(padInData->Des());
+		TPtr8 out(padOutData->Des());
+		TPtr8 comp(padCompareData->Des());
+		TInt j;
+      
+		// build up a padded string here
+		for (j = 0; j < i; j++)
+			{
+			TInt text('a'+j%25);
+			in.Append(text);
+			}
+		comp.Append(in);
+      
+		TInt paddingBytes = aBlockSize - i%aBlockSize;
+		in.SetLength(in.Length() + paddingBytes);
+
+		// pad with arbitary data, to test unpadding of SSL 3.0 padded data
+		in[in.Length()-1] = (TUint8) (paddingBytes - 1);
+		for (j = 2; j <= paddingBytes; j++)
+			{
+			in[in.Length()-j] = (TUint8) ('a' + j%25);
+			}
+		TRAPD(err, padding->UnPadL(in, out));
+		INFO_PRINTF3(_L("The error returned for input size %d is %d"), i, err);
+		TEST(err == KErrNone);
+
+		// test if the unpadding was correct.
+		TEST(out == comp);
+      
+		CleanupStack::PopAndDestroy(3, padInData); // padInData, padOutData, padCompareData
+		}
+	CleanupStack::PopAndDestroy(padding);
+	}
+
+void CTestUnpadSSLv3::TestSSLv3CorruptUnpadding(TInt aBlockSize, TInt aTextSize)
+	{
+	CPaddingSSLv3 *padding = CPaddingSSLv3::NewLC(aBlockSize);
+   
+	TInt paddingBytes = 0;
+	//If BlockSize is 0, Divide by 0 is undefined
+	if(aBlockSize != 0)
+   		{
+   		paddingBytes = aBlockSize - aTextSize%aBlockSize;
+   		}
+	HBufC8 *padInData = HBufC8::NewLC(aTextSize+ paddingBytes);
+	HBufC8 *padOutData = HBufC8::NewLC(aTextSize);
+	HBufC8 *padCompareData = HBufC8::NewLC(aTextSize);
+	TPtr8 in(padInData->Des());
+	TPtr8 out(padOutData->Des());
+	TPtr8 comp(padCompareData->Des());
+	TInt j;
+   
+	if(in.Length() < aTextSize)
+		{
+		for (j = 0; j < in.Length(); j++)
+   			{
+	 		TInt text('a'+j%25);
+	 		in.Append(text);
+      		}
+		}
+	else
+		{
+		// build up a padded string here
+		for (j = 0; j < aTextSize; j++)
+   			{
+	 		TInt text('a'+j%25);
+	 		in.Append(text);
+      		}
+		}
+	comp.Append(in);
+   
+	in.SetLength(in.Length() + paddingBytes);
+
+	if(aBlockSize > 0)
+  		{
+   		// pad with arbitary data, to test unpadding of SSL 3.0 padded data
+   		in[in.Length()-1] = (TUint8) (paddingBytes - 1);
+   		for (j = 2; j <= paddingBytes; j++)
+   			{
+	 		in[in.Length()-j] = (TUint8) ('a' + j%25);
+      		}
+  		 }  
+	TRAPD(err, padding->UnPadL(in, out));
+   
+    if(iExpectedResult.Compare(_L("CorruptBlockSize")) ==0)
+ 		{
+ 		TEST(err == KErrArgument);
+ 		}
+	else if(iExpectedResult.Compare(_L("Valid")) ==0)
+ 		{
+ 		TEST(err == KErrNone);
+ 		}
+	else if(iExpectedResult.Compare(_L("InvalidPadding")) == 0)
+		{
+		TEST(err == KErrInvalidPadding);
+		}
+	// test if the unpadding was correct.
+	TEST(out == comp);
+	CleanupStack::PopAndDestroy(3, padInData); // padInData, padOutData, padCompareData
+	CleanupStack::PopAndDestroy(padding);
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tpadding/tpaddingSSLv3.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,58 @@
+/*
+* Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#ifndef _TPADDINGSSLV3_H_
+#define _TPADDINGSSLV3_H_
+
+#include <test/testexecutestepbase.h>
+#include "tpaddingTestSteps.h"
+
+_LIT(KPadSSLv3, "PadSSLv3");
+_LIT(KUnpadSSLv3, "UnpadSSLv3");
+
+class CTestPadSSLv3 : public CPaddingStep
+{
+   public:
+      CTestPadSSLv3();
+      ~CTestPadSSLv3();
+      virtual TVerdict doTestStepL();
+   private:
+      void TestSSLv3Padding(TInt aBlockSize);
+	  void TestSSLv3CorruptPadding(TInt aBlockSize, TInt aTextSize);
+   private:
+	   TPtrC iExpectedResult;
+	   TPtrC iTestCaseName;
+
+};
+
+class CTestUnpadSSLv3 : public CPaddingStep
+{
+   public:
+      CTestUnpadSSLv3();
+      ~CTestUnpadSSLv3();
+      virtual TVerdict doTestStepL();
+   private:
+      void TestSSLv3Unpadding(TInt aBlockSize);
+	  void TestSSLv3CorruptUnpadding(TInt aBlockSize, TInt aTextSize);
+   private:
+	   TPtrC iExpectedResult;
+	   TPtrC iTestCaseName;
+};
+
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tpadding/tpaddingServer.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,134 @@
+/*
+* Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* paddingServer.cpp
+*
+*/
+
+
+
+#include "tpaddingServer.h"
+#include "tpaddingTestSteps.h"
+#include "tpaddingNone.h"
+#include "tpaddingSSLv3.h"
+#include "tpaddingPKCS1.h"
+#include "tpaddingPKCS7.h"
+
+// name of test server 
+_LIT(KServerName, "tpaddingServer");
+
+// server class name
+CPaddingServer* CPaddingServer::NewL()
+/**
+ * @return - Instance of the test server
+ * Called inside the MainL() function to create and start the
+ * CTestServer derived server.
+ */
+{
+   // new server class 
+   CPaddingServer * server = new (ELeave) CPaddingServer();
+   CleanupStack::PushL(server);
+	
+   // Either use a StartL or ConstructL, the latter will permit
+   // Server Logging.
+
+   //server->StartL(KServerName); 
+   server->ConstructL(KServerName);
+   CleanupStack::Pop(server);
+   return server;
+}
+
+// EKA2 much simpler
+// Just an E32Main and a MainL()
+LOCAL_C void MainL()
+/**
+ * Much simpler, uses the new Rendezvous() call to sync with the client
+ */
+{
+   // Leave the hooks in for platform security
+#if (defined __DATA_CAGING__)
+   RProcess().DataCaging(RProcess::EDataCagingOn);
+   RProcess().SecureApi(RProcess::ESecureApiOn);
+#endif
+   CActiveScheduler* sched=NULL;
+   sched=new(ELeave) CActiveScheduler;
+   CActiveScheduler::Install(sched);
+   // server name
+   CPaddingServer* server = NULL;
+   // Create the CTestServer derived server
+   // server name
+   TRAPD(err,server = CPaddingServer::NewL());
+   if(!err)
+   {
+      // Sync with the client and enter the active scheduler
+      RProcess::Rendezvous(KErrNone);
+      sched->Start();
+   }
+   delete server;
+   delete sched;
+}
+
+// Only a DLL on emulator for typhoon and earlier
+
+GLDEF_C TInt E32Main()
+/**
+ * @return - Standard Epoc error code on exit
+ */
+{
+   CTrapCleanup* cleanup = CTrapCleanup::New();
+   if(cleanup == NULL)
+   {
+      return KErrNoMemory;
+   }
+   TRAP_IGNORE(MainL());
+   delete cleanup;
+   return KErrNone;
+}
+
+// Create a thread in the calling process
+// Emulator typhoon and earlier
+
+CTestStep* CPaddingServer::CreateTestStep(const TDesC& aStepName)
+/**
+ * @return - A CTestStep derived instance
+ * Implementation of CTestServer pure virtual
+ */
+{
+   CTestStep* testStep = NULL;
+   // __EDIT_ME__ - Create your own test steps here
+   // This server creates just one step but create as many as you want
+   // They are created "just in time" when the worker thread is created
+
+   if (aStepName == KPadNone)
+      testStep = new (ELeave) CTestPadNone();
+   else if (aStepName == KUnpadNone)
+      testStep = new (ELeave) CTestUnpadNone();
+   else if (aStepName == KPadSSLv3)
+      testStep = new (ELeave) CTestPadSSLv3();
+   else if (aStepName == KUnpadSSLv3)
+      testStep = new (ELeave) CTestUnpadSSLv3();
+   else if (aStepName == KPadPKCS1)
+      testStep = new (ELeave) CTestPadPKCS1();
+   else if (aStepName == KUnpadPKCS1)
+      testStep = new (ELeave) CTestUnpadPKCS1();
+   else if (aStepName == KPadPKCS7)
+      testStep = new (ELeave) CTestPadPKCS7();
+   else if (aStepName == KUnpadPKCS7)
+      testStep = new (ELeave) CTestUnpadPKCS7();
+   else if (aStepName == KUnpadCorruptPKCS7)
+      testStep = new (ELeave) CTestUnpadCorruptPKCS7(); 
+   else if (aStepName == KPaddingCorruptPKCS7)
+   	  testStep = new (ELeave) CTestPaddingCorruptPKCS7();
+   return testStep;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tpadding/tpaddingServer.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,36 @@
+/*
+* Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* PaddingServer.h
+*
+*/
+
+
+
+#if (!defined __PADDING_SERVER_H__)
+#define __PADDING_SERVER_H__
+#include <test/testexecuteserverbase.h>
+
+class CPaddingServer : public CTestServer
+{
+  public:
+   static CPaddingServer* NewL();
+   virtual CTestStep* CreateTestStep(const TDesC& aStepName);
+   RFs& Fs(){return iFs;};
+   
+  private:
+   RFs iFs;
+};
+#endif
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tpadding/tpaddingTestSteps.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,41 @@
+/*
+* Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include "tpaddingTestSteps.h"
+
+CPaddingStep::CPaddingStep()
+{
+
+}
+
+CPaddingStep::~CPaddingStep()
+{
+
+}
+
+TVerdict CPaddingStep::doTestStepPreambleL()
+{
+   return TestStepResult();
+   
+}
+
+TVerdict CPaddingStep::doTestStepPostambleL()
+{
+   return TestStepResult();
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tpadding/tpaddingTestSteps.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,34 @@
+/*
+* Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#ifndef _TPADDINGTESTSTEPS_H_
+#define _TPADDINGTESTSTEPS_H_
+
+#include <test/testexecutestepbase.h>
+
+// Base class for all padding tests.
+class CPaddingStep : public CTestStep
+{
+   public:
+      CPaddingStep();
+      ~CPaddingStep();
+      virtual TVerdict doTestStepPreambleL();
+      virtual TVerdict doTestStepPostambleL();
+};
+
+#endif
Binary file crypto/weakcrypto/test/tpbe/Data/pkcs12-first.dat has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tpbe/Data/pkcs5-orig.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,1 @@
+"SALT4567IBIV23456789abcdef
\ No newline at end of file
Binary file crypto/weakcrypto/test/tpbe/Data/strong.dat has changed
Binary file crypto/weakcrypto/test/tpbe/Data/weak.dat has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tpbe/scripts/tpbetests_v2.txt	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,3354 @@
+
+// Copyright (C) 2005 - 2006 Symbian Ltd. All Rights Reserved
+
+
+<action>
+	<actionname>Element test case 1 with explicit kdf, salt len and iterations, ECipherRC2_CBC_128_16</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<cipher>ECipherRC2_CBC_128_16</cipher>
+		<kdf>PKCS#5</kdf>
+		<salt_len_bytes>16</salt_len_bytes>
+		<iter_count>1000</iter_count>
+		<element>
+			<passwd>password</passwd>
+			<input>This is what I want to encrypt</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Element test case 1, ECipherRC2_CBC_128_16</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<cipher>ECipherRC2_CBC_128_16</cipher>
+		<element>
+			<passwd>password</passwd>
+			<input>This is what I want to encrypt</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Element test case 2, ECipherRC2_CBC_128_16</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<cipher>ECipherRC2_CBC_128_16</cipher>
+		<element>
+			<passwd>password</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Element test case 3, ECipherRC2_CBC_128_16</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<cipher>ECipherRC2_CBC_128_16</cipher>
+		<element>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 1, ECipherRC2_CBC_128_16</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<cipher>ECipherRC2_CBC_128_16</cipher>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 1, explicit kdf, salt len, iter count, ECipherRC2_CBC_128_16</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<cipher>ECipherRC2_CBC_128_16</cipher>
+		<kdf>PKCS#5</kdf>
+		<salt_len_bytes>16</salt_len_bytes>
+		<iter_count>1000</iter_count>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 2 -- 1 byte input, ECipherRC2_CBC_128_16</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<cipher>ECipherRC2_CBC_128_16</cipher>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>B</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 3 -- 8 byte input, ECipherRC2_CBC_128_16</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<cipher>ECipherRC2_CBC_128_16</cipher>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>ZYXWUTSR</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 4 -- 1 byte password, ECipherRC2_CBC_128_16</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<cipher>ECipherRC2_CBC_128_16</cipher>
+		<set>
+			<passwd>m</passwd>
+			<input>ZYXWUTSR</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 4 -- 0 byte password, ECipherRC2_CBC_128_16</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<cipher>ECipherRC2_CBC_128_16</cipher>
+		<set>
+			<passwd></passwd>
+			<input>ZYXWUTSR</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 4 -- 0 byte password 0 byte input, ECipherRC2_CBC_128_16</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<cipher>ECipherRC2_CBC_128_16</cipher>
+		<set>
+			<passwd></passwd>
+			<input></input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+///////////////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+<action>
+	<actionname>Element test case 1, ECipherRC2_CBC_40_16</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<cipher>ECipherRC2_CBC_40_16</cipher>
+		<element>
+			<passwd>password</passwd>
+			<input>This is what I want to encrypt</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Element test case 2, ECipherRC2_CBC_40_16</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<cipher>ECipherRC2_CBC_40_16</cipher>
+		<element>
+			<passwd>password</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Element test case 3, ECipherRC2_CBC_40_16</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<cipher>ECipherRC2_CBC_40_16</cipher>
+		<element>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 1, ECipherRC2_CBC_40_16</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<cipher>ECipherRC2_CBC_40_16</cipher>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 2 -- 1 byte input, ECipherRC2_CBC_40_16</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<cipher>ECipherRC2_CBC_40_16</cipher>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>B</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 3 -- 8 byte input, ECipherRC2_CBC_40_16</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<cipher>ECipherRC2_CBC_40_16</cipher>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>ZYXWUTSR</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 4 -- 1 byte password, ECipherRC2_CBC_40_16</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<cipher>ECipherRC2_CBC_40_16</cipher>
+		<set>
+			<passwd>m</passwd>
+			<input>ZYXWUTSR</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 4 -- 0 byte password, ECipherRC2_CBC_40_16</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<cipher>ECipherRC2_CBC_40_16</cipher>
+		<set>
+			<passwd></passwd>
+			<input>ZYXWUTSR</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 4 -- 0 byte password 0 byte input, ECipherRC2_CBC_40_16</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<cipher>ECipherRC2_CBC_40_16</cipher>
+		<set>
+			<passwd></passwd>
+			<input></input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+///////////////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+<action>
+	<actionname>Element test case 1, ECipherRC2_CBC_128</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<cipher>ECipherRC2_CBC_128</cipher>
+		<element>
+			<passwd>password</passwd>
+			<input>This is what I want to encrypt</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Element test case 2, ECipherRC2_CBC_128</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<cipher>ECipherRC2_CBC_128</cipher>
+		<element>
+			<passwd>password</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Element test case 3, ECipherRC2_CBC_128</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<cipher>ECipherRC2_CBC_128</cipher>
+		<element>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 1, ECipherRC2_CBC_128</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<cipher>ECipherRC2_CBC_128</cipher>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 2 -- 1 byte input, ECipherRC2_CBC_128</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<cipher>ECipherRC2_CBC_128</cipher>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>B</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 3 -- 8 byte input, ECipherRC2_CBC_128</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<cipher>ECipherRC2_CBC_128</cipher>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>ZYXWUTSR</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 4 -- 1 byte password, ECipherRC2_CBC_128</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<cipher>ECipherRC2_CBC_128</cipher>
+		<set>
+			<passwd>m</passwd>
+			<input>ZYXWUTSR</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 4 -- 0 byte password, ECipherRC2_CBC_128</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<cipher>ECipherRC2_CBC_128</cipher>
+		<set>
+			<passwd></passwd>
+			<input>ZYXWUTSR</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 4 -- 0 byte password 0 byte input, ECipherRC2_CBC_128</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<cipher>ECipherRC2_CBC_128</cipher>
+		<set>
+			<passwd></passwd>
+			<input></input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+///////////////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+<action>
+	<actionname>Element test case 1, ECipherRC2_CBC_40</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<cipher>ECipherRC2_CBC_40</cipher>
+		<element>
+			<passwd>password</passwd>
+			<input>This is what I want to encrypt</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Element test case 2, ECipherRC2_CBC_40</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<cipher>ECipherRC2_CBC_40</cipher>
+		<element>
+			<passwd>password</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Element test case 3, ECipherRC2_CBC_40</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<cipher>ECipherRC2_CBC_40</cipher>
+		<element>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 1, ECipherRC2_CBC_40</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<cipher>ECipherRC2_CBC_40</cipher>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 2 -- 1 byte input, ECipherRC2_CBC_40</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<cipher>ECipherRC2_CBC_40</cipher>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>B</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 3 -- 8 byte input, ECipherRC2_CBC_40</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<cipher>ECipherRC2_CBC_40</cipher>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>ZYXWUTSR</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 4 -- 1 byte password, ECipherRC2_CBC_40</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<cipher>ECipherRC2_CBC_40</cipher>
+		<set>
+			<passwd>m</passwd>
+			<input>ZYXWUTSR</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 4 -- 0 byte password, ECipherRC2_CBC_40</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<cipher>ECipherRC2_CBC_40</cipher>
+		<set>
+			<passwd></passwd>
+			<input>ZYXWUTSR</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 4 -- 0 byte password 0 byte input, ECipherRC2_CBC_40</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<cipher>ECipherRC2_CBC_40</cipher>
+		<set>
+			<passwd></passwd>
+			<input></input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+///////////////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+<action>
+	<actionname>Element test case 1, ECipher3DES_CBC</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<cipher>ECipher3DES_CBC</cipher>
+		<element>
+			<passwd>password</passwd>
+			<input>This is what I want to encrypt</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Element test case 2, ECipher3DES_CBC</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<cipher>ECipher3DES_CBC</cipher>
+		<element>
+			<passwd>password</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Element test case 3, ECipher3DES_CBC</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<cipher>ECipher3DES_CBC</cipher>
+		<element>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 1, ECipher3DES_CBC</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<cipher>ECipher3DES_CBC</cipher>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 2 -- 1 byte input, ECipher3DES_CBC</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<cipher>ECipher3DES_CBC</cipher>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>B</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 3 -- 8 byte input, ECipher3DES_CBC</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<cipher>ECipher3DES_CBC</cipher>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>ZYXWUTSR</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 4 -- 1 byte password, ECipher3DES_CBC</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<cipher>ECipher3DES_CBC</cipher>
+		<set>
+			<passwd>m</passwd>
+			<input>ZYXWUTSR</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 4 -- 0 byte password, ECipher3DES_CBC</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<cipher>ECipher3DES_CBC</cipher>
+		<set>
+			<passwd></passwd>
+			<input>ZYXWUTSR</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 4 -- 0 byte password 0 byte input, ECipher3DES_CBC</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<cipher>ECipher3DES_CBC</cipher>
+		<set>
+			<passwd></passwd>
+			<input></input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+///////////////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+<action>
+	<actionname>Element test case 1, ECipherAES_CBC_256</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<cipher>ECipherAES_CBC_256</cipher>
+		<element>
+			<passwd>password</passwd>
+			<input>This is what I want to encrypt</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Element test case 2, ECipherAES_CBC_256</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<cipher>ECipherAES_CBC_256</cipher>
+		<element>
+			<passwd>password</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Element test case 3, ECipherAES_CBC_256</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<cipher>ECipherAES_CBC_256</cipher>
+		<element>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 1, ECipherAES_CBC_256</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<cipher>ECipherAES_CBC_256</cipher>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 2 -- 1 byte input, ECipherAES_CBC_256</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<cipher>ECipherAES_CBC_256</cipher>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>B</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 3 -- 8 byte input, ECipherAES_CBC_256</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<cipher>ECipherAES_CBC_256</cipher>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>ZYXWUTSR</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 4 -- 1 byte password, ECipherAES_CBC_256</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<cipher>ECipherAES_CBC_256</cipher>
+		<set>
+			<passwd>m</passwd>
+			<input>ZYXWUTSR</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 4 -- 0 byte password, ECipherAES_CBC_256</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<cipher>ECipherAES_CBC_256</cipher>
+		<set>
+			<passwd></passwd>
+			<input>ZYXWUTSR</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 4 -- 0 byte password 0 byte input, ECipherAES_CBC_256</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<cipher>ECipherAES_CBC_256</cipher>
+		<set>
+			<passwd></passwd>
+			<input></input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+///////////////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+<action>
+	<actionname>Element test case 1, ECipherAES_CBC_192</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<cipher>ECipherAES_CBC_192</cipher>
+		<element>
+			<passwd>password</passwd>
+			<input>This is what I want to encrypt</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Element test case 2, ECipherAES_CBC_192</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<cipher>ECipherAES_CBC_192</cipher>
+		<element>
+			<passwd>password</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Element test case 3, ECipherAES_CBC_192</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<cipher>ECipherAES_CBC_192</cipher>
+		<element>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 1, ECipherAES_CBC_192</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<cipher>ECipherAES_CBC_192</cipher>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 2 -- 1 byte input, ECipherAES_CBC_192</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<cipher>ECipherAES_CBC_192</cipher>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>B</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 3 -- 8 byte input, ECipherAES_CBC_192</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<cipher>ECipherAES_CBC_192</cipher>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>ZYXWUTSR</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 4 -- 1 byte password, ECipherAES_CBC_192</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<cipher>ECipherAES_CBC_192</cipher>
+		<set>
+			<passwd>m</passwd>
+			<input>ZYXWUTSR</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 4 -- 0 byte password, ECipherAES_CBC_192</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<cipher>ECipherAES_CBC_192</cipher>
+		<set>
+			<passwd></passwd>
+			<input>ZYXWUTSR</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 4 -- 0 byte password 0 byte input, ECipherAES_CBC_192</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<cipher>ECipherAES_CBC_192</cipher>
+		<set>
+			<passwd></passwd>
+			<input></input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+///////////////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+
+<action>
+	<actionname>Element test case 1, ECipherAES_CBC_128</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<cipher>ECipherAES_CBC_128</cipher>
+		<element>
+			<passwd>password</passwd>
+			<input>This is what I want to encrypt</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Element test case 2, ECipherAES_CBC_128</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<cipher>ECipherAES_CBC_128</cipher>
+		<element>
+			<passwd>password</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Element test case 3, ECipherAES_CBC_128</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<cipher>ECipherAES_CBC_128</cipher>
+		<element>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 1, ECipherAES_CBC_128</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<cipher>ECipherAES_CBC_128</cipher>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 2 -- 1 byte input, ECipherAES_CBC_128</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<cipher>ECipherAES_CBC_128</cipher>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>B</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 3 -- 8 byte input, ECipherAES_CBC_128</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<cipher>ECipherAES_CBC_128</cipher>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>ZYXWUTSR</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 4 -- 1 byte password, ECipherAES_CBC_128</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<cipher>ECipherAES_CBC_128</cipher>
+		<set>
+			<passwd>m</passwd>
+			<input>ZYXWUTSR</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 4 -- 0 byte password, ECipherAES_CBC_128</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<cipher>ECipherAES_CBC_128</cipher>
+		<set>
+			<passwd></passwd>
+			<input>ZYXWUTSR</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 4 -- 0 byte password 0 byte input, ECipherAES_CBC_128</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<cipher>ECipherAES_CBC_128</cipher>
+		<set>
+			<passwd></passwd>
+			<input></input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+///////////////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+
+// Start of Permanent File Store PBE testing between weak and strong crypto
+<action>
+	<actionname>Write encrypted data to a PFS named according to crypto strength</actionname>
+	<actiontype>WritePFS</actiontype>
+	<actionbody>
+		<writepfs>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</writepfs>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Decrypting weak crypto file</actionname>
+	<actiontype>ReadPFS</actiontype>
+	<actionbody>
+		<readpfs>
+			<strength>weak</strength>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</readpfs>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Decrypting strong crypto file</actionname>
+	<actiontype>ReadPFS</actiontype>
+	<actionbody>
+		<readpfs>
+			<strength>strong</strength>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</readpfs>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+//Start of OOM testing
+<action>
+    <actionname>OOM start</actionname>
+    <actiontype>startmemfailure</actiontype>
+    <actionbody></actionbody>
+    <actionresult>
+        <return>KErrNone</return>
+    </actionresult>
+</action>
+<action>
+	<actionname>Element test case 2</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<element>
+			<passwd>password</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 1</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+    <actionname>OOM end</actionname>
+    <actiontype>stopmemfailure</actiontype>
+    <actionbody></actionbody>
+    <actionresult>
+        <return>KErrNone</return>
+    </actionresult>
+</action>
+
+
+// =======================================================================
+// PKCS#12 tests
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Element test case 1, ECipherRC2_CBC_128_16</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherRC2_CBC_128_16</cipher>
+		<element>
+			<passwd>password</passwd>
+			<input>This is what I want to encrypt</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Element test case 2, ECipherRC2_CBC_128_16</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherRC2_CBC_128_16</cipher>
+		<element>
+			<passwd>password</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Element test case 3, ECipherRC2_CBC_128_16</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherRC2_CBC_128_16</cipher>
+		<element>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 1, ECipherRC2_CBC_128_16</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherRC2_CBC_128_16</cipher>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#5 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 1, explicit kdf, salt len, iter count, ECipherRC2_CBC_128_16</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherRC2_CBC_128_16</cipher>
+		<kdf>PKCS#5</kdf>
+		<salt_len_bytes>16</salt_len_bytes>
+		<iter_count>1000</iter_count>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 2 -- 1 byte input, ECipherRC2_CBC_128_16</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherRC2_CBC_128_16</cipher>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>B</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 3 -- 8 byte input, ECipherRC2_CBC_128_16</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherRC2_CBC_128_16</cipher>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>ZYXWUTSR</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 4 -- 1 byte password, ECipherRC2_CBC_128_16</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherRC2_CBC_128_16</cipher>
+		<set>
+			<passwd>m</passwd>
+			<input>ZYXWUTSR</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 4 -- 0 byte password, ECipherRC2_CBC_128_16</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherRC2_CBC_128_16</cipher>
+		<set>
+			<passwd></passwd>
+			<input>ZYXWUTSR</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 4 -- 0 byte password 0 byte input, ECipherRC2_CBC_128_16</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherRC2_CBC_128_16</cipher>
+		<set>
+			<passwd></passwd>
+			<input></input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+///////////////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Element test case 1, ECipherRC2_CBC_40_16</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherRC2_CBC_40_16</cipher>
+		<element>
+			<passwd>password</passwd>
+			<input>This is what I want to encrypt</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Element test case 2, ECipherRC2_CBC_40_16</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherRC2_CBC_40_16</cipher>
+		<element>
+			<passwd>password</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Element test case 3, ECipherRC2_CBC_40_16</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherRC2_CBC_40_16</cipher>
+		<element>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 1, ECipherRC2_CBC_40_16</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherRC2_CBC_40_16</cipher>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 2 -- 1 byte input, ECipherRC2_CBC_40_16</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherRC2_CBC_40_16</cipher>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>B</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 3 -- 8 byte input, ECipherRC2_CBC_40_16</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherRC2_CBC_40_16</cipher>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>ZYXWUTSR</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 4 -- 1 byte password, ECipherRC2_CBC_40_16</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherRC2_CBC_40_16</cipher>
+		<set>
+			<passwd>m</passwd>
+			<input>ZYXWUTSR</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 4 -- 0 byte password, ECipherRC2_CBC_40_16</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherRC2_CBC_40_16</cipher>
+		<set>
+			<passwd></passwd>
+			<input>ZYXWUTSR</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 4 -- 0 byte password 0 byte input, ECipherRC2_CBC_40_16</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherRC2_CBC_40_16</cipher>
+		<set>
+			<passwd></passwd>
+			<input></input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+///////////////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Element test case 1, ECipherRC2_CBC_128</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherRC2_CBC_128</cipher>
+		<element>
+			<passwd>password</passwd>
+			<input>This is what I want to encrypt</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Element test case 2, ECipherRC2_CBC_128</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherRC2_CBC_128</cipher>
+		<element>
+			<passwd>password</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Element test case 3, ECipherRC2_CBC_128</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherRC2_CBC_128</cipher>
+		<element>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 1, ECipherRC2_CBC_128</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherRC2_CBC_128</cipher>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 2 -- 1 byte input, ECipherRC2_CBC_128</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherRC2_CBC_128</cipher>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>B</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 3 -- 8 byte input, ECipherRC2_CBC_128</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherRC2_CBC_128</cipher>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>ZYXWUTSR</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 4 -- 1 byte password, ECipherRC2_CBC_128</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherRC2_CBC_128</cipher>
+		<set>
+			<passwd>m</passwd>
+			<input>ZYXWUTSR</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 4 -- 0 byte password, ECipherRC2_CBC_128</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherRC2_CBC_128</cipher>
+		<set>
+			<passwd></passwd>
+			<input>ZYXWUTSR</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 4 -- 0 byte password 0 byte input, ECipherRC2_CBC_128</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherRC2_CBC_128</cipher>
+		<set>
+			<passwd></passwd>
+			<input></input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+///////////////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Element test case 1, ECipherRC2_CBC_40</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherRC2_CBC_40</cipher>
+		<element>
+			<passwd>password</passwd>
+			<input>This is what I want to encrypt</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Element test case 2, ECipherRC2_CBC_40</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherRC2_CBC_40</cipher>
+		<element>
+			<passwd>password</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Element test case 3, ECipherRC2_CBC_40</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherRC2_CBC_40</cipher>
+		<element>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 1, ECipherRC2_CBC_40</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherRC2_CBC_40</cipher>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 2 -- 1 byte input, ECipherRC2_CBC_40</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherRC2_CBC_40</cipher>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>B</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 3 -- 8 byte input, ECipherRC2_CBC_40</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherRC2_CBC_40</cipher>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>ZYXWUTSR</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 4 -- 1 byte password, ECipherRC2_CBC_40</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherRC2_CBC_40</cipher>
+		<set>
+			<passwd>m</passwd>
+			<input>ZYXWUTSR</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 4 -- 0 byte password, ECipherRC2_CBC_40</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherRC2_CBC_40</cipher>
+		<set>
+			<passwd></passwd>
+			<input>ZYXWUTSR</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 4 -- 0 byte password 0 byte input, ECipherRC2_CBC_40</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherRC2_CBC_40</cipher>
+		<set>
+			<passwd></passwd>
+			<input></input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+///////////////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Element test case 1, ECipher3DES_CBC</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipher3DES_CBC</cipher>
+		<element>
+			<passwd>password</passwd>
+			<input>This is what I want to encrypt</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Element test case 2, ECipher3DES_CBC</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipher3DES_CBC</cipher>
+		<element>
+			<passwd>password</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Element test case 3, ECipher3DES_CBC</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipher3DES_CBC</cipher>
+		<element>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 1, ECipher3DES_CBC</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipher3DES_CBC</cipher>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 2 -- 1 byte input, ECipher3DES_CBC</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipher3DES_CBC</cipher>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>B</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 3 -- 8 byte input, ECipher3DES_CBC</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipher3DES_CBC</cipher>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>ZYXWUTSR</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 4 -- 1 byte password, ECipher3DES_CBC</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipher3DES_CBC</cipher>
+		<set>
+			<passwd>m</passwd>
+			<input>ZYXWUTSR</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 4 -- 0 byte password, ECipher3DES_CBC</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipher3DES_CBC</cipher>
+		<set>
+			<passwd></passwd>
+			<input>ZYXWUTSR</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 4 -- 0 byte password 0 byte input, ECipher3DES_CBC</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipher3DES_CBC</cipher>
+		<set>
+			<passwd></passwd>
+			<input></input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+///////////////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Element test case 1, ECipherAES_CBC_256</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherAES_CBC_256</cipher>
+		<element>
+			<passwd>password</passwd>
+			<input>This is what I want to encrypt</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Element test case 2, ECipherAES_CBC_256</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherAES_CBC_256</cipher>
+		<element>
+			<passwd>password</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Element test case 3, ECipherAES_CBC_256</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherAES_CBC_256</cipher>
+		<element>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 1, ECipherAES_CBC_256</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherAES_CBC_256</cipher>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 2 -- 1 byte input, ECipherAES_CBC_256</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherAES_CBC_256</cipher>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>B</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 3 -- 8 byte input, ECipherAES_CBC_256</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherAES_CBC_256</cipher>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>ZYXWUTSR</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 4 -- 1 byte password, ECipherAES_CBC_256</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherAES_CBC_256</cipher>
+		<set>
+			<passwd>m</passwd>
+			<input>ZYXWUTSR</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 4 -- 0 byte password, ECipherAES_CBC_256</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherAES_CBC_256</cipher>
+		<set>
+			<passwd></passwd>
+			<input>ZYXWUTSR</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 4 -- 0 byte password 0 byte input, ECipherAES_CBC_256</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherAES_CBC_256</cipher>
+		<set>
+			<passwd></passwd>
+			<input></input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+///////////////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Element test case 1, ECipherAES_CBC_192</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherAES_CBC_192</cipher>
+		<element>
+			<passwd>password</passwd>
+			<input>This is what I want to encrypt</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Element test case 2, ECipherAES_CBC_192</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherAES_CBC_192</cipher>
+		<element>
+			<passwd>password</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Element test case 3, ECipherAES_CBC_192</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherAES_CBC_192</cipher>
+		<element>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 1, ECipherAES_CBC_192</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherAES_CBC_192</cipher>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 2 -- 1 byte input, ECipherAES_CBC_192</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherAES_CBC_192</cipher>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>B</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 3 -- 8 byte input, ECipherAES_CBC_192</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherAES_CBC_192</cipher>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>ZYXWUTSR</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 4 -- 1 byte password, ECipherAES_CBC_192</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherAES_CBC_192</cipher>
+		<set>
+			<passwd>m</passwd>
+			<input>ZYXWUTSR</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 4 -- 0 byte password, ECipherAES_CBC_192</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherAES_CBC_192</cipher>
+		<set>
+			<passwd></passwd>
+			<input>ZYXWUTSR</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 4 -- 0 byte password 0 byte input, ECipherAES_CBC_192</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherAES_CBC_192</cipher>
+		<set>
+			<passwd></passwd>
+			<input></input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+///////////////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////
+
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Element test case 1, ECipherAES_CBC_128</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherAES_CBC_128</cipher>
+		<element>
+			<passwd>password</passwd>
+			<input>This is what I want to encrypt</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Element test case 2, ECipherAES_CBC_128</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherAES_CBC_128</cipher>
+		<element>
+			<passwd>password</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Element test case 3, ECipherAES_CBC_128</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherAES_CBC_128</cipher>
+		<element>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 1, ECipherAES_CBC_128</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherAES_CBC_128</cipher>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 2 -- 1 byte input, ECipherAES_CBC_128</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherAES_CBC_128</cipher>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>B</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 3 -- 8 byte input, ECipherAES_CBC_128</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherAES_CBC_128</cipher>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>ZYXWUTSR</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 4 -- 1 byte password, ECipherAES_CBC_128</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherAES_CBC_128</cipher>
+		<set>
+			<passwd>m</passwd>
+			<input>ZYXWUTSR</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 4 -- 0 byte password, ECipherAES_CBC_128</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherAES_CBC_128</cipher>
+		<set>
+			<passwd></passwd>
+			<input>ZYXWUTSR</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 4 -- 0 byte password 0 byte input, ECipherAES_CBC_128</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherAES_CBC_128</cipher>
+		<set>
+			<passwd></passwd>
+			<input></input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+////////////////////////////////////////////////////////////////////
+// PKCS12 tests using PKCS#12 PBE algorithm with PKCS#12 KDF function. 
+//  ECipherRC2_CBC_128_16, ECipher3DES_CBC tests defined above.
+//  "Set" tests are not supported for stream cipher ECipherARC4_40,ECipherARC4_128
+<action>
+	<actionname>Element test case 1, ECipherRC2_CBC_40_5</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherRC2_CBC_40_5</cipher>
+		<element>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Element test case 2, ECipherARC4_128</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherARC4_128</cipher>
+		<element>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Element test case 3, ECipherARC4_40</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherARC4_40</cipher>
+		<element>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Element test case 4, ECipher2Key3DES_CBC</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipher2Key3DES_CBC</cipher>
+		<element>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 5, ECipherRC2_CBC_40_5</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherRC2_CBC_40_5</cipher>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 9, ECipher2Key3DES_CBC</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipher2Key3DES_CBC</cipher>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+/////////////////////////////////////////
+
+// Run selected PKCS#12 tests in OOM
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+    <actionname>OOM start</actionname>
+    <actiontype>startmemfailure</actiontype>
+    <actionbody></actionbody>
+    <actionresult>
+        <return>KErrNone</return>
+    </actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Element test case 1, ECipherRC2_CBC_128_16</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherRC2_CBC_128_16</cipher>
+		<element>
+			<passwd>password</passwd>
+			<input>This is what I want to encrypt</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Element test case 3, ECipherRC2_CBC_40_16</actionname>
+	<actiontype>Element</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherRC2_CBC_40_16</cipher>
+		<element>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>This is what I want to encrypt but this time I'm going to make it as long is as reasonable for me to type such that it is still rather long and can test some of those types of features of the password based encryption system.  That was becoming a run-on sentence... phew.  I wonder how much it will matter to the program if I just carry on typing random spurious thoughts like this.  The plan is that it won't make a single iota of difference.  But we'll see!</input>
+		</element>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>Test of Set encryption, password changing, exporting importing Test 2 -- 1 byte input, ECipherAES_CBC_128</actionname>
+	<actiontype>Set</actiontype>
+	<actionbody>
+		<kdf>PKCS#12</kdf>
+		<salt_len_bytes>20</salt_len_bytes>
+		<iter_count>1024</iter_count>
+		<cipher>ECipherAES_CBC_128</cipher>
+		<set>
+			<passwd>a90lkjasjk3lk32kdf89</passwd>
+			<input>B</input>
+		</set>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+//! @SYMTestCaseID CIT_PREQ1054_02
+//! @SYMTestCaseDesc Correctly encrypt and decrypt data using key generated with PKCS#12 KDF.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Encrypts are decrypts the specified data using the PKCS#12-generated key.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>OOM end</actionname>
+	<actiontype>stopmemfailure</actiontype>
+	<actionbody></actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
+<action>
+	<actionname>Compatibility old PKCS#5</actionname>
+	<actiontype>ExternPbeParams</actiontype>
+	<actionbody>
+		<orig-filename>c:\tpbe\pkcs5-orig.dat</orig-filename>
+		<expected-cipher>2</expected-cipher>
+		<expected-salt>53414c5434353637</expected-salt>
+		<expected-iv>49563233343536373839616263646566</expected-iv>
+		<expected-iter-count>1234</expected-iter-count>
+		<expected-kdf>0</expected-kdf>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Data compatibility orig PKCS#12</actionname>
+	<actiontype>ExternPbeParams</actiontype>
+	<actionbody>
+		<orig-filename>c:\tpbe\pkcs12-first.dat</orig-filename>
+		<expected-cipher>2</expected-cipher>
+		<expected-salt>53414c5434353637</expected-salt>
+		<expected-iv>49563233343536373839616263646566</expected-iv>
+		<expected-iter-count>1234</expected-iter-count>
+		<expected-kdf>1</expected-kdf>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tpbe/tactionelement.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,347 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include <pbedata.h>
+#include <stdlib.h>
+#include <s32mem.h>
+#include <s32std.h>
+#include "tpbe.h"
+#include "tactionelement.h"
+#include "t_input.h"
+
+_LIT8(KElementStart, "<element>");
+_LIT8(KElementEnd, "</element>");
+
+CTestAction* CActionElement::NewL(RFs& aFs,
+									   CConsoleBase& aConsole,
+									   Output& aOut, 
+									   const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction* self = CActionElement::NewLC(aFs, aConsole,
+		aOut, aTestActionSpec);
+	CleanupStack::Pop();
+	return self;
+	}
+
+CTestAction* CActionElement::NewLC(RFs& aFs,
+										CConsoleBase& aConsole,
+										Output& aOut, 
+										const TTestActionSpec& aTestActionSpec)
+	{
+	CActionElement* self = new(ELeave) CActionElement(aFs, aConsole, aOut);
+	CleanupStack::PushL(self);
+	self->ConstructL(aTestActionSpec);
+	return self;
+	}
+
+CActionElement::~CActionElement()
+	{
+	delete iBody;
+	}
+
+CActionElement::CActionElement(RFs& aFs, 
+								 CConsoleBase& aConsole,
+								 Output& aOut)
+								 
+: CTestAction(aConsole, aOut), iFs(aFs)
+	{
+	}
+
+void CActionElement::ConstructL(const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction::ConstructL(aTestActionSpec);
+	iBody = HBufC8::NewL(aTestActionSpec.iActionBody.Length());
+	iBody->Des().Copy(aTestActionSpec.iActionBody);
+	
+	}
+
+void CActionElement::DoPerformPrerequisite(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+	TInt err = KErrNone;
+	TInt pos = 0;
+	TPtrC8 encryptElement = Input::ParseElement(*iBody, KElementStart,
+		KElementEnd, pos, err);
+
+	pos = 0;
+	TPtrC8 kdf = Input::ParseElement(*iBody, KKdfStart, KKdfEnd, pos, err);
+	if (err == KErrNone)
+		iKdf = kdf.AllocL();
+	
+	pos = 0;
+	TPtrC8 saltLenBytes = Input::ParseElement(*iBody, KSaltLenBytesStart, KSaltLenBytesEnd, pos, err);
+	if (err == KErrNone)
+		iSaltLenBytes = saltLenBytes.AllocL();
+	
+	pos = 0;
+	TPtrC8 iterCount = Input::ParseElement(*iBody, KIterCountStart, KIterCountEnd, pos, err);
+	if (err == KErrNone)
+		iIterCount = iterCount.AllocL();
+	
+	pos = 0;
+	TPtrC8 passwdTemp = Input::ParseElement(encryptElement, KPasswdStart, 
+		KPasswdEnd, pos, err);
+	iPasswd = HBufC::NewL(passwdTemp.Length());
+	TPtr16 passwdTemp3( iPasswd->Des());
+	passwdTemp3.Copy(passwdTemp);
+
+	pos = 0;
+	TPtrC8 inputTemp = Input::ParseElement(encryptElement, KInputStart, 
+		KInputEnd, pos, err);
+	iInput = HBufC8::NewL(inputTemp.Length());
+	*iInput = inputTemp;
+
+	TPtrC8 cipher = Input::ParseElement(*iBody, KCipherStart, KCipherEnd);
+	if (cipher.Compare(KECipherAES_CBC_128) == 0)
+	{
+	   iCipher = ECipherAES_CBC_128;
+	}
+	else if (cipher.Compare(KECipherAES_CBC_192) == 0)
+	{
+	   iCipher = ECipherAES_CBC_192;
+	}
+	else if (cipher.Compare(KECipherAES_CBC_256) == 0)
+	{
+	   iCipher = ECipherAES_CBC_256;
+	}
+	else if (cipher.Compare(KECipherDES_CBC) == 0)
+	{
+	   iCipher = ECipherDES_CBC;
+	}
+	else if (cipher.Compare(KECipher3DES_CBC) == 0)
+	{
+	   iCipher = ECipher3DES_CBC;
+	}
+	else if (cipher.Compare(KECipherRC2_CBC_40) == 0)
+	{
+	   iCipher = ECipherRC2_CBC_40;
+	}
+	else if (cipher.Compare(KECipherRC2_CBC_128) == 0)
+	{
+	   iCipher = ECipherRC2_CBC_128;
+	}
+	else if (cipher.Compare(KECipherRC2_CBC_40_16) == 0)
+	{
+	   iCipher = ECipherRC2_CBC_40_16;
+	}
+	else if (cipher.Compare(KECipherRC2_CBC_128_16) == 0)
+	{
+	   iCipher = ECipherRC2_CBC_128_16;
+	}
+	else if(cipher.Compare(KECipherARC4_128) == 0)
+	{
+		iCipher = ECipherARC4_128;
+	}
+	else if(cipher.Compare(KECipherARC4_40) == 0)
+	{
+		iCipher = ECipherARC4_40;
+	}
+	else if(cipher.Compare(KECipher2Key3DES_CBC) == 0)
+	{
+		iCipher = ECipher2Key3DES_CBC;
+	}
+	else if(cipher.Compare(KECipherRC2_CBC_40_5) == 0)
+	{
+		iCipher = ECipherRC2_CBC_40_5;
+	}
+	else
+	{
+	   iCipher = ECipherAES_CBC_128;
+	}
+	
+	User::RequestComplete(status, KErrNone);
+	iActionState = CTestAction::EAction;
+	}
+
+void CActionElement::DoPerformPostrequisite(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+	delete iPasswd;
+	delete iInput;
+	delete iKdf;
+	iKdf = 0;
+	delete iSaltLenBytes;
+	iSaltLenBytes = 0;
+	delete iIterCount;
+	iIterCount = 0;
+	
+	iFinished = ETrue;
+	User::RequestComplete(status, KErrNone);
+	}
+
+void CActionElement::DoReportAction(void)
+	{
+	}
+
+void CActionElement::DoCheckResult(TInt)
+	{
+
+	}
+
+void CActionElement::PerformAction(TRequestStatus& aStatus)
+	{
+	__UHEAP_MARK;
+	TRequestStatus* status = &aStatus;
+	iResult = EFalse;
+	HBufC8* pkcs12Pwd = 0;
+	
+	// default value is NULL to avoid RVCT warning
+	// C2874W: encryption may be used before being set
+	CPBEncryptElement* encryption = 0;
+	if (iKdf == 0)
+		{
+		CleanupStack::PushL(pkcs12Pwd);
+ 		encryption = CPBEncryptElement::NewLC(*iPasswd, iCipher);
+ 		}
+	else
+		{
+		// if supply KDF, must also supply salt len and iteration count
+		ASSERT(iSaltLenBytes != 0 && iIterCount != 0);
+		
+		CPBEncryptParms* ep = CPBEncryptParms::NewLC();
+		
+		ep->SetCipher(iCipher);
+		
+		TInt saltLenBytes;
+		TInt r = TLex8(*iSaltLenBytes).Val(saltLenBytes);
+		ASSERT(r == KErrNone);
+		ep->ResizeSaltL(saltLenBytes);
+		
+		TInt iterCount;
+		r = TLex8(*iIterCount).Val(iterCount);
+		ASSERT(r == KErrNone);
+		ep->SetIterations(iterCount);
+		
+		CleanupStack::PushL((CBase*)0);
+		CleanupStack::Pop((CBase*)0);
+
+		if (*iKdf == _L8("PKCS#5"))
+			{
+			ep->SetKdf(CPBEncryptParms::EKdfPkcs5);
+			encryption = CPBEncryptElement::NewL(*iPasswd, *ep);
+			}
+		else if (*iKdf == _L8("PKCS#12"))
+			{			
+			pkcs12Pwd = PKCS12KDF::GeneratePasswordLC(*iPasswd);
+			ep->SetKdf(CPBEncryptParms::EKdfPkcs12);
+			encryption = CPBEncryptElement::NewL(*pkcs12Pwd, *ep);
+			CleanupStack::Pop(pkcs12Pwd);
+			}
+		else
+			User::Panic(_L("Unrec KDF"), 0);
+		
+		CleanupStack::PopAndDestroy(ep);
+		// encryption could leak here, but for reservation above
+		CleanupStack::PushL(pkcs12Pwd);
+		CleanupStack::PushL(encryption);
+		}
+
+	CPBEncryptor* encryptor = encryption->NewEncryptLC();
+
+	HBufC8* ciphertextTemp = HBufC8::NewLC(encryptor->MaxFinalOutputLength(iInput->Length())); 
+	TPtr8 ciphertext = ciphertextTemp->Des();	
+	encryptor->ProcessFinalL(*iInput, ciphertext);
+
+	//create a mem buffer store
+	CBufStore* store = CBufStore::NewLC(100);
+	RStoreWriteStream write;
+
+	//write the encryption data to a stream
+	TStreamId dataStreamId = write.CreateLC(*store);
+	encryption->EncryptionData().ExternalizeL(write);
+	write.CommitL();
+	CleanupStack::PopAndDestroy(); //CreateLC()
+
+	//prepare to read the stream back in
+	RStoreReadStream read;
+	read.OpenLC(*store, dataStreamId);
+
+	//read in Encryption Data
+	CPBEncryptionData* data = CPBEncryptionData::NewL(read);
+	CleanupStack::PopAndDestroy(); //OpenLC()
+	CleanupStack::PushL(data);
+
+	CPBEncryptElement* encryption1 =
+			(pkcs12Pwd == 0)
+	 	?	CPBEncryptElement::NewLC(*data, *iPasswd)
+	 	:	CPBEncryptElement::NewLC(*data, *pkcs12Pwd);
+
+	CPBDecryptor* decryptor = encryption1->NewDecryptLC();
+	HBufC8* plaintextTemp = HBufC8::NewLC(decryptor->MaxOutputLength(ciphertext.Size())); 
+	TPtr8 plaintext = plaintextTemp->Des();	
+	decryptor->Process(ciphertext, plaintext);
+
+	//this Mid call is due to get rid of the decrypted padding at the end
+	if(plaintext.Mid(0,iInput->Length()) == *iInput)
+		{
+		iResult = ETrue;			
+		}
+
+	CleanupStack::PopAndDestroy(5); //plaintextTemp,decryptor,encryption1,data,store
+	
+	CPBEncryptionData* data1 = CPBEncryptionData::NewLC(encryption->EncryptionData());
+	
+	CPBEncryptElement* encryption2 =
+			(pkcs12Pwd == 0)
+	 	?	CPBEncryptElement::NewLC(*data1, *iPasswd)
+	 	:	CPBEncryptElement::NewLC(*data1, *pkcs12Pwd);
+
+	CPBDecryptor* decryptor1 = encryption2->NewDecryptLC();
+	HBufC8* plaintextTemp2 = HBufC8::NewLC(decryptor1->MaxOutputLength(ciphertext.Size())); 
+	TPtr8 plaintext2 = plaintextTemp2->Des();	
+	decryptor1->Process(ciphertext, plaintext2);
+
+	//this Mid call is due to get rid of the decrypted padding at the end
+	if(!(plaintext2.Mid(0,iInput->Length()) == *iInput))
+		{
+		iResult = EFalse;			
+		}
+	
+	CleanupStack::PopAndDestroy(plaintextTemp2);
+	CleanupStack::PopAndDestroy(decryptor1);
+	CleanupStack::PopAndDestroy(encryption2);
+	CleanupStack::PopAndDestroy(data1);
+	CleanupStack::PopAndDestroy(ciphertextTemp);
+	CleanupStack::PopAndDestroy(encryptor);
+	CleanupStack::PopAndDestroy(encryption);
+	CleanupStack::PopAndDestroy(pkcs12Pwd);
+	
+	User::RequestComplete(status, KErrNone);
+	iActionState = CTestAction::EPostrequisite;
+	__UHEAP_MARKEND;
+	}
+
+void CActionElement::Hex(HBufC8& aString)
+    {
+    TPtr8 ptr=aString.Des();
+    if (aString.Length()%2)
+        {
+        ptr.SetLength(0);
+        return;
+        }
+    TInt i;
+    for (i=0;i<aString.Length();i+=2)
+        {
+        TUint8 tmp;
+        tmp=(TUint8)(aString[i]-(aString[i]>'9'?('A'-10):'0'));
+        tmp*=16;
+        tmp|=(TUint8)(aString[i+1]-(aString[i+1]>'9'?('A'-10):'0'));
+        ptr[i/2]=tmp;
+        }
+    ptr.SetLength(aString.Length()/2);
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tpbe/tactionelement.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,55 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#ifndef __TACTIONELEMENT_H__
+#define __TACTIONELEMENT_H__
+
+#include "t_testaction.h"
+#include <e32std.h>
+#include <pbe.h>
+
+class CActionElement : public CTestAction
+{
+public:
+	static CTestAction* NewL(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	static CTestAction* NewLC(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	virtual ~CActionElement();
+	virtual void DoPerformPrerequisite(TRequestStatus& aStatus);
+	virtual void DoPerformPostrequisite(TRequestStatus& aStatus);
+	virtual void PerformAction(TRequestStatus& aStatus);
+	virtual void DoReportAction(void);
+	virtual void DoCheckResult(TInt);
+
+private:
+	CActionElement(RFs& aFs, CConsoleBase& aConsole, Output& aOut);
+	void ConstructL(const TTestActionSpec& aTestActionSpec);
+	void Hex(HBufC8& string);
+
+	RFs& iFs;
+	HBufC8* iBody;
+	HBufC* iPasswd;
+	HBufC8* iInput;
+	TPBECipher iCipher;
+	HBufC8* iKdf;
+	HBufC8* iSaltLenBytes;
+	HBufC8* iIterCount;
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tpbe/tactionset.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,346 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include <pbedata.h>
+#include <stdlib.h>
+#include <s32mem.h>
+#include <s32std.h>
+#include "tpbe.h"
+#include "tactionset.h"
+#include "t_input.h"
+
+_LIT8(KSetStart, "<set>");
+_LIT8(KSetEnd, "</set>");
+
+CTestAction* CActionSet::NewL(RFs& aFs,
+									   CConsoleBase& aConsole,
+									   Output& aOut, 
+									   const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction* self = CActionSet::NewLC(aFs, aConsole,
+		aOut, aTestActionSpec);
+	CleanupStack::Pop();
+	return self;
+	}
+
+CTestAction* CActionSet::NewLC(RFs& aFs,
+										CConsoleBase& aConsole,
+										Output& aOut, 
+										const TTestActionSpec& aTestActionSpec)
+	{
+	CActionSet* self = new(ELeave) CActionSet(aFs, aConsole, aOut);
+	CleanupStack::PushL(self);
+	self->ConstructL(aTestActionSpec);
+	return self;
+	}
+
+CActionSet::~CActionSet()
+	{
+	delete iBody;
+	}
+
+CActionSet::CActionSet(RFs& aFs, 
+								 CConsoleBase& aConsole,
+								 Output& aOut)
+								 
+: CTestAction(aConsole, aOut), iFs(aFs)
+	{
+	}
+
+void CActionSet::ConstructL(const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction::ConstructL(aTestActionSpec);
+	iBody = HBufC8::NewL(aTestActionSpec.iActionBody.Length());
+	iBody->Des().Copy(aTestActionSpec.iActionBody);
+	
+	}
+
+void CActionSet::DoPerformPrerequisite(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+	TInt err = KErrNone;
+	TInt pos = 0;
+	TPtrC8 encryptElement = Input::ParseElement(*iBody, KSetStart,
+		KSetEnd, pos, err);
+	pos = 0;
+	TPtrC8 kdf = Input::ParseElement(*iBody, KKdfStart, KKdfEnd, pos, err);
+	if (err == KErrNone)
+		iKdf = kdf.AllocL();
+	
+	pos = 0;
+	TPtrC8 saltLenBytes = Input::ParseElement(*iBody, KSaltLenBytesStart, KSaltLenBytesEnd, pos, err);
+	if (err == KErrNone)
+		iSaltLenBytes = saltLenBytes.AllocL();
+	
+	pos = 0;
+	TPtrC8 iterCount = Input::ParseElement(*iBody, KIterCountStart, KIterCountEnd, pos, err);
+	if (err == KErrNone)
+		iIterCount = iterCount.AllocL();
+	
+	pos = 0;
+	TPtrC8 passwdTemp = Input::ParseElement(encryptElement, KPasswdStart, 
+		KPasswdEnd, pos, err);
+	iPasswd = HBufC::NewL(passwdTemp.Length());
+	TPtr16 passwdTemp3( iPasswd->Des());
+	passwdTemp3.Copy(passwdTemp);
+
+	pos = 0;
+	TPtrC8 inputTemp = Input::ParseElement(encryptElement, KInputStart, 
+		KInputEnd, pos, err);
+	iInput = HBufC8::NewL(inputTemp.Length());
+	*iInput = inputTemp;
+
+	TPtrC8 cipher = Input::ParseElement(*iBody, KCipherStart, KCipherEnd);
+	if (cipher.Compare(KECipherAES_CBC_128) == 0)
+	{
+	   iCipher = ECipherAES_CBC_128;
+	}
+	else if (cipher.Compare(KECipherAES_CBC_192) == 0)
+	{
+	   iCipher = ECipherAES_CBC_192;
+	}
+	else if (cipher.Compare(KECipherAES_CBC_256) == 0)
+	{
+	   iCipher = ECipherAES_CBC_256;
+	}
+	else if (cipher.Compare(KECipherDES_CBC) == 0)
+	{
+	   iCipher = ECipherDES_CBC;
+	}
+	else if (cipher.Compare(KECipher3DES_CBC) == 0)
+	{
+	   iCipher = ECipher3DES_CBC;
+	}
+	else if (cipher.Compare(KECipherRC2_CBC_40) == 0)
+	{
+	   iCipher = ECipherRC2_CBC_40;
+	}
+	else if (cipher.Compare(KECipherRC2_CBC_128) == 0)
+	{
+	   iCipher = ECipherRC2_CBC_128;
+	}
+	else if (cipher.Compare(KECipherRC2_CBC_40_16) == 0)
+	{
+	   iCipher = ECipherRC2_CBC_40_16;
+	}
+	else if (cipher.Compare(KECipherRC2_CBC_128_16) == 0)
+	{
+	   iCipher = ECipherRC2_CBC_128_16;
+	}
+	else if(cipher.Compare(KECipher2Key3DES_CBC) == 0)
+	{
+		iCipher = ECipher2Key3DES_CBC;
+	}
+	else if(cipher.Compare(KECipherRC2_CBC_40_5) == 0)
+	{
+		iCipher = ECipherRC2_CBC_40_5;
+	}	
+	else
+	{
+	   iCipher = ECipherAES_CBC_128; // Default value if the <cipher> tag is missing
+	}
+
+	User::RequestComplete(status, KErrNone);
+	iActionState = CTestAction::EAction;
+	}
+
+void CActionSet::DoPerformPostrequisite(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+	delete iPasswd;
+	delete iInput;
+	delete iKdf;
+	iKdf = 0;
+	delete iSaltLenBytes;
+	iSaltLenBytes = 0;
+	delete iIterCount;
+	iIterCount = 0;
+
+	iFinished = ETrue;
+	User::RequestComplete(status, KErrNone);
+	}
+
+void CActionSet::DoReportAction(void)
+	{
+	}
+
+void CActionSet::DoCheckResult(TInt)
+	{
+
+	}
+
+void CActionSet::PerformAction(TRequestStatus& aStatus)
+	{
+	__UHEAP_MARK;
+	TRequestStatus* status = &aStatus;
+	iResult = EFalse;
+	HBufC8* pkcs12Pwd = 0;
+	
+	// default value is NULL to avoid RVCT warning
+	// C2874W: set may be used before being set
+	CPBEncryptSet* set = 0;
+	if (iKdf == 0)
+		{
+		CleanupStack::PushL(pkcs12Pwd);
+ 		set = CPBEncryptSet::NewLC(*iPasswd, iCipher);
+ 		}
+	else
+		{
+		// if supply KDF, must also supply salt len and iteration count
+		ASSERT(iSaltLenBytes != 0 && iIterCount != 0);
+		
+		CPBEncryptParms* ep = CPBEncryptParms::NewLC();
+		
+		ep->SetCipher(iCipher);
+		
+		TInt saltLenBytes;
+		TInt r = TLex8(*iSaltLenBytes).Val(saltLenBytes);
+		ASSERT(r == KErrNone);
+		ep->ResizeSaltL(saltLenBytes);
+		
+		TInt iterCount;
+		r = TLex8(*iIterCount).Val(iterCount);
+		ASSERT(r == KErrNone);
+		ep->SetIterations(iterCount);
+		
+		CleanupStack::PushL((CBase*)0);
+		CleanupStack::Pop((CBase*)0);
+
+		if (*iKdf == _L8("PKCS#5"))
+			{
+			ep->SetKdf(CPBEncryptParms::EKdfPkcs5);
+			set = CPBEncryptSet::NewL(*iPasswd, *ep);
+			}
+		else if (*iKdf == _L8("PKCS#12"))
+			{
+			pkcs12Pwd = PKCS12KDF::GeneratePasswordLC(*iPasswd);
+			ep->SetKdf(CPBEncryptParms::EKdfPkcs12);
+			set = CPBEncryptSet::NewL(*pkcs12Pwd, *ep);
+			CleanupStack::Pop(pkcs12Pwd);
+			}
+		else
+			User::Panic(_L("Unrec KDF"), 0);
+		
+		CleanupStack::PopAndDestroy(ep);
+		// encryption could leak here, but for reservation above
+		CleanupStack::PushL(pkcs12Pwd);
+		CleanupStack::PushL(set);
+		}
+	CPBEncryptor* encryptor = set->NewEncryptLC();
+	HBufC8* ciphertextTemp = HBufC8::NewLC(encryptor->MaxFinalOutputLength(iInput->Length())); 
+
+	TPtr8 ciphertext = ciphertextTemp->Des();	
+	encryptor->ProcessFinalL(*iInput, ciphertext);
+	TBuf<128> newPwdTemp(*iPasswd);
+	newPwdTemp.Append('a');
+
+	TBuf8<128> newPwdTemp8;
+	
+	TPBPassword newPassword(KNullDesC);
+	if (pkcs12Pwd == 0)
+		new(&newPassword) TPBPassword(newPwdTemp);
+	else
+		{
+		HBufC8* newPwd = PKCS12KDF::GeneratePasswordLC(newPwdTemp);
+		newPwdTemp8.Copy(*newPwd);
+		new(&newPassword) TPBPassword(newPwdTemp8);
+		CleanupStack::PopAndDestroy(newPwd);
+		}
+
+	set->ChangePasswordL(newPassword);
+	
+	//create a mem  buffer store
+	CBufStore* store = CBufStore::NewLC(100);
+	RStoreWriteStream write;
+
+	//write the encrypted master key to a stream
+	TStreamId keyStreamId = write.CreateLC(*store);
+	write << set->EncryptedMasterKey();
+	write.CommitL();
+	CleanupStack::PopAndDestroy(); //CreateLC()
+
+	//write the encryption data to another stream
+	TStreamId dataStreamId = write.CreateLC(*store);
+	set->EncryptionData().ExternalizeL(write);
+	write.CommitL();
+	CleanupStack::PopAndDestroy(); //CreateLC()
+
+	//prepare to read the streams back in, creating a new TPBEncryptionData
+	RStoreReadStream read;
+	read.OpenLC(*store, dataStreamId);
+
+	//read in Encryption data
+	CPBEncryptionData* data = CPBEncryptionData::NewL(read);
+	CleanupStack::PopAndDestroy(); //OpenLC()
+	CleanupStack::PushL(data);
+
+	//read in encrypted master key
+	read.OpenLC(*store, keyStreamId);
+	HBufC8* encryptedMasterKey = HBufC8::NewLC(read, 10000); //some large number
+
+	//create a new set encryption class
+	CPBEncryptSet* set2 = CPBEncryptSet::NewLC(*data, *encryptedMasterKey, newPassword);
+
+	HBufC8* plaintextTemp = HBufC8::NewLC(ciphertext.Length());
+	TPtr8 plaintext = plaintextTemp->Des();	
+
+	CPBDecryptor* decryptor = set2->NewDecryptLC();
+	decryptor->Process(ciphertext, plaintext);
+
+	//this Mid call is due to get rid of the decrypted padding at the end
+	if(plaintext.Mid(0,iInput->Length()) == *iInput)
+		{
+		iResult = ETrue;			
+		}
+	
+	CleanupStack::PopAndDestroy(decryptor);
+	CleanupStack::PopAndDestroy(plaintextTemp);
+	CleanupStack::PopAndDestroy(set2);
+	CleanupStack::PopAndDestroy(encryptedMasterKey);
+	CleanupStack::PopAndDestroy(1); //OpenLC
+	CleanupStack::PopAndDestroy(data);
+	CleanupStack::PopAndDestroy(store);
+	CleanupStack::PopAndDestroy(ciphertextTemp);
+	CleanupStack::PopAndDestroy(encryptor);
+	CleanupStack::PopAndDestroy(set);
+	CleanupStack::PopAndDestroy(pkcs12Pwd);
+	
+	User::RequestComplete(status, KErrNone);
+	iActionState = CTestAction::EPostrequisite;
+	__UHEAP_MARKEND;
+	}
+
+void CActionSet::Hex(HBufC8& aString)
+    {
+    TPtr8 ptr=aString.Des();
+    if (aString.Length()%2)
+        {
+        ptr.SetLength(0);
+        return;
+        }
+    TInt i;
+    for (i=0;i<aString.Length();i+=2)
+        {
+        TUint8 tmp;
+        tmp=(TUint8)(aString[i]-(aString[i]>'9'?('A'-10):'0'));
+        tmp*=16;
+        tmp|=(TUint8)(aString[i+1]-(aString[i+1]>'9'?('A'-10):'0'));
+        ptr[i/2]=tmp;
+        }
+    ptr.SetLength(aString.Length()/2);
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tpbe/tactionset.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,55 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#ifndef __TACTIONSET_H__
+#define __TACTIONSET_H__
+
+#include "t_testaction.h"
+#include <e32std.h>
+#include <pbe.h>
+
+class CActionSet : public CTestAction
+{
+public:
+	static CTestAction* NewL(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	static CTestAction* NewLC(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	virtual ~CActionSet();
+	virtual void DoPerformPrerequisite(TRequestStatus& aStatus);
+	virtual void DoPerformPostrequisite(TRequestStatus& aStatus);
+	virtual void PerformAction(TRequestStatus& aStatus);
+	virtual void DoReportAction(void);
+	virtual void DoCheckResult(TInt);
+
+private:
+	CActionSet(RFs& aFs, CConsoleBase& aConsole, Output& aOut);
+	void ConstructL(const TTestActionSpec& aTestActionSpec);
+	void Hex(HBufC8& string);
+
+	RFs& iFs;
+	HBufC8* iBody;
+	HBufC* iPasswd;
+	HBufC8* iInput;
+	TPBECipher iCipher;
+	HBufC8* iKdf;
+	HBufC8* iSaltLenBytes;
+	HBufC8* iIterCount;
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tpbe/tactionsetreadpfs.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,242 @@
+/*
+* Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include "tactionsetreadpfs.h"
+#include "t_input.h"
+#include <cryptostrength.h>
+#include <securityerr.h>
+#include <pbedata.h>
+#include <f32file.h>
+#include <s32file.h>
+#include <stdlib.h>
+#include <s32mem.h>
+#include <s32std.h>
+
+_LIT8(KReadPFSStart, "<readpfs>");
+_LIT8(KReadPFSEnd, "</readpfs>");
+_LIT8(KStrengthStart, "<strength>");
+_LIT8(KStrengthEnd, "</strength>");
+_LIT8(KInputStart, "<input>");
+_LIT8(KInputEnd, "</input>");
+_LIT8(KPasswdStart, "<passwd>");
+_LIT8(KPasswdEnd, "</passwd>");
+_LIT8(KStrong, "strong");
+_LIT16(KWeakFileName, "\\tpbe\\weak.dat");
+_LIT16(KStrongFileName, "\\tpbe\\strong.dat");
+
+CTestAction* CActionSetReadPFS::NewL(RFs& aFs,
+									   CConsoleBase& aConsole,
+									   Output& aOut, 
+									   const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction* self = CActionSetReadPFS::NewLC(aFs, aConsole,
+		aOut, aTestActionSpec);
+	CleanupStack::Pop();
+	return self;
+	}
+
+CTestAction* CActionSetReadPFS::NewLC(RFs& aFs,
+										CConsoleBase& aConsole,
+										Output& aOut, 
+										const TTestActionSpec& aTestActionSpec)
+	{
+	CActionSetReadPFS* self = new(ELeave) CActionSetReadPFS(aFs, aConsole, aOut);
+	CleanupStack::PushL(self);
+	self->ConstructL(aTestActionSpec);
+	return self;
+	}
+
+CActionSetReadPFS::~CActionSetReadPFS()
+	{
+	delete iBody;
+	}
+
+CActionSetReadPFS::CActionSetReadPFS(RFs& aFs, 
+								 CConsoleBase& aConsole,
+								 Output& aOut)
+								 
+: CTestAction(aConsole, aOut), iFs(aFs)
+	{
+	}
+
+void CActionSetReadPFS::ConstructL(const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction::ConstructL(aTestActionSpec);
+	iBody = HBufC8::NewL(aTestActionSpec.iActionBody.Length());
+	iBody->Des().Copy(aTestActionSpec.iActionBody);
+	
+	}
+
+void CActionSetReadPFS::DoPerformPrerequisite(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+	TInt err = KErrNone;
+	TInt pos = 0;
+	TPtrC8 encryptElement = Input::ParseElement(*iBody, KReadPFSStart,
+		KReadPFSEnd, pos, err);
+
+	pos = 0;
+	TPtrC8 strengthTemp = Input::ParseElement(encryptElement, KStrengthStart, 
+		KStrengthEnd, pos, err);
+		
+	TDriveUnit sysDrive (RFs::GetSystemDrive());
+	if (strengthTemp.CompareF(KStrong))
+		{
+		iFileName = sysDrive.Name();
+		iFileName.Append(KStrongFileName);
+		}
+	
+	else
+		{
+		iFileName = sysDrive.Name();
+		iFileName.Append(KWeakFileName);
+		}
+
+	pos = 0;		
+	TPtrC8 passwdTemp = Input::ParseElement(encryptElement, KPasswdStart, 
+		KPasswdEnd, pos, err);
+	iPasswd = HBufC::NewL(passwdTemp.Length());
+	TPtr16 passwdTemp3( iPasswd->Des());
+	passwdTemp3.Copy(passwdTemp);
+
+	pos = 0;
+	TPtrC8 inputTemp = Input::ParseElement(encryptElement, KInputStart, 
+		KInputEnd, pos, err);
+	iInput = HBufC8::NewL(inputTemp.Length());
+	*iInput = inputTemp;
+
+	User::RequestComplete(status, KErrNone);
+	iActionState = CTestAction::EAction;
+	}
+
+void CActionSetReadPFS::DoPerformPostrequisite(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+	delete iPasswd;
+	delete iInput;
+
+	iFinished = ETrue;
+	User::RequestComplete(status, KErrNone);
+	}
+
+void CActionSetReadPFS::DoReportAction(void)
+	{
+	}
+
+void CActionSetReadPFS::DoCheckResult(TInt)
+	{
+
+	}
+
+void CActionSetReadPFS::PerformAction(TRequestStatus& aStatus)
+	{
+	__UHEAP_MARK;
+	TRequestStatus* status = &aStatus;
+	iResult = EFalse;
+	
+	//Change the password by appending the letter 'a' to it
+	HBufC* newPasswordTemp = HBufC::NewMaxLC(iPasswd->Length()+1);
+	TPtr newPassword = newPasswordTemp->Des();
+	newPassword.Copy(*iPasswd);
+	newPassword.Append('a');
+
+	//prepare to read the streams back in, creating a new TPBEncryptionData
+	RStoreReadStream read;
+	// open the next PFS
+	CFileStore *store = CPermanentFileStore::OpenLC(iFs, iFileName, EFileRead | EFileWrite);
+	TStreamId dataStreamId(2); // we know it was the second stream written
+	read.OpenLC(*store, dataStreamId);
+	CleanupStack::Pop();
+	//read in Encryption data
+	CPBEncryptionData* data = CPBEncryptionData::NewL(read);
+	read.Close();
+	CleanupStack::PushL(data);
+
+	//read in encrypted master key
+	TStreamId keyStreamId(1); // we know it was the first stream written
+	read.OpenLC(*store, keyStreamId);
+	CleanupStack::Pop();
+	HBufC8* encryptedMasterKey = HBufC8::NewLC(read, 10000); //some large number
+	read.Close();
+	//create a new set encryption class
+	CPBEncryptSet* set = CPBEncryptSet::NewLC(*data, *encryptedMasterKey, newPassword);
+
+	//read in ciphertext key
+	TStreamId cipherId(3); // we know it was the third stream written
+	read.OpenLC(*store, cipherId);
+	CleanupStack::Pop();
+	HBufC8* ciphertextTemp = HBufC8::NewLC(read, 10000); //some large number
+	read.Close();
+	TPtr8 ciphertext = ciphertextTemp->Des();
+	
+	HBufC8* plaintextTemp = HBufC8::NewLC(ciphertext.Length());
+	TPtr8 plaintext = plaintextTemp->Des();	
+
+	// weak crypto should fail if trying to decrypt strong
+	TRAPD(err, 
+		{
+		CPBDecryptor* decryptor = set->NewDecryptLC();
+		decryptor->Process(ciphertext, plaintext);
+
+		//this Mid call is due to get rid of the decrypted padding at the end
+		if ((plaintext.Mid(0,iInput->Length()) == *iInput) &&
+		!((TCrypto::Strength() == TCrypto::EWeak) && (iFileName == KStrongFileName)))
+			{
+			iResult = ETrue;
+			}
+		CleanupStack::PopAndDestroy(decryptor);
+		});
+
+	if ((err == KErrKeyNotWeakEnough) && 
+	(TCrypto::Strength() == TCrypto::EWeak) && (iFileName == KStrongFileName))
+		{
+		iResult = ETrue;
+		}
+
+	CleanupStack::PopAndDestroy(plaintextTemp);
+	CleanupStack::PopAndDestroy(ciphertextTemp);
+	CleanupStack::PopAndDestroy(set);
+	CleanupStack::PopAndDestroy(encryptedMasterKey);
+	CleanupStack::PopAndDestroy(data);
+	CleanupStack::PopAndDestroy(store);
+	CleanupStack::PopAndDestroy(newPasswordTemp);
+
+	User::RequestComplete(status, KErrNone);
+	iActionState = CTestAction::EPostrequisite;
+	__UHEAP_MARKEND;
+	}
+
+void CActionSetReadPFS::Hex(HBufC8& aString)
+    {
+    TPtr8 ptr=aString.Des();
+    if (aString.Length()%2)
+        {
+        ptr.SetLength(0);
+        return;
+        }
+    TInt i;
+    for (i=0;i<aString.Length();i+=2)
+        {
+        TUint8 tmp;
+        tmp=(TUint8)(aString[i]-(aString[i]>'9'?('A'-10):'0'));
+        tmp*=16;
+        tmp|=(TUint8)(aString[i+1]-(aString[i+1]>'9'?('A'-10):'0'));
+        ptr[i/2]=tmp;
+        }
+    ptr.SetLength(aString.Length()/2);
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tpbe/tactionsetreadpfs.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,51 @@
+/*
+* Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#ifndef __TACTIONSETREADPFS_H__
+#define __TACTIONSETREADPFS_H__
+
+#include "t_testaction.h"
+#include <e32std.h>
+
+class CActionSetReadPFS : public CTestAction
+{
+public:
+	static CTestAction* NewL(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	static CTestAction* NewLC(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	virtual ~CActionSetReadPFS();
+	virtual void DoPerformPrerequisite(TRequestStatus& aStatus);
+	virtual void DoPerformPostrequisite(TRequestStatus& aStatus);
+	virtual void PerformAction(TRequestStatus& aStatus);
+	virtual void DoReportAction(void);
+	virtual void DoCheckResult(TInt);
+
+private:
+	CActionSetReadPFS(RFs& aFs, CConsoleBase& aConsole, Output& aOut);
+	void ConstructL(const TTestActionSpec& aTestActionSpec);
+	void Hex(HBufC8& string);
+
+	RFs& iFs;
+	HBufC8* iBody;
+	TFileName iFileName;
+	HBufC* iPasswd;
+	HBufC8* iInput;
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tpbe/tactionsetwritepfs.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,211 @@
+/*
+* Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include "tactionsetwritepfs.h"
+#include "t_input.h"
+#include <cryptostrength.h>
+#include <pbedata.h>
+#include <f32file.h>
+#include <s32file.h>
+#include <stdlib.h>
+#include <s32mem.h>
+#include <s32std.h>
+
+_LIT8(KWritePFSStart, "<writepfs>");
+_LIT8(KWritePFSEnd, "</writepfs>");
+_LIT8(KInputStart, "<input>");
+_LIT8(KInputEnd, "</input>");
+_LIT8(KPasswdStart, "<passwd>");
+_LIT8(KPasswdEnd, "</passwd>");
+_LIT16(KWeakFileName, "\\tpbe\\weak.dat");
+_LIT16(KStrongFileName, "\\tpbe\\strong.dat");
+
+CTestAction* CActionSetWritePFS::NewL(RFs& aFs,
+									   CConsoleBase& aConsole,
+									   Output& aOut, 
+									   const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction* self = CActionSetWritePFS::NewLC(aFs, aConsole,
+		aOut, aTestActionSpec);
+	CleanupStack::Pop();
+	return self;
+	}
+
+CTestAction* CActionSetWritePFS::NewLC(RFs& aFs,
+										CConsoleBase& aConsole,
+										Output& aOut, 
+										const TTestActionSpec& aTestActionSpec)
+	{
+	CActionSetWritePFS* self = new(ELeave) CActionSetWritePFS(aFs, aConsole, aOut);
+	CleanupStack::PushL(self);
+	self->ConstructL(aTestActionSpec);
+	return self;
+	}
+
+CActionSetWritePFS::~CActionSetWritePFS()
+	{
+	delete iBody;
+	}
+
+CActionSetWritePFS::CActionSetWritePFS(RFs& aFs, 
+								 CConsoleBase& aConsole,
+								 Output& aOut)
+								 
+: CTestAction(aConsole, aOut), iFs(aFs)
+	{
+	}
+
+void CActionSetWritePFS::ConstructL(const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction::ConstructL(aTestActionSpec);
+	iBody = HBufC8::NewL(aTestActionSpec.iActionBody.Length());
+	iBody->Des().Copy(aTestActionSpec.iActionBody);
+	
+	}
+
+void CActionSetWritePFS::DoPerformPrerequisite(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+	TInt err = KErrNone;
+	TInt pos = 0;
+	TPtrC8 encryptElement = Input::ParseElement(*iBody, KWritePFSStart,
+		KWritePFSEnd, pos, err);
+
+	pos = 0;
+	TPtrC8 passwdTemp = Input::ParseElement(encryptElement, KPasswdStart, 
+		KPasswdEnd, pos, err);
+	iPasswd = HBufC::NewL(passwdTemp.Length());
+	TPtr16 passwdTemp3( iPasswd->Des());
+	passwdTemp3.Copy(passwdTemp);
+
+	pos = 0;
+	TPtrC8 inputTemp = Input::ParseElement(encryptElement, KInputStart, 
+		KInputEnd, pos, err);
+	iInput = HBufC8::NewL(inputTemp.Length());
+	*iInput = inputTemp;
+
+	User::RequestComplete(status, KErrNone);
+	iActionState = CTestAction::EAction;
+	}
+
+void CActionSetWritePFS::DoPerformPostrequisite(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+	delete iPasswd;
+	delete iInput;
+
+	iFinished = ETrue;
+	User::RequestComplete(status, KErrNone);
+	}
+
+void CActionSetWritePFS::DoReportAction(void)
+	{
+	}
+
+void CActionSetWritePFS::DoCheckResult(TInt)
+	{
+
+	}
+
+void CActionSetWritePFS::PerformAction(TRequestStatus& aStatus)
+	{
+	__UHEAP_MARK;
+	TRequestStatus* status = &aStatus;
+	iResult = EFalse;
+	
+	CPBEncryptSet* set = CPBEncryptSet::NewLC(*iPasswd);
+	CPBEncryptor* encryptor = set->NewEncryptLC();
+
+	HBufC8* ciphertextTemp = HBufC8::NewLC(encryptor->MaxFinalOutputLength(iInput->Length())); 
+
+	TPtr8 ciphertext = ciphertextTemp->Des();	
+	encryptor->ProcessFinalL(*iInput, ciphertext);
+
+	//Change the password by appending the letter 'a' to it
+	HBufC* newPasswordTemp = HBufC::NewMaxLC(iPasswd->Length()+1);
+	TPtr newPassword = newPasswordTemp->Des();
+	newPassword.Copy(*iPasswd);
+	newPassword.Append('a');
+
+	set->ChangePasswordL(newPassword);
+	
+	TDriveUnit sysDrive (RFs::GetSystemDrive());
+	TDriveName driveName(sysDrive.Name());
+	TBuf<128> pfsFileName (driveName);
+
+	if (TCrypto::Strength() == TCrypto::EStrong)
+		pfsFileName.Append(KStrongFileName);
+	else
+		pfsFileName.Append(KWeakFileName);
+
+	RStoreWriteStream write;
+	
+	CFileStore *store = CPermanentFileStore::ReplaceLC(iFs, pfsFileName, EFileRead | EFileWrite);
+	store->SetTypeL(store->Layout());
+	
+	//write the encrypted master key to a new stream
+	write.CreateLC(*store);
+	write << set->EncryptedMasterKey();
+	write.CommitL();
+	CleanupStack::PopAndDestroy(); //CreateLC()
+
+	//write the encryption data to a new stream
+	write.CreateLC(*store);
+	set->EncryptionData().ExternalizeL(write);
+	write.CommitL();
+	CleanupStack::PopAndDestroy(); //CreateLC()
+
+	//write the cyphertext to a new stream
+	write.CreateLC(*store);
+	write << ciphertext;
+	write.CommitL();
+	CleanupStack::PopAndDestroy(); //CreateLC()
+
+	store->Commit();
+
+	// Finished writing the PFS
+	iResult = ETrue;
+	CleanupStack::PopAndDestroy(store);
+	CleanupStack::PopAndDestroy(newPasswordTemp);
+	CleanupStack::PopAndDestroy(ciphertextTemp);
+	CleanupStack::PopAndDestroy(encryptor);
+	CleanupStack::PopAndDestroy(set);
+	User::RequestComplete(status, KErrNone);
+	iActionState = CTestAction::EPostrequisite;
+	__UHEAP_MARKEND;
+	}
+
+void CActionSetWritePFS::Hex(HBufC8& aString)
+    {
+    TPtr8 ptr=aString.Des();
+    if (aString.Length()%2)
+        {
+        ptr.SetLength(0);
+        return;
+        }
+    TInt i;
+    for (i=0;i<aString.Length();i+=2)
+        {
+        TUint8 tmp;
+        tmp=(TUint8)(aString[i]-(aString[i]>'9'?('A'-10):'0'));
+        tmp*=16;
+        tmp|=(TUint8)(aString[i+1]-(aString[i+1]>'9'?('A'-10):'0'));
+        ptr[i/2]=tmp;
+        }
+    ptr.SetLength(aString.Length()/2);
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tpbe/tactionsetwritepfs.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,50 @@
+/*
+* Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#ifndef __TACTIONSETWRITEPFS_H__
+#define __TACTIONSETWRITEPFS_H__
+
+#include "t_testaction.h"
+#include <e32std.h>
+
+class CActionSetWritePFS : public CTestAction
+{
+public:
+	static CTestAction* NewL(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	static CTestAction* NewLC(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	virtual ~CActionSetWritePFS();
+	virtual void DoPerformPrerequisite(TRequestStatus& aStatus);
+	virtual void DoPerformPostrequisite(TRequestStatus& aStatus);
+	virtual void PerformAction(TRequestStatus& aStatus);
+	virtual void DoReportAction(void);
+	virtual void DoCheckResult(TInt);
+
+private:
+	CActionSetWritePFS(RFs& aFs, CConsoleBase& aConsole, Output& aOut);
+	void ConstructL(const TTestActionSpec& aTestActionSpec);
+	void Hex(HBufC8& string);
+
+	RFs& iFs;
+	HBufC8* iBody;
+	HBufC* iPasswd;
+	HBufC8* iInput;
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tpbe/texternpbeparams.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,465 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include <s32mem.h>
+#include <s32file.h>
+#include "texternpbeparams.h"
+
+
+CTestAction* CExternPbeParams::NewL(
+	RFs& aFs, CConsoleBase& aConsole,
+	Output& aOut, const TTestActionSpec& aTestActionSpec)
+/**
+	Factory function allocates new instance of CExternPbeParams and extracts
+	the element body from the supplied test action spec.
+
+	@param	aFs				Used to parse XML script file.
+	@param	aConsole		Required by CTestAction.
+	@param	aOut			Required by CTestAction.
+	@param	aTestActionSpec	Action specification contains type, name, and
+							XML contents.
+	@return					New instance of CExternPbeParams, which is owned
+							by the caller.
+ */
+	{
+	CExternPbeParams* self = new(ELeave) CExternPbeParams(aConsole, aOut, aFs);
+	CleanupStack::PushL(self);
+	self->ConstructL(aTestActionSpec);
+	CleanupStack::Pop(self);
+	return self;
+	}
+
+CExternPbeParams::CExternPbeParams(CConsoleBase& aConsole, Output& aOut, RFs& aFs)
+/**
+	This constructor exists to record the file server session and to initialize
+	the CTestAction superclass.
+	
+	@param	aConsole		Required by CTestAction.
+	@param	aOut			Required by CTestAction.
+	@param	aFs				Used to read from and write to files in PerformAction,
+							which stores and restores the externalized params.
+ */
+:	CTestAction(aConsole, aOut),
+	iFs(aFs)
+	{
+	// empty.
+	}
+
+void CExternPbeParams::ConstructL(const TTestActionSpec& aTestActionSpec)
+/**
+	Second phase initialization initializes the superclass and
+	makes a copy of the test element.
+	
+	@param	aTestActionSpec	Action specification contains type, name, and
+							XML contents.	
+ */
+	{
+	CTestAction::ConstructL(aTestActionSpec);
+	iBody = aTestActionSpec.iActionBody.AllocL();
+	
+	// iBody is deconstructed in DoPerformPrerequisite
+	}
+
+CExternPbeParams::~CExternPbeParams()
+/**
+	Free resources allocated in ConstructL.  Specifically,
+	deletes the copy of the element body text.
+ */
+	{
+	delete iBody;
+	}
+
+// -------- implement CTestAction --------
+
+void CExternPbeParams::DoPerformPrerequisite(TRequestStatus& aStatus)
+/**
+	Override CTestAction by deconstructing element body allocated
+	in ConstructL.
+	
+	If this function fails then DoPerformPostrequisite must still
+	be called.
+	
+	@param	aStatus			This status is completed when the prerequisite
+							has finished.  (This implementation is actually
+							synchronous so the request will already be completed
+							when it returns.)
+ */
+	{
+	TRAPD(r, DoPerformPrerequisiteL());
+	
+	iActionState = CTestAction::EAction;
+	TRequestStatus* ps = &aStatus;
+	User::RequestComplete(ps, r);
+	}
+
+void CExternPbeParams::DoPerformPrerequisiteL()
+/**
+	Helper function for DoPerformPrerequisite contains resource allocation
+	functions which can leave.
+	
+	Extracts cipher, salt, iv, iter count, and kdf values.
+ */
+	{
+	_LIT8(KOrigFileName, "orig-filename");
+	iOrigFileName = ReadStringLC(*iBody, KOrigFileName);
+	CleanupStack::Pop(iOrigFileName);
+	
+	_LIT8(KExpCipherElemName, "expected-cipher");
+	iExpCipher = ReadDecStringL(*iBody, KExpCipherElemName);
+	_LIT8(KExpSaltElemName, "expected-salt");
+	iExpSalt = ReadHexStringL(*iBody, KExpSaltElemName);
+	_LIT8(KExpIvElemName, "expected-iv");
+	iExpIv = ReadHexStringL(*iBody, KExpIvElemName);	
+	_LIT8(KExpIterCountElemName, "expected-iter-count");
+	iExpIterCount = ReadDecStringL(*iBody, KExpIterCountElemName);
+	_LIT8(KExpKdfElemName, "expected-kdf");
+	iExpKdf = ReadDecStringL(*iBody, KExpKdfElemName);
+	}
+
+void CExternPbeParams::DoPerformPostrequisite(TRequestStatus& aStatus)
+/**
+	Implements CTestAction by cleaning up data allocated in DoPerformPrerequisiteL.
+	
+	@param	aStatus			This status is completed to indicate the
+							postrequisite has finished.  (This function
+							is synchronous so the status is completed before
+							this function returns.)
+ */
+	{
+	delete iExpIv;
+	iExpIv = 0;
+	delete iExpSalt;
+	iExpSalt = 0;
+	delete iOrigFileName;
+	iOrigFileName = NULL;
+	
+	iFinished = ETrue;
+	TRequestStatus* ps = &aStatus;
+	User::RequestComplete(ps, KErrNone);
+	}
+
+void CExternPbeParams::PerformAction(TRequestStatus& aStatus)
+/**
+	Implements CTestAction by running the actual tests.  This
+	consists of:
+	
+	Reading an externalized CPBEncryptParms object and testing the
+	cipher, salt, iv, iteration count, and KDF are as expected.
+	
+	Externalizing the object to memory.
+	
+	Testing the two externalizations are binary identical.
+	
+	Creating an equivalent object from scratch and externalizing it.
+	
+	Testing the externalizations are binary identical.
+	
+	As well as testing the objects can be stored reliably, this
+	test also ensures that old (pre-PKCS#12) files can still be
+	read and, and that objects are stored in the old format if they
+	do not use any PKCS#12-specific features.  (I.e., they use the
+	default PKCS#5 KDF.)
+	
+	@param	aStatus			This request status is completed when
+							the action has finished, successfully
+							or otherwise.  This implementation is
+							synchronous, and so the status is actually
+							completed before this function returns.
+ */
+	{
+	TFileName fn;
+	fn.Copy(*iOrigFileName);	// convert from narrow
+
+	// ensure reference file matches re-externalized form
+	
+	TRAPD(r,
+		TestDecodeMatchesScriptL(fn);
+		TestReExternMatchesL(fn);
+		TestScratchExternL(fn) );
+		
+	iResult = (r == KErrNone);
+	iActionState = CTestAction::EPostrequisite;
+	TRequestStatus* status = &aStatus;
+	User::RequestComplete(status, KErrNone);
+	}
+
+CPBEncryptParms* CExternPbeParams::InternalizeEncryptionParamsLC(const TDesC& aFileName)
+/**
+	Construct a CPBEncryptParms object from the externalized
+	form in the named file.
+	
+	@param	aFileName		File which contains externalized form.
+	@return					Internalized encryption parameters object
+							which is placed on the cleanup stack.
+ */
+	{
+	RFileReadStream frs;
+	TInt r = frs.Open(iFs, aFileName, EFileStream | EFileRead);
+	User::LeaveIfError(r);
+	CleanupClosePushL(frs);	
+	CPBEncryptParms* pbep = CPBEncryptParms::NewL(frs);
+	CleanupStack::PopAndDestroy(&frs);
+	CleanupStack::PushL(pbep);
+	return pbep;
+	}
+
+void CExternPbeParams::TestDecodeMatchesScriptL(const TDesC& aFileName)
+/**
+	Test whether the encryption parameters which were externalized
+	to the supplied file match those specified in the script file.
+	
+	@param	aFileName		Name of file which contains externalized form.
+	@leave KErrGeneral		The internalized form doesn't match the parameters
+							in the script.
+ */
+	{
+	CPBEncryptParms* pbep = InternalizeEncryptionParamsLC(aFileName);
+	
+	TBool match =
+			pbep->Cipher() == iExpCipher
+		&&	pbep->Salt() == *iExpSalt
+		&&	pbep->Iterations() == iExpIterCount;
+	
+	match = match && pbep->Kdf() == iExpKdf;
+
+	if (! match)
+		User::Leave(KErrGeneral);
+	
+	CleanupStack::PopAndDestroy(pbep);	
+	}
+
+void CExternPbeParams::CompareAgainstTestFileL(
+	const TDesC& aFileName, const CPBEncryptParms& aParams)
+/**
+	Externalize the supplied parameters object and ensure it matches the
+	test file.
+	
+	@param	aFileName		File which contains externalized parameters.
+	@param	aParams			Test object to externalize.
+	@leave KErrGeneral The externalized forms do not match.
+ */
+	{
+ 	// open a file stream on the externalized form
+	RFileReadStream frs;
+	TInt r = frs.Open(iFs, aFileName, EFileStream | EFileRead);
+	User::LeaveIfError(r);
+	CleanupClosePushL(frs);
+	
+	// externalize the object to memory
+	const TInt KMaxBufferLen = 128;
+	HBufC8* reExtBuf = HBufC8::NewLC(KMaxBufferLen);
+	TPtr8 reDes = reExtBuf->Des();
+	RDesWriteStream dws(reDes);
+	CleanupClosePushL(dws);
+	aParams.ExternalizeL(dws);
+	dws.CommitL();
+	
+	// ensure the externalized forms are equal
+	RDesReadStream drs(reDes);
+	TInt fLen = frs.Source()->SizeL();
+	TInt mLen = drs.Source()->SizeL();
+	if (fLen != mLen)
+		User::Leave(KErrGeneral);	
+
+	TBuf8<1> fByte;
+	TBuf8<1> mByte;
+	for (TInt i = 0; i < fLen; ++i)
+		{
+		frs.ReadL(fByte, 1);
+		drs.ReadL(mByte, 1);
+		if (fByte != mByte)
+			User::Leave(KErrGeneral);
+		}
+
+	CleanupStack::PopAndDestroy(3, &frs);	// frs, reExtBuf, dws	
+	}
+
+void CExternPbeParams::TestReExternMatchesL(const TDesC& aFileName)
+/**
+	Read the CPBEncryptParms object which is externalized in
+	the named file, re-externalize it, and check the two
+	representations are binary equivalent.
+	
+	@param	aFileName		Name of file which contains externalized form.
+	@leave	KErrGeneral		The externalized forms are different.
+ */
+	{
+ 	CPBEncryptParms* pbep = InternalizeEncryptionParamsLC(aFileName);
+ 	
+ 	CompareAgainstTestFileL(aFileName, *pbep);
+ 	
+	CleanupStack::PopAndDestroy(pbep);
+	}
+
+void CExternPbeParams::TestScratchExternL(const TDesC& aFileName)
+/**
+	Construct a CPBEncryptParams object from the parameter values
+	in the script file.  Test it matches the test file.
+	
+	@param	aFileName		Test file which contains externalized parameters.
+ */
+	{
+	CPBEncryptParms* pbep = CPBEncryptParms::NewLC(
+		static_cast<TPBECipher>(iExpCipher),
+		*iExpSalt,
+		*iExpIv,
+		iExpIterCount);
+	
+	pbep->SetKdf(static_cast<CPBEncryptParms::TKdf>(iExpKdf));
+
+	CompareAgainstTestFileL(aFileName, *pbep);
+
+	CleanupStack::PopAndDestroy(pbep);
+	}
+
+void CExternPbeParams::DoReportAction(void)
+/**
+	Implements CTestAction but is empty.
+ */
+	{
+	// empty.
+	}
+
+void CExternPbeParams::DoCheckResult(TInt /*aError*/)
+/**
+	Implements CTestAction but is empty.
+ */
+	{
+	// empty.
+	}
+
+
+// -------- support functions --------
+
+
+HBufC8* CExternPbeParams::ReadHexStringL(const TDesC8& aBody, const TDesC8& aTag)
+/**
+	Convert a string in the test script to an 8-bit buffer.  The string
+	is a sequence of hex digits, e.g. "abcdef01", which is converted to a
+	descriptor containing the matching bytes {0xab, 0xcd, 0xef, 0x01}.
+	
+	@param	aBody			Body of parent element.
+	@param	aTag			Bare tag name.  This function extracts the text
+							between "<aTag>" and "</aTag>".
+	@return					Newly-allocated buffer containing matching bytes.
+							This is owned by the caller.
+ */
+	{
+ 	HBufC8* scriptString = ReadStringLC(aBody, aTag);
+
+	TInt textLen = scriptString->Length();
+	if ((textLen % 2) != 0)
+		User::Leave(KErrCorrupt);
+	TInt byteCount = textLen / 2;
+	HBufC8* procString = HBufC8::NewMaxLC(byteCount);
+	TPtr8 procDes = procString->Des();
+	for (TInt i = 0; i < byteCount; ++i)
+		{
+		TUint8 byteVal;
+		TInt r = TLex8(scriptString->Mid(i * 2, 2)).Val(byteVal, EHex);
+		User::LeaveIfError(r);
+		procDes[i] = byteVal;
+		}
+	
+	CleanupStack::Pop(procString);
+	CleanupStack::PopAndDestroy(scriptString);
+	return procString;
+	}
+
+TInt CExternPbeParams::ReadDecStringL(const TDesC8& aBody, const TDesC8& aTag)
+/**
+	Finds a decimal text string in the script and returns the
+	integer value which it represents.
+	
+	@param	aBody			Body of parent element.
+	@param	aTag			Bare tag name.  This function extracts the text
+							between "<aTag>" and "</aTag>".
+	@return					Integer value encoded in the script file.
+ */
+ 	{
+ 	HBufC8* scriptString = ReadStringLC(aBody, aTag);
+ 	
+ 	TInt value;
+	User::LeaveIfError(TLex8(*scriptString).Val(value));
+	CleanupStack::PopAndDestroy(scriptString);
+	return value;
+	}
+
+HBufC8* CExternPbeParams::ReadStringLC(const TDesC8& aBody, const TDesC8& aTag)
+/**
+	Extracts a string from the supplied script file.
+	
+	@param	aBody			Body of parent element.
+	@param	aTag			Bare tag name.  This function extracts the text
+							between "<aTag>" and "</aTag>".
+	@return					A copy of the string allocated on the heap.  The
+							string is placed on the cleanup stack.
+ */
+	{
+	TBuf8<32> startTag;
+	startTag.Format(_L8("<%S>"), &aTag);
+	TBuf8<32> endTag;
+	endTag.Format(_L8("</%S>"), &aTag);
+	
+	TInt pos = 0;
+	TInt r;
+	const TPtrC8 contents = Input::ParseElement(
+		aBody, startTag, endTag, pos, r);
+	User::LeaveIfError(r);
+	
+	return contents.AllocLC();
+	}
+
+/**
+	This code was originally in PerformAction to create the initial
+	data files.
+	
+	// GENERATE PKCS5 TEST PARAMS FILE
+	RFileWriteStream fws;
+	r = fws.Replace(iFs, _L("c:\\tpbe\\pkcs5-orig.dat"), EFileStream | EFileWrite);
+	User::LeaveIfError(r);
+	CleanupClosePushL(fws);
+	
+	_LIT8(KSalt, "SALT4567");
+	_LIT8(KIv, "IV23456789abcdef");
+	const TInt KIterCount = 1234;
+	CPBEncryptParms* pbep = CPBEncryptParms::NewLC(
+		ECipherAES_CBC_256, KSalt, KIv, KIterCount);
+	pbep->ExternalizeL(fws);
+	fws.CommitL();
+	CleanupStack::PopAndDestroy(2, &fws);
+
+#ifdef SYMBIAN_PKCS12
+	// GENERATE PKCS12 TEST PARAMS FILE
+	RFileWriteStream fws;
+	r = fws.Replace(iFs, _L("c:\\tpbe\\pkcs12-first.dat"), EFileStream | EFileWrite);
+	User::LeaveIfError(r);
+	CleanupClosePushL(fws);
+	
+	_LIT8(KSalt, "SALT4567");
+	_LIT8(KIv, "IV23456789abcdef");
+	const TInt KIterCount = 1234;
+	CPBEncryptParms* pbep = CPBEncryptParms::NewLC(
+		ECipherAES_CBC_256, KSalt, KIv, KIterCount);
+	pbep->SetKdf(CPBEncryptParms::EKdfPkcs12);
+	pbep->ExternalizeL(fws);
+	fws.CommitL();
+	CleanupStack::PopAndDestroy(2, &fws);
+#endif	// #ifdef SYMBIAN_PKCS12
+
+ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tpbe/texternpbeparams.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,98 @@
+/*
+* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* Defines class used for testing pbe param internalization and externalization.
+*
+*/
+
+
+
+
+/**
+ @file
+*/
+
+#ifndef TEXTERNPBEPARAMS_H
+#define TEXTERNPBEPARAMS_H
+
+#include <pbedata.h>
+#include "t_testaction.h"
+#include "t_input.h"
+
+class CExternPbeParams : public CTestAction
+/**
+	This class tests thatn encryption parameters can be
+	successfully externalized and restored.  It is also used
+	to ensure pre-PKSC#12 parameters can be read when PKCS#12
+	is enabled.
+ */
+	{
+public:
+	static CTestAction* NewL(
+		RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	virtual ~CExternPbeParams();
+	
+	// implement CTestAction
+	virtual void PerformAction(TRequestStatus& aStatus);
+	virtual void DoReportAction();
+	virtual void DoCheckResult(TInt aError);
+	
+	// override CTestAction
+	virtual void DoPerformPrerequisite(TRequestStatus& aStatus);
+	virtual void DoPerformPostrequisite(TRequestStatus& aStatus);
+	
+private:
+	CExternPbeParams(CConsoleBase& aConsole, Output& aOut, RFs& aFs);
+	void ConstructL(const TTestActionSpec& aTestActionSpec);
+	
+	void DoPerformPrerequisiteL();
+	
+	static HBufC8* ReadHexStringL(const TDesC8& aBody, const TDesC8& aTag);
+	static TInt ReadDecStringL(const TDesC8& aBody, const TDesC8& aTag);
+	static HBufC8* ReadStringLC(const TDesC8& aBody, const TDesC8& aTag);
+	
+	CPBEncryptParms* InternalizeEncryptionParamsLC(const TDesC& aFileName);
+	void CompareAgainstTestFileL(const TDesC& aFileName, const CPBEncryptParms& aParams);
+	void TestDecodeMatchesScriptL(const TDesC& aFileName);
+	void TestReExternMatchesL(const TDesC& aFileName);
+	void TestScratchExternL(const TDesC& aFileName);
+	
+private:
+	/** File server session used to write params to, and read params from, files. */
+	RFs& iFs;
+	
+	/** Element body text. */
+	HBufC8* iBody;
+
+	/** Original externalized filename. */
+	HBufC8* iOrigFileName;
+	/** Numeric value of expected cipher. */
+	TInt iExpCipher;
+	/** Expected salt. */
+	HBufC8* iExpSalt;
+	/** Expected IV. */
+	HBufC8* iExpIv;
+	/** Expected iteration count. */
+	TInt iExpIterCount;
+	/**
+		Expected key derivation function.  This is not stored
+		as CPBEncryptParms::TKdf, which is not available when
+		SYMBIAN_PKCS12 is not defined.
+	 */
+	TInt iExpKdf;
+	};
+
+#endif	// #ifndef TEXTERNPBEPARAMS_H
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tpbe/tpbe.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,54 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#ifndef TPBE_H
+#define TPBE_H
+
+#include "pkcs5kdf.h"
+#include "pkcs12kdf.h"
+
+_LIT8(KInputStart, "<input>");
+_LIT8(KInputEnd, "</input>");
+_LIT8(KPasswdStart, "<passwd>");
+_LIT8(KPasswdEnd, "</passwd>");
+_LIT8(KKdfStart, "<kdf>");
+_LIT8(KKdfEnd, "</kdf>");
+_LIT8(KSaltLenBytesStart, "<salt_len_bytes>");
+_LIT8(KSaltLenBytesEnd, "</salt_len_bytes>");
+_LIT8(KCipherStart, "<cipher>");
+_LIT8(KCipherEnd, "</cipher>");
+_LIT8(KIterCountStart, "<iter_count>");
+_LIT8(KIterCountEnd, "</iter_count>");
+_LIT8(KECipherAES_CBC_128, "ECipherAES_CBC_128");
+_LIT8(KECipherAES_CBC_192, "ECipherAES_CBC_192");
+_LIT8(KECipherAES_CBC_256, "ECipherAES_CBC_256");
+_LIT8(KECipherDES_CBC, "ECipherDES_CBC");
+_LIT8(KECipher3DES_CBC, "ECipher3DES_CBC");
+_LIT8(KECipherRC2_CBC_40, "ECipherRC2_CBC_40");
+_LIT8(KECipherRC2_CBC_128, "ECipherRC2_CBC_128");
+_LIT8(KECipherRC2_CBC_40_16, "ECipherRC2_CBC_40_16");
+_LIT8(KECipherRC2_CBC_128_16, "ECipherRC2_CBC_128_16");
+
+_LIT8(KECipherARC4_128, "ECipherARC4_128");
+_LIT8(KECipherARC4_40, "ECipherARC4_40");
+_LIT8(KECipher2Key3DES_CBC, "ECipher2Key3DES_CBC");
+_LIT8(KECipherRC2_CBC_40_5, "ECipherRC2_CBC_40_5");
+
+#endif
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tpbe/tpbemain.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,61 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include <e32base.h>
+#include "t_testhandler.h"
+#include "t_testsetup.h"
+#include "tscripttests.h"
+#include "tactionelement.h"
+#include "tactionset.h"
+#include "tactionsetreadpfs.h"
+#include "tactionsetwritepfs.h"
+#include "texternpbeparams.h"
+
+LOCAL_D void callExampleL() // initialize and call example code under cleanup stack
+    {
+    START_SCRIPT_LIST
+	SCRIPT_ITEM(CActionElement,_L8("Element")),
+	SCRIPT_ITEM(CActionSet,_L8("Set")),
+	SCRIPT_ITEM(CActionSetReadPFS,_L8("ReadPFS")),
+	SCRIPT_ITEM(CActionSetWritePFS,_L8("WritePFS")),
+	SCRIPT_ITEM(CExternPbeParams, _L8("ExternPbeParams"))
+    END_SCRIPT_LIST
+    
+    TDriveUnit sysDrive (RFs::GetSystemDrive());
+	
+    TDriveName driveName(sysDrive.Name());
+    
+    TBuf<24> scriptFile (driveName);
+    scriptFile.Append(_L("\\tpbe\\tpbetests_v2.txt"));
+    
+    TBuf<24> logFile (driveName);
+    logFile.Append(_L("\\tpbetestsv2.log"));
+    
+	CTestSetup::CreateAndRunTestsL(theTestTypes, scriptFile, logFile);
+    }
+
+GLDEF_C TInt E32Main() // main function called by E32
+    {
+	__UHEAP_MARK;
+	CTrapCleanup* cleanup = CTrapCleanup::New(); // get clean-up stack
+	TRAPD(error, callExampleL());
+	__ASSERT_ALWAYS(!error,User::Panic(_L("tpbe"),error));
+	delete cleanup; // destroy clean-up stack
+	__UHEAP_MARKEND;
+	return 0;
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tpkcs5kdf/scripts/tpkcs12kdftests.txt	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,10094 @@
+// Copyright (c) Symbian Software Ltd 2006 - 2007. All rights reserved.
+
+<action>
+	<actionname>PKCS5 Key Derivation Test 1 -- vector from peter gutmann</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<passwd>password</passwd>
+			<salt>1234567878563412</salt>
+			<iterations>5</iterations>
+			<key>D1DAA78615F287E6</key>
+		</derivekey>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>PKCS5 Key Derivation Test 2 -- 100 iterations vector from generated openssl</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<passwd>password</passwd>
+			<salt>1234567878563412</salt>
+			<iterations>100</iterations>
+			<key>68551A5F09AC24F41152059F3A0A2EE8EE6048C9D600BE023C2D85B4BE27BAE6</key>
+		</derivekey>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>PKCS5 Key Derivation Test 3 -- 1000 iterations 16 byte key, vector generated from openssl</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<passwd>password</passwd>
+			<salt>1234567878563412</salt>
+			<iterations>1000</iterations>
+			<key>142F8FAFCE633CCD9265D90FC8FE4252</key>
+		</derivekey>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>PKCS5 Key Derivation Test 4 -- 10000 iteration 64 byte key -- vector from generated openssl</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<passwd>password</passwd>
+			<salt>1234567878563412</salt>
+			<iterations>10000</iterations>
+			<key>6628B0927CCC52BF3E78EEAB8CC3074E5159878E7BD21717653F3F7A9BD136CFF4BD0327399AEFF176AD45A71B5BE3985B7EEC5008CED8484B69726B2A813584</key>
+		</derivekey>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>PKCS5 Key Derivation Test 5 -- 16 byte key, really long password vector generated from openssl</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<passwd>This is an example of a really long really long password, I'm attempting to see how long we can make it and still see if our code will work. This really shouldn't be a problem</passwd>
+			<salt>1234567878563412</salt>
+			<iterations>1000</iterations>
+			<key>A39EDFA35086746DE5B4792035D9A070</key>
+		</derivekey>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>PKCS5 Key Derivation Test 6 -- 16 byte key, medium size password vector generated from openssl</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<passwd>passwordpasswordpasswordpasswordpasswordpasswordpasswordpassword</passwd>
+			<salt>1234567878563412</salt>
+			<iterations>1000</iterations>
+			<key>5F9219EED8BD0BCF5B3440B062305E05</key>
+		</derivekey>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>PKCS5 Key Derivation Test 7 -- 32 byte key, long salt, short password vector generated from openssl</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<passwd>password</passwd>
+			<salt>1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890</salt>
+			<iterations>1000</iterations>
+			<key>5648F3832B18C6A85165B093627F2268CCE1E79DC2F85D3909C36356789B349D</key>
+		</derivekey>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>PKCS5 Key Derivation Test 8 -- 32 byte key, long salt, long password vector generated from openssl</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<passwd>passwordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpassword</passwd>
+			<salt>1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890</salt>
+			<iterations>1000</iterations>
+			<key>9F14D62760272D4388FA70E31C2B7940A083F0190C244F25F293D98D58766016</key>
+		</derivekey>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>PKCS5 Key Derivation Test 9 -- 16 byte key, really long password vector generated from openssl</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<passwd>Thisisanexampleofareallylongreallylongpassword,I'mattemptingtoseehowlongwecanmakeitandstillseeifourcodewillwork.Thisreallyshouldn'tbeaproblem</passwd>
+			<salt>1234567878563412</salt>
+			<iterations>1000</iterations>
+			<key>529C96D62F54418DD6AD33724F3014D6</key>
+		</derivekey>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>PKCS5 Key Derivation Test 10 -- 16 byte key, really long password vector generated from openssl</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<passwd>ThisisanexampleofareallylongreallylongpasswordImattemptingtoseehowlongwecanmakeitandstillseeifourcodewillworkThisreallyshouldntbeaproblem</passwd>
+			<salt>1234567878563412</salt>
+			<iterations>1000</iterations>
+			<key>E493D7C57BD77047C9D709DF99CBD3C7</key>
+		</derivekey>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>PKCS5 Key Derivation Test 11 -- 16 byte key, really long password vector generated from openssl</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<passwd>passwordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpassword</passwd>
+			<salt>1234567878563412</salt>
+			<iterations>1000</iterations>
+			<key>EBD56BEE980D41A38AFA53642AAE4B25</key>
+		</derivekey>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>PKCS5 Key Derivation Test 12 -- 32 byte key, really long password vector generated from openssl</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<passwd>passwordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpassword</passwd>
+			<salt>1234567878563412</salt>
+			<iterations>1000</iterations>
+			<key>EBD56BEE980D41A38AFA53642AAE4B251FF9C2A1503B2EF65F28E59DEF906A60</key>
+		</derivekey>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>PKCS5 Key Derivation Test 13 -- 32 byte key, long password vector generated from openssl</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<passwd>passwordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpassword</passwd>
+			<salt>1234567878563412</salt>
+			<iterations>1000</iterations>
+			<key>1FFB655FEEC4202B0466BF24AA9800D0A96BFA7F904D655253CE2E32B0B7B795</key>
+		</derivekey>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>PKCS5 Key Derivation Test 14 -- 32 byte key, long password vector generated from openssl</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<passwd>passwordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpassword</passwd>
+			<salt>1234567878563412</salt>
+			<iterations>1000</iterations>
+			<key>A544F0E2F88507E44F92CA2DCAC8B67C0E0D780182CF7DDC18AB1CA9BB3C2904</key>
+		</derivekey>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>PKCS5 Key Derivation Test 15 -- 32 byte key, medium length password vector generated from openssl</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<passwd>passwordpasswordpasswordpasswordpasswordpassword</passwd>
+			<salt>1234567878563412</salt>
+			<iterations>1000</iterations>
+			<key>F1DC1A4224F0C9A4655FFDB7D5BE75060BFFD0B682293A5D2E61BD5A773B81BC</key>
+		</derivekey>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>PKCS5 Key Derivation Test 16 -- 32 byte key, long password vector generated from openssl</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<passwd>passwordpasswordpasswordpasswordpasswordpasswordpassword</passwd>
+			<salt>1234567878563412</salt>
+			<iterations>1000</iterations>
+			<key>798B6F4DA56ECDA25C82A63F3577C3FF97A3A2A92BE3DD810C47704916890615</key>
+		</derivekey>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>PKCS5 Key Derivation Test 17 -- 32 byte key, long password vector generated from openssl</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<passwd>passwordpasswordpasswordpasswordpasswordpasswordpasswordpassword</passwd>
+			<salt>1234567878563412</salt>
+			<iterations>1000</iterations>
+			<key>5F9219EED8BD0BCF5B3440B062305E052CE70AEBC9A43CE9F4F39E3D0E56603D</key>
+		</derivekey>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>PKCS5 Key Derivation Test 18 -- 32 byte key, long password vector generated from openssl</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<passwd>passwordpasswordpasswordpasswordpasswordpasswordpasswordpasswordpassword</passwd>
+			<salt>1234567878563412</salt>
+			<iterations>1000</iterations>
+			<key>421B82FF5825F9BE0E580C4D07BFF0CF54FFFD1BAD7763BF483A8291359F60E6</key>
+		</derivekey>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>PKCS5 Key Derivation Test 19 -- 32 byte key, 65 byte password to test the fix in the CHMAC::Init code vector generated from openssl</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<passwd>passwordpasswordpasswordpasswordpasswordpasswordpasswordpasswordp</passwd>
+			<salt>1234567878563412</salt>
+			<iterations>1000</iterations>
+			<key>5D0AAB5A6A7BCD6F5376DF142E7FEAC98728F4F1322091138300A95DB5EBDE72</key>
+		</derivekey>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>PKCS5 Key Derivation Test 20 -- 32 byte key, password with spaces vector generated from openssl</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<passwd>password password password password password password password passwordp</passwd>
+			<salt>1234567878563412</salt>
+			<iterations>1000</iterations>
+			<key>EE99202289798A02DC6EAEB81A501C43AE3F8513B8F9ECC62FFBF3D0F70EF444</key>
+		</derivekey>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>PKCS5 Key Derivation Test 21 -- 1 byte key vector generated from openssl</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<passwd>password</passwd>
+			<salt>1234567878563412</salt>
+			<iterations>10000</iterations>
+			<key>66</key>
+		</derivekey>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>PKCS5 Key Derivation Test 22 -- 128 byte key vector generated from openssl</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<passwd>password</passwd>
+			<salt>1234567878563412</salt>
+			<iterations>10000</iterations>
+			<key>6628B0927CCC52BF3E78EEAB8CC3074E5159878E7BD21717653F3F7A9BD136CFF4BD0327399AEFF176AD45A71B5BE3985B7EEC5008CED8484B69726B2A813584E6FCB5C7636C3A04DA7F38778BE00C842A5A202578408C27FA08A3A7AACDF7A7B3F9763A33DDDCD09B3E07FA95106B07892F6981AA450447E106BCA8252B1532</key>
+		</derivekey>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>PKCS5 Key Derivation Test 23 -- 160 (multiple of hash size) byte key vector generated from openssl</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<passwd>alkiasdk29s.382{</passwd>
+			<salt>1234567878563412</salt>
+			<iterations>30000</iterations>
+			<key>62E18995350965CF1E02F111ADBEE270FBBAE6A2D8C6B94D24F1E4E41B04FE40C1C7CE7E768092362A75F220601AAF3FBBE339F33D97CA0443D8DD795B88BF97F9A41561A80D20659486459995CA559D5C37792C608CF279E880142319D333D17C62C35C65E9D2A50E0F4010E2D475ECB179A41366D62617BB48B13FA3A98E3FA0F76236442E324B39EDD1B9AB253A1D6A6A6462E3330B548BC4DAE4CD060FC6</key>
+		</derivekey>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>PKCS5 Key Derivation Test 24 -- 8 byte key vector generated from openssl</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<passwd>`1234567890-=¬!"£$%^&*()_+qwertyuiop[]asdfghjkl;'#\zxcvbnm,./QWERTYUIOP{}ASDFGHJKL:@~|ZXCVBNM<>?</passwd>
+			<salt>1234567878563412</salt>
+			<iterations>1000</iterations>
+			<key>F104F4B53A4A160F</key>
+		</derivekey>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>PKCS5 Key Derivation Test 25 -- 256 byte key vector generated from openssl</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<passwd>`1234567890-=¬!"£$%^&*()_+qwertyuiop[]asdfghjkl;'#\zxcvbnm,./QWERTYUIOP{}ASDFGHJKL:@~|ZXCVBNM<>?</passwd>
+			<salt>1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890</salt>
+			<iterations>10000</iterations>
+			<key>24360C775D9B1E95D0280884846FA049E39B60E2D301219C87B2FA3F8EF13F93C977E2A7A2750B3F6518CBC1539BA9CA2628BDC454657D7D7BF964DCFE6EF489A16A7DA4B6FA3DCA2C6E4457D5822D3CDD712633EE990F3254E1931FD4645EF25F036D76EE2A79394AA82CFF3B3AF9D9C1A84860D1753E5FF7DF45D76B115F159F655EFFE309B6472EB77FC8D149C5EAD72084D37ADBE144356D63350911FD192B1E16B8F37B1BC624A8BC0C29D4B190F16A9A9CC373BE74B9935EFD52FA6828107E21D180BB1079EF8300BF17D5163CA06E27A0B322E5E44CC2A34A0927654B24D4EBF59BF0790A108114B91118548AFEFBF96C5C66D99AFCEA4E32D4EAF9A9</key>
+		</derivekey>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+// Out of Memory tests follow
+<action>
+    <actionname>OOM Start</actionname>
+    <actiontype>startmemfailure</actiontype>
+    <actionbody></actionbody>
+    <actionresult>
+        <return>KErrNone</return>
+    </actionresult>
+</action>
+<action>
+	<actionname>PKCS5 Key Derivation Test 1 -- vector from peter gutmann</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<passwd>password</passwd>
+			<salt>1234567878563412</salt>
+			<iterations>5</iterations>
+			<key>D1DAA78615F287E6</key>
+		</derivekey>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>PKCS5 Key Derivation Test 2 -- 100 iterations vector from generated openssl</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<passwd>password</passwd>
+			<salt>1234567878563412</salt>
+			<iterations>100</iterations>
+			<key>68551A5F09AC24F41152059F3A0A2EE8EE6048C9D600BE023C2D85B4BE27BAE6</key>
+		</derivekey>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>PKCS5 Key Derivation Test 3 -- 1000 iterations 16 byte key, vector generated from openssl</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<passwd>password</passwd>
+			<salt>1234567878563412</salt>
+			<iterations>1000</iterations>
+			<key>142F8FAFCE633CCD9265D90FC8FE4252</key>
+		</derivekey>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>PKCS5 Key Derivation Test 4 -- 10000 iteration 64 byte key -- vector from generated openssl</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<passwd>password</passwd>
+			<salt>1234567878563412</salt>
+			<iterations>10000</iterations>
+			<key>6628B0927CCC52BF3E78EEAB8CC3074E5159878E7BD21717653F3F7A9BD136CFF4BD0327399AEFF176AD45A71B5BE3985B7EEC5008CED8484B69726B2A813584</key>
+		</derivekey>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>PKCS5 Key Derivation Test 5 -- leave from performAction other than KErrNoMemory</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<passwd>password</passwd>
+			<salt>1234567878563412</salt>
+			<iterations>10000</iterations>
+			<key>66</key>
+			<leaveinperformaction>1</leaveinperformaction>
+		</derivekey>
+		<knowndefect>ETrue</knowndefect>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+    <actionname>OOM End</actionname>
+    <actiontype>stopmemfailure</actiontype>
+    <actionbody></actionbody>
+    <actionresult>
+        <return>KErrNone</return>
+    </actionresult>
+</action>
+//End of out of memory tests
+
+// =====================================================================
+// PKCS#12 tests
+
+<action>
+    <actionname>OOM Start</actionname>
+    <actiontype>startmemfailure</actiontype>
+    <actionbody></actionbody>
+    <actionresult>
+        <return>KErrNone</return>
+    </actionresult>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>53414C54</salt>
+			<iterations>1</iterations>
+			<key>3037AFC8EA</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>53414C54</salt>
+			<iterations>1</iterations>
+			<key>37F44080CB</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>53414C54</salt>
+			<iterations>1</iterations>
+			<key>8A18939ACF</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>53414C54</salt>
+			<iterations>1</iterations>
+			<key>AFF6C5EDE0</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>53414C54</salt>
+			<iterations>1</iterations>
+			<key>2ED53BB2CE</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1</iterations>
+			<key>49CABE7B67</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1</iterations>
+			<key>F994B990D3</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1</iterations>
+			<key>1AFAAD7E51</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1</iterations>
+			<key>878C91098D</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1</iterations>
+			<key>0DE3F08CAF</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1</iterations>
+			<key>90253A49C0</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1</iterations>
+			<key>40BE97AB93</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1</iterations>
+			<key>A64B43E14E</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1</iterations>
+			<key>E323D5F588</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1</iterations>
+			<key>27476572AF</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>53414C54</salt>
+			<iterations>2</iterations>
+			<key>A1D9010A67</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>53414C54</salt>
+			<iterations>2</iterations>
+			<key>17E4E1F15B</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>53414C54</salt>
+			<iterations>2</iterations>
+			<key>D1B71808FC</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>53414C54</salt>
+			<iterations>2</iterations>
+			<key>EE7E4073F2</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>53414C54</salt>
+			<iterations>2</iterations>
+			<key>5BF185C726</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>2</iterations>
+			<key>72ADF5E041</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>2</iterations>
+			<key>63E6DF459C</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>2</iterations>
+			<key>C2099204AB</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>2</iterations>
+			<key>3204D28A32</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>2</iterations>
+			<key>FB845F70A4</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>2</iterations>
+			<key>B9230EEC1D</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>2</iterations>
+			<key>462B0F2D1B</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>2</iterations>
+			<key>05B66EF1BB</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>2</iterations>
+			<key>C1B7E77C96</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>2</iterations>
+			<key>3DE08CDACF</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>53414C54</salt>
+			<iterations>4</iterations>
+			<key>D0158BFC57</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>53414C54</salt>
+			<iterations>4</iterations>
+			<key>AEB6CD53F0</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>53414C54</salt>
+			<iterations>4</iterations>
+			<key>80010C12B6</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>53414C54</salt>
+			<iterations>4</iterations>
+			<key>497DE34C4C</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>53414C54</salt>
+			<iterations>4</iterations>
+			<key>146C6A5B58</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>4</iterations>
+			<key>E89772E7A5</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>4</iterations>
+			<key>2393071377</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>4</iterations>
+			<key>DF2D961FE3</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>4</iterations>
+			<key>363619530B</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>4</iterations>
+			<key>B43FA2D22B</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>4</iterations>
+			<key>EF50923D65</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>4</iterations>
+			<key>9A618595C7</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>4</iterations>
+			<key>B3B33AA8A6</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>4</iterations>
+			<key>C007DC1ADA</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>4</iterations>
+			<key>91DF366136</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>53414C54</salt>
+			<iterations>8</iterations>
+			<key>9A08D3C4F5</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>53414C54</salt>
+			<iterations>8</iterations>
+			<key>33002FA0B6</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>53414C54</salt>
+			<iterations>8</iterations>
+			<key>22001FA269</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>53414C54</salt>
+			<iterations>8</iterations>
+			<key>B0935F1122</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>53414C54</salt>
+			<iterations>8</iterations>
+			<key>6602B1B4BB</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>8</iterations>
+			<key>3A478368DD</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>8</iterations>
+			<key>6473EB1244</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>8</iterations>
+			<key>AA762B8736</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>8</iterations>
+			<key>F00C5240B0</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>8</iterations>
+			<key>935593CA37</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>8</iterations>
+			<key>FCE1F429AE</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>8</iterations>
+			<key>82B4A13659</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>8</iterations>
+			<key>45FE091D4D</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>8</iterations>
+			<key>5670457314</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>8</iterations>
+			<key>1C4CAE2514</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>53414C54</salt>
+			<iterations>128</iterations>
+			<key>8B4B3CBFB0</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>53414C54</salt>
+			<iterations>128</iterations>
+			<key>C89C3A2C9C</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>53414C54</salt>
+			<iterations>128</iterations>
+			<key>8109F97073</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>53414C54</salt>
+			<iterations>128</iterations>
+			<key>55E985CC15</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>53414C54</salt>
+			<iterations>128</iterations>
+			<key>2802AA97D4</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>128</iterations>
+			<key>881509A34D</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>128</iterations>
+			<key>B2918BC593</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>128</iterations>
+			<key>0FE0529B45</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>128</iterations>
+			<key>1FF923C4B1</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>128</iterations>
+			<key>05D1E56D04</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>128</iterations>
+			<key>99FE149183</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>128</iterations>
+			<key>79E29F3FCB</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>128</iterations>
+			<key>22A70A8657</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>128</iterations>
+			<key>9CBA922190</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>128</iterations>
+			<key>A037A8B1C2</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>53414C54</salt>
+			<iterations>1024</iterations>
+			<key>82824BE51C</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>53414C54</salt>
+			<iterations>1024</iterations>
+			<key>E166049AC4</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>53414C54</salt>
+			<iterations>1024</iterations>
+			<key>90E975CC54</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>53414C54</salt>
+			<iterations>1024</iterations>
+			<key>1FFD40D7BB</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>53414C54</salt>
+			<iterations>1024</iterations>
+			<key>406C92305A</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1024</iterations>
+			<key>E82BD75AA9</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1024</iterations>
+			<key>0182E41FCA</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1024</iterations>
+			<key>101FB77598</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1024</iterations>
+			<key>D7499C6A12</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1024</iterations>
+			<key>2C6222B8E2</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1024</iterations>
+			<key>6789F0680A</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1024</iterations>
+			<key>43E6637258</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1024</iterations>
+			<key>8B3308BDD5</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1024</iterations>
+			<key>CA202602C9</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1024</iterations>
+			<key>F6A33ADA6A</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>53414C54</salt>
+			<iterations>1536</iterations>
+			<key>79A4E1398F</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>53414C54</salt>
+			<iterations>1536</iterations>
+			<key>6F2402CCE4</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>53414C54</salt>
+			<iterations>1536</iterations>
+			<key>B9ED7B3135</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>53414C54</salt>
+			<iterations>1536</iterations>
+			<key>65B27A78C7</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>53414C54</salt>
+			<iterations>1536</iterations>
+			<key>8F8FC96A3D</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1536</iterations>
+			<key>642DDC3F4E</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1536</iterations>
+			<key>0FE4BDC100</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1536</iterations>
+			<key>32D7F10C5E</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1536</iterations>
+			<key>C05FE26245</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1536</iterations>
+			<key>818C967A8F</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1536</iterations>
+			<key>5301B5B2A1</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1536</iterations>
+			<key>9CB5BD2394</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1536</iterations>
+			<key>EB90D956B3</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1536</iterations>
+			<key>ACAFB5EB24</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1536</iterations>
+			<key>A7B0859D9D</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>53414C54</salt>
+			<iterations>2048</iterations>
+			<key>B0F0F2EB44</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>53414C54</salt>
+			<iterations>2048</iterations>
+			<key>C11C0499CC</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>53414C54</salt>
+			<iterations>2048</iterations>
+			<key>3F63500AC4</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>53414C54</salt>
+			<iterations>2048</iterations>
+			<key>B47F802F12</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>53414C54</salt>
+			<iterations>2048</iterations>
+			<key>3099237692</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>2048</iterations>
+			<key>CD04522946</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>2048</iterations>
+			<key>D85432F8AC</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>2048</iterations>
+			<key>C77FDE2E52</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>2048</iterations>
+			<key>62E06B8A26</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>2048</iterations>
+			<key>A5B348EB49</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>2048</iterations>
+			<key>2A824C1B6B</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>2048</iterations>
+			<key>4B8D18B96E</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>2048</iterations>
+			<key>9DABF586AD</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>2048</iterations>
+			<key>F734BE1BF9</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 40, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>2048</iterations>
+			<key>47C18634A0</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>53414C54</salt>
+			<iterations>1</iterations>
+			<key>3037AFC8EACD4E2AEAB3C1E343B81DE8</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>53414C54</salt>
+			<iterations>1</iterations>
+			<key>37F44080CB10A6F7E2719CC979FE0F2E</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>53414C54</salt>
+			<iterations>1</iterations>
+			<key>8A18939ACF4A00A900FE2351DCBAFD0C</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>53414C54</salt>
+			<iterations>1</iterations>
+			<key>AFF6C5EDE0A50855FE56FDEDB6031BD0</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>53414C54</salt>
+			<iterations>1</iterations>
+			<key>2ED53BB2CE3C39A2F4039B734F9D94C5</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1</iterations>
+			<key>49CABE7B67736931126499722509C03D</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1</iterations>
+			<key>F994B990D3554AFB778C729E9BAA0CC6</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1</iterations>
+			<key>1AFAAD7E51964CCD2760CCE134E1F2B8</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1</iterations>
+			<key>878C91098D1F4FD0DD8CBC3A8149DF5F</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1</iterations>
+			<key>0DE3F08CAF4FF556C956527AD47C3497</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1</iterations>
+			<key>90253A49C069E7FF35281461A4DDBE0B</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1</iterations>
+			<key>40BE97AB930A7E8B6DB634C93B94E699</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1</iterations>
+			<key>A64B43E14E9F71F9EC9A3E6B73FA35E6</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1</iterations>
+			<key>E323D5F588414AE68EF8FCA46879C1C7</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1</iterations>
+			<key>27476572AF26E99AB85CD350DC802ABA</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>53414C54</salt>
+			<iterations>2</iterations>
+			<key>A1D9010A6761CB2675F1C33BB3C52158</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>53414C54</salt>
+			<iterations>2</iterations>
+			<key>17E4E1F15BC31052E563BFF7B5D11D15</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>53414C54</salt>
+			<iterations>2</iterations>
+			<key>D1B71808FCCA5C97E8E52CF5E23C633C</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>53414C54</salt>
+			<iterations>2</iterations>
+			<key>EE7E4073F2E6008722BB9842540998C2</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>53414C54</salt>
+			<iterations>2</iterations>
+			<key>5BF185C726EE2182888A834066C30BA9</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>2</iterations>
+			<key>72ADF5E0413FDBF6659A1E7D495BBE32</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>2</iterations>
+			<key>63E6DF459C899D72577C20FFE4F27670</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>2</iterations>
+			<key>C2099204ABFBB841875BD7595A89D31A</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>2</iterations>
+			<key>3204D28A32DF299B612958906C79154A</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>2</iterations>
+			<key>FB845F70A40E96C536641C3F797AAE39</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>2</iterations>
+			<key>B9230EEC1D615A6DFEF5A8793CB06783</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>2</iterations>
+			<key>462B0F2D1B18297A3F2C5E4058A0083E</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>2</iterations>
+			<key>05B66EF1BB844470CBBB46D5F4C7DB29</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>2</iterations>
+			<key>C1B7E77C96BB5EE1386E8461A58F0D0C</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>2</iterations>
+			<key>3DE08CDACF489F30BBD75C0FF401EC02</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>53414C54</salt>
+			<iterations>4</iterations>
+			<key>D0158BFC57E643965DC161741725CE94</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>53414C54</salt>
+			<iterations>4</iterations>
+			<key>AEB6CD53F0D6830161100C4BFD439B34</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>53414C54</salt>
+			<iterations>4</iterations>
+			<key>80010C12B66CC739F4ACF8BB15419770</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>53414C54</salt>
+			<iterations>4</iterations>
+			<key>497DE34C4C64E56AD53E5F8F6E16D1A3</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>53414C54</salt>
+			<iterations>4</iterations>
+			<key>146C6A5B58AF8561220DE4C13A133248</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>4</iterations>
+			<key>E89772E7A52D6D8C65AAE01D0380ED59</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>4</iterations>
+			<key>23930713772E26DBBABB53F3C5C77501</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>4</iterations>
+			<key>DF2D961FE3929BBA41493EB5421FEF7C</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>4</iterations>
+			<key>363619530B170B7BAE1C046B29351C23</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>4</iterations>
+			<key>B43FA2D22B6912F6FEDF1CF3FAD123AF</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>4</iterations>
+			<key>EF50923D65A0610BDC51AD5DB1B4F4F9</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>4</iterations>
+			<key>9A618595C714486B7D7E3120005C8BC1</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>4</iterations>
+			<key>B3B33AA8A6777605E3029C0F8DC45290</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>4</iterations>
+			<key>C007DC1ADA9475C5DB2F9B5D18A2DEFD</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>4</iterations>
+			<key>91DF3661364A0DAD28180A41ADCB5567</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>53414C54</salt>
+			<iterations>8</iterations>
+			<key>9A08D3C4F584ECD1E538B7A46DCFDEA1</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>53414C54</salt>
+			<iterations>8</iterations>
+			<key>33002FA0B6A5A27991A062FF6173E357</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>53414C54</salt>
+			<iterations>8</iterations>
+			<key>22001FA26964DCD0BE3C58AB6E43557C</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>53414C54</salt>
+			<iterations>8</iterations>
+			<key>B0935F11227F5A473073DCD188886687</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>53414C54</salt>
+			<iterations>8</iterations>
+			<key>6602B1B4BBB670208041ECD8E1634845</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>8</iterations>
+			<key>3A478368DD5DC61BAA09325959A3F46C</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>8</iterations>
+			<key>6473EB1244E055149E0858C49FAE7B8D</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>8</iterations>
+			<key>AA762B8736D4C37BAD263103CA283E09</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>8</iterations>
+			<key>F00C5240B03C9A2324BD5FE0AEEE1B62</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>8</iterations>
+			<key>935593CA370BB6988F2F41D2F4ABF56E</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>8</iterations>
+			<key>FCE1F429AEB3B9818D96B88DD25CDED9</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>8</iterations>
+			<key>82B4A13659033EA4025DB51A6CB573F9</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>8</iterations>
+			<key>45FE091D4DD2D50FA7D3340B1DB838F2</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>8</iterations>
+			<key>5670457314E405B0ED1583FC4B82FEAD</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>8</iterations>
+			<key>1C4CAE25146D74F3762B5C3FD3A91752</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>53414C54</salt>
+			<iterations>128</iterations>
+			<key>8B4B3CBFB00466F63B30FEAD111E163D</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>53414C54</salt>
+			<iterations>128</iterations>
+			<key>C89C3A2C9C06626EB831F4BB5262809B</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>53414C54</salt>
+			<iterations>128</iterations>
+			<key>8109F97073FF3D286B21095E7AFBBAFA</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>53414C54</salt>
+			<iterations>128</iterations>
+			<key>55E985CC1581F3D0052F53DB469F6DC9</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>53414C54</salt>
+			<iterations>128</iterations>
+			<key>2802AA97D4C79B1813AB23F2DD710722</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>128</iterations>
+			<key>881509A34D80B5AB5CEC65B859DF2D99</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>128</iterations>
+			<key>B2918BC593DEC4559C279CFA050CB0F9</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>128</iterations>
+			<key>0FE0529B45AFC9BB66323C2182DE414A</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>128</iterations>
+			<key>1FF923C4B1E1007EF168E4185280F818</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>128</iterations>
+			<key>05D1E56D04BC435A60BDE06C5AFAC9E3</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>128</iterations>
+			<key>99FE149183022F9EB2EB815BCC9504E5</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>128</iterations>
+			<key>79E29F3FCB3777460EC0F43D3D7048A7</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>128</iterations>
+			<key>22A70A865774E55CF08A704356112522</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>128</iterations>
+			<key>9CBA922190F1659F6AA3B2B98347EEC2</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>128</iterations>
+			<key>A037A8B1C20DC883FAABF82D8A591B9E</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>53414C54</salt>
+			<iterations>1024</iterations>
+			<key>82824BE51C81A5FF4C4268E256F6621B</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>53414C54</salt>
+			<iterations>1024</iterations>
+			<key>E166049AC4E765E513AFA8A35DDBE756</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>53414C54</salt>
+			<iterations>1024</iterations>
+			<key>90E975CC54F8BDA5A6CED39088716B27</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>53414C54</salt>
+			<iterations>1024</iterations>
+			<key>1FFD40D7BBA891A7E6C4DED39FB0740B</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>53414C54</salt>
+			<iterations>1024</iterations>
+			<key>406C92305ACD663AB0B9EB66DED79295</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1024</iterations>
+			<key>E82BD75AA9467E0B8D92362A56CB5D73</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1024</iterations>
+			<key>0182E41FCA166CEAED10972BDF5F57A8</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1024</iterations>
+			<key>101FB775982CA15E37A065F7CDC5593D</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1024</iterations>
+			<key>D7499C6A1218C419A1F81AA5E3F41E88</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1024</iterations>
+			<key>2C6222B8E2E97F63FFE9E2FC32D673FA</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1024</iterations>
+			<key>6789F0680A5C5840B8ED34B061494171</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1024</iterations>
+			<key>43E663725870C4801A917C41C9B58C41</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1024</iterations>
+			<key>8B3308BDD5A8AE507200EAA16FE19D42</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1024</iterations>
+			<key>CA202602C9A265559B6B96729B574DAA</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1024</iterations>
+			<key>F6A33ADA6A0F5990E9DA747550DE0941</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>53414C54</salt>
+			<iterations>1536</iterations>
+			<key>79A4E1398F511B262E60DCFE9E838C93</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>53414C54</salt>
+			<iterations>1536</iterations>
+			<key>6F2402CCE4A91C1B848CCABD915657A2</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>53414C54</salt>
+			<iterations>1536</iterations>
+			<key>B9ED7B3135488439E78DF480AD845E7E</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>53414C54</salt>
+			<iterations>1536</iterations>
+			<key>65B27A78C72DFEEA6C92846330CE98C6</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>53414C54</salt>
+			<iterations>1536</iterations>
+			<key>8F8FC96A3D958731780B50E843D6BB65</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1536</iterations>
+			<key>642DDC3F4E11C3051D6CDED8DD898C4C</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1536</iterations>
+			<key>0FE4BDC1000D1AC2F5E83A938A2BE2F1</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1536</iterations>
+			<key>32D7F10C5EAA9961B590E8FE4561B9D5</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1536</iterations>
+			<key>C05FE26245C742CC01B23C655E5D934D</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1536</iterations>
+			<key>818C967A8F742565CCA37CEA8C683FCC</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1536</iterations>
+			<key>5301B5B2A1A6EB6832DC47F3A0850B56</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1536</iterations>
+			<key>9CB5BD2394B268E13DCA91EE2BB0A39C</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1536</iterations>
+			<key>EB90D956B358B7C5E9FC4A4EFA02589B</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1536</iterations>
+			<key>ACAFB5EB24FFB3B418587B832F52C226</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1536</iterations>
+			<key>A7B0859D9D1BF5E59047192BF2B8C7AC</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>53414C54</salt>
+			<iterations>2048</iterations>
+			<key>B0F0F2EB445AB4DBE901D3C248482259</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>53414C54</salt>
+			<iterations>2048</iterations>
+			<key>C11C0499CC9EC9FBB6ACA7BF4C0B5389</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>53414C54</salt>
+			<iterations>2048</iterations>
+			<key>3F63500AC41074B4D2C1A991CBBBB013</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>53414C54</salt>
+			<iterations>2048</iterations>
+			<key>B47F802F1238A73054DEFD7D3AABFC81</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>53414C54</salt>
+			<iterations>2048</iterations>
+			<key>3099237692953AB2017A1BF0B12DAFC8</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>2048</iterations>
+			<key>CD045229461658BC6C47C259F2D20433</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>2048</iterations>
+			<key>D85432F8ACAE9653D34A68D9329F347A</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>2048</iterations>
+			<key>C77FDE2E52892DF5613E6A3B8F1C80B9</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>2048</iterations>
+			<key>62E06B8A2650199AE6E73AB3F503BF02</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>2048</iterations>
+			<key>A5B348EB4926290B223724CC8E4ED67F</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>2048</iterations>
+			<key>2A824C1B6B36AD48D0A5AE94E27988D4</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>2048</iterations>
+			<key>4B8D18B96EB898D1BAA8BDD82BC443F0</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>2048</iterations>
+			<key>9DABF586AD2BCD603DC38C3987C98D73</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>2048</iterations>
+			<key>F734BE1BF990A3A59CEA6C821492F0B6</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 128, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>2048</iterations>
+			<key>47C18634A09AB37AB6EECBCD5C7E7F23</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>53414C54</salt>
+			<iterations>1</iterations>
+			<key>3037AFC8EACD4E2AEAB3C1E343B81DE84ACF7E50A7</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>53414C54</salt>
+			<iterations>1</iterations>
+			<key>37F44080CB10A6F7E2719CC979FE0F2E37D0A2CD9B</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>53414C54</salt>
+			<iterations>1</iterations>
+			<key>8A18939ACF4A00A900FE2351DCBAFD0C19FCB09599</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>53414C54</salt>
+			<iterations>1</iterations>
+			<key>AFF6C5EDE0A50855FE56FDEDB6031BD0BDEFCB74C5</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>53414C54</salt>
+			<iterations>1</iterations>
+			<key>2ED53BB2CE3C39A2F4039B734F9D94C5075116B05A</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1</iterations>
+			<key>49CABE7B67736931126499722509C03D4BBEF714A8</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1</iterations>
+			<key>F994B990D3554AFB778C729E9BAA0CC6EB5BA76534</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1</iterations>
+			<key>1AFAAD7E51964CCD2760CCE134E1F2B87B314CC024</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1</iterations>
+			<key>878C91098D1F4FD0DD8CBC3A8149DF5FDE18B82888</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1</iterations>
+			<key>0DE3F08CAF4FF556C956527AD47C3497C24281A32B</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1</iterations>
+			<key>90253A49C069E7FF35281461A4DDBE0BB38F4041A0</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1</iterations>
+			<key>40BE97AB930A7E8B6DB634C93B94E699D1AD5125B8</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1</iterations>
+			<key>A64B43E14E9F71F9EC9A3E6B73FA35E6F7058A9FC8</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1</iterations>
+			<key>E323D5F588414AE68EF8FCA46879C1C7317B8FA9C1</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1</iterations>
+			<key>27476572AF26E99AB85CD350DC802ABA3A831332A7</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>53414C54</salt>
+			<iterations>2</iterations>
+			<key>A1D9010A6761CB2675F1C33BB3C5215851703D0D26</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>53414C54</salt>
+			<iterations>2</iterations>
+			<key>17E4E1F15BC31052E563BFF7B5D11D1545835E9B47</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>53414C54</salt>
+			<iterations>2</iterations>
+			<key>D1B71808FCCA5C97E8E52CF5E23C633C5B9D4A5BE3</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>53414C54</salt>
+			<iterations>2</iterations>
+			<key>EE7E4073F2E6008722BB9842540998C2C4F7A87C3A</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>53414C54</salt>
+			<iterations>2</iterations>
+			<key>5BF185C726EE2182888A834066C30BA92C0A6A140F</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>2</iterations>
+			<key>72ADF5E0413FDBF6659A1E7D495BBE32915F295734</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>2</iterations>
+			<key>63E6DF459C899D72577C20FFE4F27670F3A85EA780</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>2</iterations>
+			<key>C2099204ABFBB841875BD7595A89D31A9D03A34B94</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>2</iterations>
+			<key>3204D28A32DF299B612958906C79154AED69D3F1C0</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>2</iterations>
+			<key>FB845F70A40E96C536641C3F797AAE39BE8A81CD04</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>2</iterations>
+			<key>B9230EEC1D615A6DFEF5A8793CB067834B66B77A11</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>2</iterations>
+			<key>462B0F2D1B18297A3F2C5E4058A0083E1FF74BE8CC</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>2</iterations>
+			<key>05B66EF1BB844470CBBB46D5F4C7DB291B21A4623F</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>2</iterations>
+			<key>C1B7E77C96BB5EE1386E8461A58F0D0CB544944CDF</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>2</iterations>
+			<key>3DE08CDACF489F30BBD75C0FF401EC02E87ECD4647</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>53414C54</salt>
+			<iterations>4</iterations>
+			<key>D0158BFC57E643965DC161741725CE9478CDF2A0B5</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>53414C54</salt>
+			<iterations>4</iterations>
+			<key>AEB6CD53F0D6830161100C4BFD439B341066339A00</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>53414C54</salt>
+			<iterations>4</iterations>
+			<key>80010C12B66CC739F4ACF8BB154197709F78AAD39A</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>53414C54</salt>
+			<iterations>4</iterations>
+			<key>497DE34C4C64E56AD53E5F8F6E16D1A3220BC95812</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>53414C54</salt>
+			<iterations>4</iterations>
+			<key>146C6A5B58AF8561220DE4C13A133248300D59D39E</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>4</iterations>
+			<key>E89772E7A52D6D8C65AAE01D0380ED59927CD0C2BE</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>4</iterations>
+			<key>23930713772E26DBBABB53F3C5C775019B8048482B</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>4</iterations>
+			<key>DF2D961FE3929BBA41493EB5421FEF7C2F6C31FE0A</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>4</iterations>
+			<key>363619530B170B7BAE1C046B29351C235B8EFED588</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>4</iterations>
+			<key>B43FA2D22B6912F6FEDF1CF3FAD123AF6FC587CA4E</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>4</iterations>
+			<key>EF50923D65A0610BDC51AD5DB1B4F4F98FD4D15B0E</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>4</iterations>
+			<key>9A618595C714486B7D7E3120005C8BC18D5D95D79B</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>4</iterations>
+			<key>B3B33AA8A6777605E3029C0F8DC45290E3C4167208</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>4</iterations>
+			<key>C007DC1ADA9475C5DB2F9B5D18A2DEFD93A30AE3B2</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>4</iterations>
+			<key>91DF3661364A0DAD28180A41ADCB55676E992986EF</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>53414C54</salt>
+			<iterations>8</iterations>
+			<key>9A08D3C4F584ECD1E538B7A46DCFDEA18A8F8BE461</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>53414C54</salt>
+			<iterations>8</iterations>
+			<key>33002FA0B6A5A27991A062FF6173E357D9496E6ED1</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>53414C54</salt>
+			<iterations>8</iterations>
+			<key>22001FA26964DCD0BE3C58AB6E43557CE7B006E466</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>53414C54</salt>
+			<iterations>8</iterations>
+			<key>B0935F11227F5A473073DCD188886687D2A1811953</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>53414C54</salt>
+			<iterations>8</iterations>
+			<key>6602B1B4BBB670208041ECD8E1634845FC0DC28532</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>8</iterations>
+			<key>3A478368DD5DC61BAA09325959A3F46C7F46AD9E44</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>8</iterations>
+			<key>6473EB1244E055149E0858C49FAE7B8DC951E7E32A</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>8</iterations>
+			<key>AA762B8736D4C37BAD263103CA283E09010B7EFC53</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>8</iterations>
+			<key>F00C5240B03C9A2324BD5FE0AEEE1B6237EB9421D8</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>8</iterations>
+			<key>935593CA370BB6988F2F41D2F4ABF56E433064D83E</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>8</iterations>
+			<key>FCE1F429AEB3B9818D96B88DD25CDED9F01233C0BF</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>8</iterations>
+			<key>82B4A13659033EA4025DB51A6CB573F93B03A69634</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>8</iterations>
+			<key>45FE091D4DD2D50FA7D3340B1DB838F22161FBEE94</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>8</iterations>
+			<key>5670457314E405B0ED1583FC4B82FEAD94B434EBED</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>8</iterations>
+			<key>1C4CAE25146D74F3762B5C3FD3A917522564855675</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>53414C54</salt>
+			<iterations>128</iterations>
+			<key>8B4B3CBFB00466F63B30FEAD111E163D56118A7D93</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>53414C54</salt>
+			<iterations>128</iterations>
+			<key>C89C3A2C9C06626EB831F4BB5262809B9C138181C4</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>53414C54</salt>
+			<iterations>128</iterations>
+			<key>8109F97073FF3D286B21095E7AFBBAFAA62B1313EE</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>53414C54</salt>
+			<iterations>128</iterations>
+			<key>55E985CC1581F3D0052F53DB469F6DC9B72C8F0F5C</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>53414C54</salt>
+			<iterations>128</iterations>
+			<key>2802AA97D4C79B1813AB23F2DD71072209BCFF9D4F</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>128</iterations>
+			<key>881509A34D80B5AB5CEC65B859DF2D998F1A98B2DD</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>128</iterations>
+			<key>B2918BC593DEC4559C279CFA050CB0F917D8ED7FF3</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>128</iterations>
+			<key>0FE0529B45AFC9BB66323C2182DE414A3D24275EEF</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>128</iterations>
+			<key>1FF923C4B1E1007EF168E4185280F8184B14D41DC3</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>128</iterations>
+			<key>05D1E56D04BC435A60BDE06C5AFAC9E3CB282C7B16</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>128</iterations>
+			<key>99FE149183022F9EB2EB815BCC9504E59C524A1497</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>128</iterations>
+			<key>79E29F3FCB3777460EC0F43D3D7048A7F4919120FE</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>128</iterations>
+			<key>22A70A865774E55CF08A70435611252278DCE76AED</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>128</iterations>
+			<key>9CBA922190F1659F6AA3B2B98347EEC28DCD740C67</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>128</iterations>
+			<key>A037A8B1C20DC883FAABF82D8A591B9E2BE41C79CE</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>53414C54</salt>
+			<iterations>1024</iterations>
+			<key>82824BE51C81A5FF4C4268E256F6621B9656325BEF</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>53414C54</salt>
+			<iterations>1024</iterations>
+			<key>E166049AC4E765E513AFA8A35DDBE7562E01B79FC2</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>53414C54</salt>
+			<iterations>1024</iterations>
+			<key>90E975CC54F8BDA5A6CED39088716B272C4B5887CE</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>53414C54</salt>
+			<iterations>1024</iterations>
+			<key>1FFD40D7BBA891A7E6C4DED39FB0740B6A5AD39E84</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>53414C54</salt>
+			<iterations>1024</iterations>
+			<key>406C92305ACD663AB0B9EB66DED7929547C692FE11</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1024</iterations>
+			<key>E82BD75AA9467E0B8D92362A56CB5D7353508CC355</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1024</iterations>
+			<key>0182E41FCA166CEAED10972BDF5F57A8F851200E37</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1024</iterations>
+			<key>101FB775982CA15E37A065F7CDC5593DE385BDF504</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1024</iterations>
+			<key>D7499C6A1218C419A1F81AA5E3F41E88AF0704B614</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1024</iterations>
+			<key>2C6222B8E2E97F63FFE9E2FC32D673FAAEC7201B95</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1024</iterations>
+			<key>6789F0680A5C5840B8ED34B061494171E6407643F9</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1024</iterations>
+			<key>43E663725870C4801A917C41C9B58C419933A93475</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1024</iterations>
+			<key>8B3308BDD5A8AE507200EAA16FE19D42F3736716A5</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1024</iterations>
+			<key>CA202602C9A265559B6B96729B574DAA9B6D67036F</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1024</iterations>
+			<key>F6A33ADA6A0F5990E9DA747550DE0941AE4263D468</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>53414C54</salt>
+			<iterations>1536</iterations>
+			<key>79A4E1398F511B262E60DCFE9E838C938B806716A9</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>53414C54</salt>
+			<iterations>1536</iterations>
+			<key>6F2402CCE4A91C1B848CCABD915657A242EA1FC6D2</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>53414C54</salt>
+			<iterations>1536</iterations>
+			<key>B9ED7B3135488439E78DF480AD845E7EFEE3EF39E6</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>53414C54</salt>
+			<iterations>1536</iterations>
+			<key>65B27A78C72DFEEA6C92846330CE98C6721909E89B</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>53414C54</salt>
+			<iterations>1536</iterations>
+			<key>8F8FC96A3D958731780B50E843D6BB65137A0728C3</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1536</iterations>
+			<key>642DDC3F4E11C3051D6CDED8DD898C4CAEB2463E25</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1536</iterations>
+			<key>0FE4BDC1000D1AC2F5E83A938A2BE2F14C62609AB4</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1536</iterations>
+			<key>32D7F10C5EAA9961B590E8FE4561B9D571AD446F0C</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1536</iterations>
+			<key>C05FE26245C742CC01B23C655E5D934D734610DE01</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1536</iterations>
+			<key>818C967A8F742565CCA37CEA8C683FCC5BEE9DA7B0</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1536</iterations>
+			<key>5301B5B2A1A6EB6832DC47F3A0850B5680178499B3</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1536</iterations>
+			<key>9CB5BD2394B268E13DCA91EE2BB0A39C101A5534AA</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1536</iterations>
+			<key>EB90D956B358B7C5E9FC4A4EFA02589B2357EA87EA</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1536</iterations>
+			<key>ACAFB5EB24FFB3B418587B832F52C2260339CD1DD4</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1536</iterations>
+			<key>A7B0859D9D1BF5E59047192BF2B8C7ACC676E0C4B2</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>53414C54</salt>
+			<iterations>2048</iterations>
+			<key>B0F0F2EB445AB4DBE901D3C2484822595F58B91CCD</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>53414C54</salt>
+			<iterations>2048</iterations>
+			<key>C11C0499CC9EC9FBB6ACA7BF4C0B538991A350E7A2</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>53414C54</salt>
+			<iterations>2048</iterations>
+			<key>3F63500AC41074B4D2C1A991CBBBB013D8416F66C2</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>53414C54</salt>
+			<iterations>2048</iterations>
+			<key>B47F802F1238A73054DEFD7D3AABFC819FC75A29D9</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>53414C54</salt>
+			<iterations>2048</iterations>
+			<key>3099237692953AB2017A1BF0B12DAFC8F3A797AA45</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>2048</iterations>
+			<key>CD045229461658BC6C47C259F2D20433173DE4D31E</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>2048</iterations>
+			<key>D85432F8ACAE9653D34A68D9329F347AA10E53DB6D</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>2048</iterations>
+			<key>C77FDE2E52892DF5613E6A3B8F1C80B92E9E2AB0BC</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>2048</iterations>
+			<key>62E06B8A2650199AE6E73AB3F503BF027DCEC0A49B</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>2048</iterations>
+			<key>A5B348EB4926290B223724CC8E4ED67FF458F23622</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>2048</iterations>
+			<key>2A824C1B6B36AD48D0A5AE94E27988D4F6BDCB2A25</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>2048</iterations>
+			<key>4B8D18B96EB898D1BAA8BDD82BC443F0FF00CE1360</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>2048</iterations>
+			<key>9DABF586AD2BCD603DC38C3987C98D73A5A9F4B3B2</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>2048</iterations>
+			<key>F734BE1BF990A3A59CEA6C821492F0B660C6488EF0</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 168, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>2048</iterations>
+			<key>47C18634A09AB37AB6EECBCD5C7E7F234F02E574A1</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>53414C54</salt>
+			<iterations>1</iterations>
+			<key>3037AFC8EACD4E2AEAB3C1E343B81DE84ACF7E50A7FB67481AA26FAE2392310DEEF5BA9CB27DCE2D3FB11C95109E</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>53414C54</salt>
+			<iterations>1</iterations>
+			<key>37F44080CB10A6F7E2719CC979FE0F2E37D0A2CD9B5FC87F188064903840A07BEA1540D4397A8C3BF85454D5EAEF</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>53414C54</salt>
+			<iterations>1</iterations>
+			<key>8A18939ACF4A00A900FE2351DCBAFD0C19FCB0959936E4C6D9ED338B321B97C02E22A12E67A249DF5FFBB5F09E01</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>53414C54</salt>
+			<iterations>1</iterations>
+			<key>AFF6C5EDE0A50855FE56FDEDB6031BD0BDEFCB74C596AEC2CBF2648BC315B5422D9071708C31F2FCC6D7AC48ED63</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>53414C54</salt>
+			<iterations>1</iterations>
+			<key>2ED53BB2CE3C39A2F4039B734F9D94C5075116B05A655F8AB429B72644AA7EE4C3FA31141DACFEB8D89E1825091F</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1</iterations>
+			<key>49CABE7B67736931126499722509C03D4BBEF714A80CCCCF475F4CA3FCBC217CAFA6AFF894CEA28E0DCD7B5A0D0D</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1</iterations>
+			<key>F994B990D3554AFB778C729E9BAA0CC6EB5BA765340999DE8474B918B754A380F8141A055CD68B85B4CDCC592ED9</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1</iterations>
+			<key>1AFAAD7E51964CCD2760CCE134E1F2B87B314CC0246300C1BDD916C1EF496E57D589FB2C357D7EF9142AB64B2E02</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1</iterations>
+			<key>878C91098D1F4FD0DD8CBC3A8149DF5FDE18B82888F04507B6810813D6DDAF8E0257911B49AB5250127C50809B33</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1</iterations>
+			<key>0DE3F08CAF4FF556C956527AD47C3497C24281A32B7984CFB3D568FE48E9F78B99EB8561E2F627E46D0EEECF491C</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1</iterations>
+			<key>90253A49C069E7FF35281461A4DDBE0BB38F4041A04FF42A617251CC66ED7314BFAF4CB2F47A98E42B8AA3BE142A</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1</iterations>
+			<key>40BE97AB930A7E8B6DB634C93B94E699D1AD5125B8FA3F056762C96D7E119F68827FBFCC07B2A9E98238B52AA02B</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1</iterations>
+			<key>A64B43E14E9F71F9EC9A3E6B73FA35E6F7058A9FC812A4EEE1F3DE7E52EA6A981DB02085FC4AB4860E438EA50BC5</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1</iterations>
+			<key>E323D5F588414AE68EF8FCA46879C1C7317B8FA9C19C126E28BC5C05064D38F67EF7A72A28795F0CFBA8574DA174</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1</iterations>
+			<key>27476572AF26E99AB85CD350DC802ABA3A831332A7E037629B764434E2E02B5AB8E8A3DC181BBA3AD9AF9D7E8F08</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>53414C54</salt>
+			<iterations>2</iterations>
+			<key>A1D9010A6761CB2675F1C33BB3C5215851703D0D2657B057B9372B986ABA327B6C8B8D4372656C74E9756C7C0C2C</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>53414C54</salt>
+			<iterations>2</iterations>
+			<key>17E4E1F15BC31052E563BFF7B5D11D1545835E9B47AC57D1E3FE07F2C194037B1CE0E18DE0CB8C335975EA51B037</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>53414C54</salt>
+			<iterations>2</iterations>
+			<key>D1B71808FCCA5C97E8E52CF5E23C633C5B9D4A5BE332D3AB8A36EE0DC8F1B7E691D2FA8BCCC2C7C371639EBA5CC6</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>53414C54</salt>
+			<iterations>2</iterations>
+			<key>EE7E4073F2E6008722BB9842540998C2C4F7A87C3A0EC11A60E916ADAD62C57711E88134D3451CEE8640938390E9</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>53414C54</salt>
+			<iterations>2</iterations>
+			<key>5BF185C726EE2182888A834066C30BA92C0A6A140FD09995773E708440FF38F65CBF71E7449EF43ADDDDCCEE7B63</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>2</iterations>
+			<key>72ADF5E0413FDBF6659A1E7D495BBE32915F295734423A7247E5DFD46D2CE07E64F4F881362C98992B188EDE499D</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>2</iterations>
+			<key>63E6DF459C899D72577C20FFE4F27670F3A85EA780B450C711D83FB12C0B0A0539209B1B06AF82EE392AB3FD6A6B</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>2</iterations>
+			<key>C2099204ABFBB841875BD7595A89D31A9D03A34B94D3ED582C55B0787E2FB841ADE1E6171D6FE2BDDB19A658F552</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>2</iterations>
+			<key>3204D28A32DF299B612958906C79154AED69D3F1C0351B1A4B4E2DCA7E93F3CAD92714CC9E13CCD0E95A305EBB13</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>2</iterations>
+			<key>FB845F70A40E96C536641C3F797AAE39BE8A81CD04873EC243829CE9F83DE277AEC92B18D43211D6DAC966AFFFE8</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>2</iterations>
+			<key>B9230EEC1D615A6DFEF5A8793CB067834B66B77A11162299D91EC09517DEACB6C8992D8D1952B9410AED287F9387</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>2</iterations>
+			<key>462B0F2D1B18297A3F2C5E4058A0083E1FF74BE8CC49A6C7BD0A735DBA22FCBC56A6AACAA2ECE7F146A54C7442A7</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>2</iterations>
+			<key>05B66EF1BB844470CBBB46D5F4C7DB291B21A4623F41D1179DBADD72CF7CC8A3F03118C5EF87C588C6665E942158</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>2</iterations>
+			<key>C1B7E77C96BB5EE1386E8461A58F0D0CB544944CDFE51188263603019F80688985DB1EF389A8F2CADA47463756C7</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>2</iterations>
+			<key>3DE08CDACF489F30BBD75C0FF401EC02E87ECD4647451A53DE6218B8B2F860931DE8975712EAC7CAF34347828525</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>53414C54</salt>
+			<iterations>4</iterations>
+			<key>D0158BFC57E643965DC161741725CE9478CDF2A0B52A78253F32B2DFCC2228C929F19663EC3AF4B6B3B4A514D2AE</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>53414C54</salt>
+			<iterations>4</iterations>
+			<key>AEB6CD53F0D6830161100C4BFD439B341066339A0025D3CF7DC68CEE4D9AC92B10B29EB19973637D27DC2C9BF911</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>53414C54</salt>
+			<iterations>4</iterations>
+			<key>80010C12B66CC739F4ACF8BB154197709F78AAD39ABC8EEC11F7C88CD138DE85A21B5D5DCB9C8E50E0AFABE82149</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>53414C54</salt>
+			<iterations>4</iterations>
+			<key>497DE34C4C64E56AD53E5F8F6E16D1A3220BC95812046A01A53F6FB1C9051ED917D0B3C08A82CADA712730DD2410</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>53414C54</salt>
+			<iterations>4</iterations>
+			<key>146C6A5B58AF8561220DE4C13A133248300D59D39E22569CC568CB98585324F9287A672ABFCDF360A26B8B83D1AE</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>4</iterations>
+			<key>E89772E7A52D6D8C65AAE01D0380ED59927CD0C2BE22F0030D6D6FBF85D6A56D7D55A3002233181BCC2A0C4108C8</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>4</iterations>
+			<key>23930713772E26DBBABB53F3C5C775019B8048482B6FECC40729F2D5023D6F3C27092166E11A435738C3E0DBF7B0</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>4</iterations>
+			<key>DF2D961FE3929BBA41493EB5421FEF7C2F6C31FE0A93D6A3DD0A61826365407B4C1CBB589C0BC10EC8B510A83771</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>4</iterations>
+			<key>363619530B170B7BAE1C046B29351C235B8EFED58879EAB2DAF93502D254C5569C2667F16B2AA036619AAF4D8E33</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>4</iterations>
+			<key>B43FA2D22B6912F6FEDF1CF3FAD123AF6FC587CA4EFF6FE83AD6ED83E4F217EF7E0C6727BEF0614398026907E7E6</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>4</iterations>
+			<key>EF50923D65A0610BDC51AD5DB1B4F4F98FD4D15B0EA1D3AB1983B1E0496EB6FD7259774354267B1976BE459A1D23</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>4</iterations>
+			<key>9A618595C714486B7D7E3120005C8BC18D5D95D79B54DE1063C64DBE97C41BFC6A4A5239B77F2F603C7AFE06247C</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>4</iterations>
+			<key>B3B33AA8A6777605E3029C0F8DC45290E3C4167208FA46F3C504ABA355D99FE3A4291DBAB83CB6980CD28C153D24</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>4</iterations>
+			<key>C007DC1ADA9475C5DB2F9B5D18A2DEFD93A30AE3B2F2B76DBC180C689C88147F5366D48C10086AD45B445F818F22</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>4</iterations>
+			<key>91DF3661364A0DAD28180A41ADCB55676E992986EFCD5481A7EBCCA45806E087BB95BAEFD24685A7D9B08426EFCF</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>53414C54</salt>
+			<iterations>8</iterations>
+			<key>9A08D3C4F584ECD1E538B7A46DCFDEA18A8F8BE4612564ECF299468389BF3597B38FF0ADB79AE9A718D7FC5E0D7E</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>53414C54</salt>
+			<iterations>8</iterations>
+			<key>33002FA0B6A5A27991A062FF6173E357D9496E6ED1CD2460647D83960A81A688C1E7C3CB1745C640F96CA26BAB55</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>53414C54</salt>
+			<iterations>8</iterations>
+			<key>22001FA26964DCD0BE3C58AB6E43557CE7B006E466B5176BC31A916229C8DC27918BEAC1912CCD1BEDD4D9AC6F7F</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>53414C54</salt>
+			<iterations>8</iterations>
+			<key>B0935F11227F5A473073DCD188886687D2A18119532A1D5D0A8631441599FF319BD921404D04DA973217A199F621</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>53414C54</salt>
+			<iterations>8</iterations>
+			<key>6602B1B4BBB670208041ECD8E1634845FC0DC28532AF24AA6CB93368E87126BC821DB7B3F4301455B454E9715981</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>8</iterations>
+			<key>3A478368DD5DC61BAA09325959A3F46C7F46AD9E449B3AFB8236BFFDF548BA07B6269CB5C0D0E0E00AABB5E872F7</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>8</iterations>
+			<key>6473EB1244E055149E0858C49FAE7B8DC951E7E32AC2AA2146482717104D3E93074D41BCA226B3212A41E4EC0F00</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>8</iterations>
+			<key>AA762B8736D4C37BAD263103CA283E09010B7EFC538B44C6C3CB724C8CEC28C91F57A2778A8C74CBBF00A63D6875</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>8</iterations>
+			<key>F00C5240B03C9A2324BD5FE0AEEE1B6237EB9421D88232044436DA8D74F09E19B578C65F8629D022FD8D529F11E2</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>8</iterations>
+			<key>935593CA370BB6988F2F41D2F4ABF56E433064D83E5C5C9892BDB854C8219FFBC1404D590450B1613EB0D2CC0447</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>8</iterations>
+			<key>FCE1F429AEB3B9818D96B88DD25CDED9F01233C0BFCE80BAAFDC06F9C1D1A2862C10203D891E0B2C23F5394ED271</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>8</iterations>
+			<key>82B4A13659033EA4025DB51A6CB573F93B03A69634D71DFB7E270A406AF705382CCA3BB17F29C88ED81EA583AFF5</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>8</iterations>
+			<key>45FE091D4DD2D50FA7D3340B1DB838F22161FBEE94047C10AE3CA2853B57E8E59A819DE9BB2D4F3BFBD302F978C7</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>8</iterations>
+			<key>5670457314E405B0ED1583FC4B82FEAD94B434EBEDD86DFBC39161A8A7E48CAD3591C2C9A14FAA242D860ED55163</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>8</iterations>
+			<key>1C4CAE25146D74F3762B5C3FD3A917522564855675801D9D7D946C11B6F57C42C2E7447F8CACF4178D8F7A001A18</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>53414C54</salt>
+			<iterations>128</iterations>
+			<key>8B4B3CBFB00466F63B30FEAD111E163D56118A7D93AF1D5E01AB3B9973959193DE7A2433CB46A8A15F2D84D97DBC</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>53414C54</salt>
+			<iterations>128</iterations>
+			<key>C89C3A2C9C06626EB831F4BB5262809B9C138181C44B6D521245B6BBDBE2271369C6B77EC12626368DFCEB358BB8</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>53414C54</salt>
+			<iterations>128</iterations>
+			<key>8109F97073FF3D286B21095E7AFBBAFAA62B1313EEE6D0B4E9C0A5EBBFF08FC23CB11E1DB17EBAE6A93C2DA749A6</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>53414C54</salt>
+			<iterations>128</iterations>
+			<key>55E985CC1581F3D0052F53DB469F6DC9B72C8F0F5C2011A3B26BD1C95A8797741938D8E3F2057F76B04310B3D922</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>53414C54</salt>
+			<iterations>128</iterations>
+			<key>2802AA97D4C79B1813AB23F2DD71072209BCFF9D4F97A6D3BDA02B3173244164AAE9123987A00699B74F042C35DC</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>128</iterations>
+			<key>881509A34D80B5AB5CEC65B859DF2D998F1A98B2DD8D380FA3C08389E335A71B575F3D48228119EA2E34351C7E51</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>128</iterations>
+			<key>B2918BC593DEC4559C279CFA050CB0F917D8ED7FF3FD6375B5D9AB89DDA3B28526392E1BED3594C3A22594137133</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>128</iterations>
+			<key>0FE0529B45AFC9BB66323C2182DE414A3D24275EEF6F15DAE903AEAA4C8A9A23B8DA9E91293F5ED1904E6D8F8ED5</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>128</iterations>
+			<key>1FF923C4B1E1007EF168E4185280F8184B14D41DC3483C97430FABCCAB60A1F471741095AEB2B22B00951CEFB816</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>128</iterations>
+			<key>05D1E56D04BC435A60BDE06C5AFAC9E3CB282C7B16C2FF4007B705AC86ACDBE7C08A599E170F42573671CAAC9978</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>128</iterations>
+			<key>99FE149183022F9EB2EB815BCC9504E59C524A1497922B0A2AAB43D17ACD0C3C782048DA1AD2BA09B56143681975</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>128</iterations>
+			<key>79E29F3FCB3777460EC0F43D3D7048A7F4919120FEB822868DC3090EEB79DED23D3E5F8FADAF47EB100E36B393BF</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>128</iterations>
+			<key>22A70A865774E55CF08A70435611252278DCE76AED5C8A686073CBBEFEA2A3498BF5505B3E9CC6A1BE108737874F</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>128</iterations>
+			<key>9CBA922190F1659F6AA3B2B98347EEC28DCD740C672CFA941C4ECCF5F173B42AABBBE23AEF7593C67EF5B183C3C8</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>128</iterations>
+			<key>A037A8B1C20DC883FAABF82D8A591B9E2BE41C79CED20B6799ADA986C06DDF299F615C6B222A9C12CB65CD078D9A</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>53414C54</salt>
+			<iterations>1024</iterations>
+			<key>82824BE51C81A5FF4C4268E256F6621B9656325BEFB8E936331AB1AB8BDE634EA6298D7B8EB79832AAF01CF1F49A</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>53414C54</salt>
+			<iterations>1024</iterations>
+			<key>E166049AC4E765E513AFA8A35DDBE7562E01B79FC2680CD8CEAEF02609895F3CAC00A837D49674737EEC85151786</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>53414C54</salt>
+			<iterations>1024</iterations>
+			<key>90E975CC54F8BDA5A6CED39088716B272C4B5887CE53571C9CE41B5FB82532D38F0DB4489BC642605ACF4FDCAEF5</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>53414C54</salt>
+			<iterations>1024</iterations>
+			<key>1FFD40D7BBA891A7E6C4DED39FB0740B6A5AD39E848576D39CDFA77EFE9969986D072D8C44B9147961EC0A3BC5AC</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>53414C54</salt>
+			<iterations>1024</iterations>
+			<key>406C92305ACD663AB0B9EB66DED7929547C692FE118E8D16D80EDCE4FAFBB47960F4B4AB7272496528D235E45B5A</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1024</iterations>
+			<key>E82BD75AA9467E0B8D92362A56CB5D7353508CC355C1E6AFFDE182AC0F49BF46F175F79F51352196D93EA67E17DF</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1024</iterations>
+			<key>0182E41FCA166CEAED10972BDF5F57A8F851200E371EC06DC900E66ACAEA25B12EFE28E7571395A1B57ABB8E9DAC</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1024</iterations>
+			<key>101FB775982CA15E37A065F7CDC5593DE385BDF504433650CC572F880CE0F525E77551ACFFCF92F66C9D407BFABF</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1024</iterations>
+			<key>D7499C6A1218C419A1F81AA5E3F41E88AF0704B61492CF0D98500BD3842C77C2D639589A83E60B22BE53751156F1</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1024</iterations>
+			<key>2C6222B8E2E97F63FFE9E2FC32D673FAAEC7201B95969233AAFAC6ABB4C369DDD9394FBCE2C4D86670BAA2AD6355</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1024</iterations>
+			<key>6789F0680A5C5840B8ED34B061494171E6407643F9400545C62690ED570B3AAD96654D5DE15C7CA6AE242E6123E9</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1024</iterations>
+			<key>43E663725870C4801A917C41C9B58C419933A93475CEA2FBB864F29E6D949DF2AAA8ADAB91C8A32B68062F12EE61</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1024</iterations>
+			<key>8B3308BDD5A8AE507200EAA16FE19D42F3736716A5C24BF367B0C63BE89EA9EB57615C0ABFAFC3FB8DFDEA3907AA</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1024</iterations>
+			<key>CA202602C9A265559B6B96729B574DAA9B6D67036F69D903784374671E9B7E087ADE4AB9C5AE6BB62530C90F4E9C</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1024</iterations>
+			<key>F6A33ADA6A0F5990E9DA747550DE0941AE4263D4689DBDFBE81CF5F337376B8EEC58ADFD518A26768ABEB20131B9</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>53414C54</salt>
+			<iterations>1536</iterations>
+			<key>79A4E1398F511B262E60DCFE9E838C938B806716A9831A1BF6FFE616ADE12860428079E9CD2165E9194346EB6677</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>53414C54</salt>
+			<iterations>1536</iterations>
+			<key>6F2402CCE4A91C1B848CCABD915657A242EA1FC6D25BFDD890E8B903E66B306ED5C9F5C7B53BEA11BD495C328951</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>53414C54</salt>
+			<iterations>1536</iterations>
+			<key>B9ED7B3135488439E78DF480AD845E7EFEE3EF39E64B6690AE6ED16C5A82A0F7E7D9578BA7F62A7427260733165A</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>53414C54</salt>
+			<iterations>1536</iterations>
+			<key>65B27A78C72DFEEA6C92846330CE98C6721909E89B014925B22427256BC6A4EFEB7A83A2244E59A25E7DE2F01FA6</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>53414C54</salt>
+			<iterations>1536</iterations>
+			<key>8F8FC96A3D958731780B50E843D6BB65137A0728C3A4C55D23D4A0E99EBA71F56EC19356B50B987F486F3FF74A9C</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1536</iterations>
+			<key>642DDC3F4E11C3051D6CDED8DD898C4CAEB2463E25C6120B9099920440D11725F1D4F7CABFB8A170BF9744B74461</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1536</iterations>
+			<key>0FE4BDC1000D1AC2F5E83A938A2BE2F14C62609AB413E8EAC164C3BA1FAD7ABC1CADB1BF7458010BF7814262F563</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1536</iterations>
+			<key>32D7F10C5EAA9961B590E8FE4561B9D571AD446F0CC173973E296F655BAB0BFEA7E51BACD8FC73AB278469439B58</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1536</iterations>
+			<key>C05FE26245C742CC01B23C655E5D934D734610DE015AEFA126CC8A53FBD91EC774AE631F57444E206494BE6EB304</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>1536</iterations>
+			<key>818C967A8F742565CCA37CEA8C683FCC5BEE9DA7B0E036709FBD02F0FA15B7497042FF3E0B56ED26ACC058F1D00B</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1536</iterations>
+			<key>5301B5B2A1A6EB6832DC47F3A0850B5680178499B3E8CDC6C4D8D7D7226769FADE4650767B4472BBD418B2D969EB</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1536</iterations>
+			<key>9CB5BD2394B268E13DCA91EE2BB0A39C101A5534AA3932F031B4FB2D6F799C857B7B821D5CB05419EE6DF2D10BBD</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1536</iterations>
+			<key>EB90D956B358B7C5E9FC4A4EFA02589B2357EA87EA949B44DA6EAFD9D83FCD9365C617C137F7EC9C3EF036BD592C</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1536</iterations>
+			<key>ACAFB5EB24FFB3B418587B832F52C2260339CD1DD458CDBB895741595BD6F879B9134D56F8695A654407E4809C56</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>1536</iterations>
+			<key>A7B0859D9D1BF5E59047192BF2B8C7ACC676E0C4B272CB0DD4D76CAE04D831A4C12BC353F7C60F50ED67DF548599</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>53414C54</salt>
+			<iterations>2048</iterations>
+			<key>B0F0F2EB445AB4DBE901D3C2484822595F58B91CCDD858068993D4F95777E800B47B0A091487E50D888139BBAA95</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>53414C54</salt>
+			<iterations>2048</iterations>
+			<key>C11C0499CC9EC9FBB6ACA7BF4C0B538991A350E7A2275085600120C9642E197813F99DBE317142466C44961771AF</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>53414C54</salt>
+			<iterations>2048</iterations>
+			<key>3F63500AC41074B4D2C1A991CBBBB013D8416F66C2D6DD3D0577A59043B25D770FAC6CFF48666D15795B61297255</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>53414C54</salt>
+			<iterations>2048</iterations>
+			<key>B47F802F1238A73054DEFD7D3AABFC819FC75A29D97444114C46756D3F2FD1DF12182CF6C83CF32E72D1A70DF206</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 4</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>53414C54</salt>
+			<iterations>2048</iterations>
+			<key>3099237692953AB2017A1BF0B12DAFC8F3A797AA45F218B705E54071E5BE4AB622F2E9B45FCA663D8B30ADCC0073</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>2048</iterations>
+			<key>CD045229461658BC6C47C259F2D20433173DE4D31E54B1D693738FBA6D643ECB095761373FB0E49F9C478BA11755</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>2048</iterations>
+			<key>D85432F8ACAE9653D34A68D9329F347AA10E53DB6DC8B942CA4D9447EDFC29A5BDC1D450A73B298C6A9A8ED7D2F4</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>2048</iterations>
+			<key>C77FDE2E52892DF5613E6A3B8F1C80B92E9E2AB0BC37C801DE5E02A6DD1A193970B4505A403005B378BE47D61FEB</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>2048</iterations>
+			<key>62E06B8A2650199AE6E73AB3F503BF027DCEC0A49B2F0294723113F25347AEAF0109E270C77A2524CAC118D164B8</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 20</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>1D565078C3506F89BDA73BB6E3E5B8A3683DD362</salt>
+			<iterations>2048</iterations>
+			<key>A5B348EB4926290B223724CC8E4ED67FF458F2362279F0DF9F3A92AFF0473030D0EBA6E4173AF91E7AE535D3E988</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0000</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>2048</iterations>
+			<key>2A824C1B6B36AD48D0A5AE94E27988D4F6BDCB2A259262CE1B3E626454FF2A5B69A372FE3894C48E574F70F191F4</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>0001</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>2048</iterations>
+			<key>4B8D18B96EB898D1BAA8BDD82BC443F0FF00CE13602A15DF682A601681221A748627D1C585C079F8DCBD5ABE9763</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>PSWD</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>2048</iterations>
+			<key>9DABF586AD2BCD603DC38C3987C98D73A5A9F4B3B2A148121AE3E9E23B3891882F575F204CB0639FC9FDB9D5B0BD</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>password</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>2048</iterations>
+			<key>F734BE1BF990A3A59CEA6C821492F0B660C6488EF08E3059843173C72CD79EFEADE34A6DA91F6AB8E92383F1BDFA</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+//! @SYMTestCaseID CIT_PREQ1054_01
+//! @SYMTestCaseDesc Correctly generate key for given KDF mode, password, key length and salt length.
+//! @SYMREQ CIT_PREQ1054
+//! @SYMTestPriority medium
+//! @SYMTestActions Generates a PKCS#12-format key from the supplied parameters.
+//! @SYMTestExpectedResults The generated key matches the expected byte stream.
+<action>
+	<actionname>PKCS#12 KDF, key len = 368, salt len = 25</actionname>
+	<actiontype>DeriveKey</actiontype>
+	<actionbody>
+		<derivekey>
+			<kdf>pkcs#12</kdf>
+			<passwd>abcdefghijklmnopqrstuvwxyz</passwd>
+			<salt>E22C7B03163AE547F8239DA40D6F46D79EA3C6FFB3F04EBE61</salt>
+			<iterations>2048</iterations>
+			<key>47C18634A09AB37AB6EECBCD5C7E7F234F02E574A1167ED13693E8373DFB92EC6F000DBADB9363CA12E9E16ED019</key>
+		</derivekey>
+	</actionbody>
+</action>
+
+<action>
+    <actionname>OOM End</actionname>
+    <actiontype>stopmemfailure</actiontype>
+    <actionbody></actionbody>
+    <actionresult>
+        <return>KErrNone</return>
+    </actionresult>
+</action>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tpkcs5kdf/tactionderivekey.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,225 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include "tactionderivekey.h"
+#include "t_input.h"
+#include <pkcs5kdf.h>
+#include <pkcs12kdf.h>
+#include <stdlib.h>
+
+_LIT8(KKdfStart, "<kdf>");
+_LIT8(KKdfEnd, "</kdf>");
+_LIT8(KPKCS12Kdf, "pkcs#12");
+_LIT8(KDeriveKeyStart, "<derivekey>");
+_LIT8(KDeriveKeyEnd, "</derivekey>");
+_LIT8(KKeyStart, "<key>");
+_LIT8(KKeyEnd, "</key>");
+_LIT8(KPasswdStart, "<passwd>");
+_LIT8(KPasswdEnd, "</passwd>");
+_LIT8(KSaltStart, "<salt>");
+_LIT8(KSaltEnd, "</salt>");
+_LIT8(KIterationsStart, "<iterations>");
+_LIT8(KIterationsEnd, "</iterations>");
+_LIT8(KLeaveInPerformAction, "<leaveinperformaction>");
+_LIT8(KLeaveInPerformActionEnd, "</leaveinperformaction>");
+
+CTestAction* CActionDeriveKey::NewL(RFs& aFs,
+									   CConsoleBase& aConsole,
+									   Output& aOut, 
+									   const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction* self = CActionDeriveKey::NewLC(aFs, aConsole,
+		aOut, aTestActionSpec);
+	CleanupStack::Pop();
+	return self;
+	}
+
+CTestAction* CActionDeriveKey::NewLC(RFs& aFs,
+										CConsoleBase& aConsole,
+										Output& aOut, 
+										const TTestActionSpec& aTestActionSpec)
+	{
+	CActionDeriveKey* self = new(ELeave) CActionDeriveKey(aFs, aConsole, aOut);
+	CleanupStack::PushL(self);
+	self->ConstructL(aTestActionSpec);
+	return self;
+	}
+
+CActionDeriveKey::~CActionDeriveKey()
+	{
+	delete iBody;
+	}
+
+CActionDeriveKey::CActionDeriveKey(RFs& aFs, 
+								 CConsoleBase& aConsole,
+								 Output& aOut)
+								 
+: CTestAction(aConsole, aOut), iFs(aFs)
+	{
+	}
+
+void CActionDeriveKey::ConstructL(const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction::ConstructL(aTestActionSpec);
+	iBody = HBufC8::NewL(aTestActionSpec.iActionBody.Length());
+	iBody->Des().Copy(aTestActionSpec.iActionBody);
+	}
+
+void CActionDeriveKey::DoPerformPrerequisite(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+	TInt err = KErrNone;
+	TInt pos = 0;
+	TPtrC8 deriveKey = Input::ParseElement(*iBody, KDeriveKeyStart, KDeriveKeyEnd, pos, err);
+
+	// KDF is only explicitly specified for PKCS#12 derived keys
+	pos = 0;
+	TPtrC8 kdfTemp = Input::ParseElement(deriveKey, KKdfStart, KKdfEnd, pos, err);
+	if (err == KErrNone)
+		iKdf = kdfTemp.AllocL();
+	
+	pos = 0;
+	TPtrC8 passwdTemp = Input::ParseElement(deriveKey, KPasswdStart, KPasswdEnd, pos, err);
+	iPasswd = HBufC8::NewL(passwdTemp.Length());
+	*iPasswd = passwdTemp;
+
+	pos = 0;
+	TPtrC8 iterationsTemp = Input::ParseElement(deriveKey, KIterationsStart, KIterationsEnd, pos, err);
+	iIterations = HBufC8::NewL(iterationsTemp.Length() + 1); //added 1 for the null zero used later
+	*iIterations = iterationsTemp;
+
+	pos = 0;
+	TPtrC8 saltTemp = Input::ParseElement(deriveKey, KSaltStart, KSaltEnd, pos, err);
+	iSalt = HBufC8::NewL(saltTemp.Length());
+	*iSalt = saltTemp;
+	Hex(*iSalt);
+
+	pos = 0;
+	TPtrC8 keyTemp = Input::ParseElement(deriveKey, KKeyStart, KKeyEnd, pos, err);
+	iKey = HBufC8::NewL(keyTemp.Length());
+	*iKey = keyTemp;
+	Hex(*iKey);
+
+	iOutput = HBufC8::NewL(iKey->Length());
+
+	pos = 0;
+	iLeaveInPerformAction = Input::ParseIntElement(deriveKey, 
+		KLeaveInPerformAction, KLeaveInPerformActionEnd, pos, err);
+	if (err)
+		{
+		iLeaveInPerformAction = 0;
+		}
+	User::RequestComplete(status, KErrNone);
+	iActionState = CTestAction::EAction;
+	}
+
+void CActionDeriveKey::DoPerformPostrequisite(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+	delete iKey;
+	delete iSalt;
+	delete iIterations;
+	delete iPasswd;
+	delete iOutput;
+	delete iKdf;
+	iKdf = 0;
+	
+	iFinished = ETrue;
+	User::RequestComplete(status, KErrNone);
+	}
+
+void CActionDeriveKey::DoReportAction(void)
+	{
+	}
+
+void CActionDeriveKey::DoCheckResult(TInt)
+	{
+
+	}
+
+void CActionDeriveKey::PerformAction(TRequestStatus& aStatus)
+	{
+	TRequestStatus* status = &aStatus;
+	iResult = EFalse;
+	
+	if (iLeaveInPerformAction)
+		{
+		User::Leave(KErrArgument);
+		}
+	iOutput->Des().SetLength(iKey->Length());
+
+	TUint8* nptr= (TUint8*)(iIterations->Des().PtrZ()); 
+	TUint32 i = strtoul((char*)nptr, 0, 10); 
+	
+	iConsole.Printf(_L("."));
+	TPtr8 outputActual = iOutput->Des();
+	TPtr8 passwdActual = iPasswd->Des();
+	if (iKdf != 0 && *iKdf == KPKCS12Kdf)
+		{
+		// convert the password to PKCS#12 password format
+		HBufC* pwdNative = HBufC::NewLC(iPasswd->Length());
+		pwdNative->Des().Copy(*iPasswd);
+		HBufC8* pwdPKCS12 = PKCS12KDF::GeneratePasswordLC(*pwdNative);
+		PKCS12KDF::DeriveKeyL(outputActual, PKCS12KDF::EIDByteEncryptKey, *pwdPKCS12, *iSalt, i);
+		CleanupStack::PopAndDestroy(2, pwdNative);
+		}
+	else	// PKCS#5
+		{
+		TPtr8 saltActual = iSalt->Des();
+		TPKCS5KDF::DeriveKeyL(outputActual, passwdActual, saltActual,i);
+		}
+		
+	if(*iOutput == *iKey)
+		{
+		iResult = ETrue;
+		}
+		
+	User::RequestComplete(status, KErrNone);
+	iActionState = CTestAction::EPostrequisite;
+	}
+
+void CActionDeriveKey::Hex(HBufC8& aString)
+/**
+	Convert the supplied hex string into the binary equivalent.
+	
+	@param	aString			Hex string.  On entry this contains
+							a sequence of hexadecimal characters,
+							e.g., "3037AFC8EA".  On exit it is
+							half the original length and each two-digit
+							hex number is reduced to the matching
+							byte value.
+ */
+    {
+    TPtr8 ptr=aString.Des();
+    if (aString.Length()%2)
+        {
+        ptr.SetLength(0);
+        return;
+        }
+    TInt i;
+    for (i=0;i<aString.Length();i+=2)
+        {
+        TUint8 tmp;
+        tmp=(TUint8)(aString[i]-(aString[i]>'9'?('A'-10):'0'));
+        tmp*=16;
+        tmp|=(TUint8)(aString[i+1]-(aString[i+1]>'9'?('A'-10):'0'));
+        ptr[i/2]=tmp;
+        }
+    ptr.SetLength(aString.Length()/2);
+    }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tpkcs5kdf/tactionderivekey.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,55 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#ifndef __TACTIONDERIVEKEY_H__
+#define __TACTIONDERIVEKEY_H__
+
+#include "t_testaction.h"
+#include <e32std.h>
+
+class CActionDeriveKey : public CTestAction
+{
+public:
+	static CTestAction* NewL(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	static CTestAction* NewLC(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	virtual ~CActionDeriveKey();
+	virtual void DoPerformPrerequisite(TRequestStatus& aStatus);
+	virtual void DoPerformPostrequisite(TRequestStatus& aStatus);
+	virtual void PerformAction(TRequestStatus& aStatus);
+	virtual void DoReportAction(void);
+	virtual void DoCheckResult(TInt);
+
+private:
+	CActionDeriveKey(RFs& aFs, CConsoleBase& aConsole, Output& aOut);
+	void ConstructL(const TTestActionSpec& aTestActionSpec);
+	void Hex(HBufC8& string);
+
+	RFs& iFs;
+	HBufC8* iBody;
+	HBufC8* iPasswd;
+	HBufC8* iSalt;
+	HBufC8* iKey;
+	HBufC8* iOutput;
+	HBufC8* iIterations;
+	HBufC8* iKdf;
+	TInt iLeaveInPerformAction;
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tpkcs5kdf/tpkcs5kdfmain.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,178 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* tpkcs5main.cpp
+*
+*/
+
+
+#include <pkcs5kdf.h>
+#include <pkcs12kdf.h>
+#include "t_testhandler.h"
+#include "t_testsetup.h"
+#include "tscripttests.h"
+#include "tactionderivekey.h"
+
+LOCAL_D void callExampleL() // initialize and call example code under cleanup stack
+    {
+    START_SCRIPT_LIST
+	SCRIPT_ITEM(CActionDeriveKey,_L8("DeriveKey"))
+	END_SCRIPT_LIST
+	
+	TDriveUnit sysDrive (RFs::GetSystemDrive());
+	TDriveName sysDriveName (sysDrive.Name());
+	TBuf<64> scriptFile (sysDriveName);
+	scriptFile.Append(_L("\\tpkcs5kdf\\tpkcs12kdftests.txt"));
+	
+	TBuf<64> logFile (sysDriveName);
+	logFile.Append(_L("\\tpkcs5kdf\\tpkcs12kdftests.log"));
+	
+	CTestSetup::CreateAndRunTestsL(theTestTypes, scriptFile, logFile);
+    }
+
+
+GLDEF_C TInt E32Main() // main function called by E32
+    {
+	__UHEAP_MARK;
+	CTrapCleanup* cleanup = CTrapCleanup::New(); // get clean-up stack
+	
+	TRAPD(error, callExampleL());
+	__ASSERT_ALWAYS(!error,User::Panic(_L("tpkcs5"),error));
+	delete cleanup; // destroy clean-up stack
+	__UHEAP_MARKEND;
+	return 0;
+    }
+
+// The following code was used to generate test data.  It is left in
+// the source file because it provides an easy way to generate a large
+// number of PKCS#12 derived keys if required.
+
+#if 0
+
+static void TestPkcs12KdfL();
+static void TestPasswordL(
+	TInt aKeyLenInBits, TInt aIterCount, const TDesC8& aSalt,
+	const TDesC8& aPassword, const TDesC& aPasswordText);
+static void PrintKey(const TDesC8& aKey);
+
+static void TestPkcs12KdfL()
+	{
+	__UHEAP_MARK;
+	
+	const TInt KKeyLenCount = 4;
+	const TInt KKeyLens[KKeyLenCount] = {40, 128, 168, 368};
+	
+	const TInt KIterCount = 8;
+	const TInt KIterCounts[KIterCount] = {1, 2, 4, 8, 128, 1024, 1536, 2048};
+	
+	const TInt KSaltCount = 3;
+	TPtrC8 salts[KSaltCount];
+	
+	const TUint8 KSalt4[4] = {0x53, 0x41, 0x4c, 0x54};
+	salts[0].Set(KSalt4, 4);
+	
+	const TUint8 KSalt20[20] =
+		{
+		0x1d, 0x56, 0x50, 0x78,		0xc3, 0x50, 0x6f, 0x89,
+		0xbd, 0xa7, 0x3b, 0xb6,		0xe3, 0xe5, 0xb8, 0xa3,
+		0x68, 0x3d, 0xd3, 0x62
+		};
+	salts[1].Set(KSalt20, 20);
+	
+	const TUint8 KSalt25[25] =
+		{
+		0xe2, 0x2c, 0x7b, 0x03,		0x16, 0x3a, 0xe5, 0x47,
+		0xf8, 0x23, 0x9d, 0xa4,		0x0d, 0x6f, 0x46, 0xd7,
+		0x9e, 0xa3, 0xc6, 0xff,		0xb3, 0xf0, 0x4e, 0xbe,
+		0x61
+		};
+	salts[2].Set(KSalt25, 25);
+	
+	const TInt KPasswordCount = 5;
+	HBufC8* passwords[KPasswordCount];
+	TPtrC passwords0[KPasswordCount] =
+		{
+		_L("0000"), _L("0001"), _L("PSWD"),
+		_L("password"), _L("abcdefghijklmnopqrstuvwxyz")
+		};
+	for (TInt i = 0; i < KPasswordCount; ++i)
+		passwords[i] = PKCS12KDF::GeneratePasswordLC(passwords0[i]);
+
+	for (TInt klenIdx = 0; klenIdx < KKeyLenCount; ++klenIdx)
+		{
+		for (TInt iterIdx = 0; iterIdx < KIterCount; ++iterIdx)
+			{
+			for (TInt saltIdx = 0; saltIdx < KSaltCount; ++saltIdx)
+				{
+				for (TInt pwdIdx = 0; pwdIdx < KPasswordCount; ++pwdIdx)
+					{
+					TestPasswordL(KKeyLens[klenIdx], KIterCounts[iterIdx], salts[saltIdx], *passwords[pwdIdx], passwords0[pwdIdx]);
+					}
+				}	// for (saltIdx = 0; saltIdx < KSaltCount; ++saltIdx)
+			}	// for (int iterIdx = 0; iterIdx < KIterCount; ++iterIdx)
+		}	// for (TInt klenIdx = 0; klenIdx < KKeyLenCount; ++klenIdx)
+	
+	CleanupStack::PopAndDestroy(KPasswordCount, passwords[0]);
+	
+	__UHEAP_MARKEND;
+	}
+
+static void TestPasswordL(
+	TInt aKeyLenInBits, TInt aIterCount, const TDesC8& aSalt,
+	const TDesC8& aPassword, const TDesC& aPasswordText)
+	{
+	__UHEAP_MARK;
+	
+	TBuf8<512> key;
+	key.SetLength(aKeyLenInBits / 8);
+
+	RDebug::Print(
+		_L("\nkey len = %d, iter count = %d, password = \"%S\", salt len = %d"),
+		aKeyLenInBits, aIterCount, &aPasswordText, aSalt.Length());
+	PKCS12KDF::DeriveKeyL(key, PKCS12KDF::EIDByteEncryptKey, aPassword, aSalt, aIterCount);
+	PrintKey(key);
+	
+	__UHEAP_MARKEND;
+	}
+
+static void PrintKey(const TDesC8& aKey)
+/**
+	Print the supplied key in hex byte format, with
+	16 bytes on each row.
+	
+	@param	aKey			Key to print.
+ */
+	{
+	const TInt KBlockSize = 16;
+	TInt keyLen = aKey.Length();
+	TInt rowCount = keyLen / KBlockSize;
+	if ((keyLen % KBlockSize) != 0)
+		++rowCount;
+
+	for (TInt row = 0; row < rowCount; ++row)
+		{
+		TInt start = row * KBlockSize;
+		TInt end = Min(start + KBlockSize, keyLen);
+
+		TBuf<64> line;
+		line.Format(_L("[%04x]"), start);
+		for (TInt i = start; i < end; ++i)
+			line.AppendFormat(_L(" %02x"), aKey[i]);
+		line.Append('\n');
+		RDebug::Print(line);
+		}
+	}
+
+#endif	// #if 0
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/trandom/t_random.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,410 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* (c) 1999 Symbian Ltd
+*
+*/
+
+
+/**
+ @file
+*/
+
+#include <e32base.h>
+#include <e32std.h>
+#include <e32test.h>
+#include <random.h>
+#include <f32file.h>
+
+#include <randsvr.h>
+
+RTest test(_L("Random Number Generator Tests"));
+
+TInt gNumberOfRandomNumbers=10000;
+
+/** Wraps a console and logs output to a file. */
+class CTestConsole:public CConsoleBase
+	{
+	public:
+		static CTestConsole* NewL(CConsoleBase* aCon, const TDesC& aFilename);
+		TInt Create(const TDesC16& aTitle,TSize aSize) {return iCon->Create(aTitle,aSize);};
+		void Read(TRequestStatus& aStatus) {iCon->Read(aStatus);};
+		void ReadCancel(void) {iCon->ReadCancel();};
+		void Write(const TDesC16& aString);
+		TPoint CursorPos(void) const {return iCon->CursorPos();};
+		void SetCursorPosAbs(const TPoint& aPos) {iCon->SetCursorPosAbs(aPos);};
+		void SetCursorPosRel(const TPoint& aPos) {iCon->SetCursorPosRel(aPos);};
+		void SetCursorHeight(TInt aHeight) {iCon->SetCursorHeight(aHeight);};
+		void SetTitle(const TDesC16& aTitle) {iCon->SetTitle(aTitle);};
+		void ClearScreen(void) {iCon->ClearScreen();};
+		void ClearToEndOfLine(void) {iCon->ClearToEndOfLine();};
+		TSize ScreenSize(void) const {return iCon->ScreenSize();};
+		TKeyCode KeyCode(void) const {return iCon->KeyCode();};
+		TUint KeyModifiers(void) const {return iCon->KeyModifiers();};
+		~CTestConsole(void);
+	private:
+		CTestConsole(CConsoleBase* aCon);
+	    void ConstructL(const TDesC& aFilename);
+	    CConsoleBase* iCon;  ///< Pointer to wrapped console, we don't own this
+	    RFs iFs;
+	    RFile iFile;		 ///< Log file
+	};
+
+CTestConsole* CTestConsole::NewL(CConsoleBase* aCon, const TDesC& aFilename)
+
+	{
+	CTestConsole* self;
+	self=new (ELeave) CTestConsole(aCon);
+	CleanupStack::PushL(self);
+	self->ConstructL(aFilename);
+	CleanupStack::Pop(self);
+	return self;
+	}
+
+CTestConsole::CTestConsole(CConsoleBase* aCon) :
+	CConsoleBase(), iCon(aCon)
+
+	{
+	}
+
+void CTestConsole::ConstructL(const TDesC& aFilename)
+	
+	{
+	User::LeaveIfError(iFs.Connect());
+	User::LeaveIfError(iFile.Replace(iFs,aFilename,EFileShareAny|EFileWrite));
+	}
+
+CTestConsole::~CTestConsole(void)
+
+	{
+	iFile.Close();
+	iFs.Close();
+	}
+
+void CTestConsole::Write(const TDesC16& aString)
+
+	{
+	iCon->Write(aString);
+	TUint8 space[200];
+	TPtr8 ptr(space,200);
+	ptr.Copy(aString);
+	iFile.Write(ptr);
+	}
+
+void Monobit(const TUint8* aData)
+
+	{
+	const TInt bitcount[256]=
+		{ 0,1,1,2,1,2,2,3,		// 00-07
+		  1,2,2,3,2,3,3,4,		// 08-0f
+		  1,2,2,3,2,3,3,4,		// 10-17
+		  2,3,3,4,3,4,4,5,		// 18-1f
+		  1,2,2,3,2,3,3,4,		// 20-27
+		  2,3,3,4,3,4,4,5,		// 28-2f
+		  2,3,3,4,3,4,4,5,		// 30-37
+		  3,4,4,5,4,5,5,6,		// 38-3f
+
+		  1,2,2,3,2,3,3,4,		// 40-47
+		  2,3,3,4,3,4,4,5,		// 48-4f
+		  2,3,3,4,3,4,4,5,		// 50-57
+		  3,4,4,5,4,5,5,6,		// 58-5f
+		  2,3,3,4,3,4,4,5,		// 60-67
+		  3,4,4,5,4,5,5,6,		// 68-6f
+		  3,4,4,5,4,5,5,6,		// 70-77
+		  4,5,5,6,5,6,6,7,		// 78-7f
+
+		  1,2,2,3,2,3,3,4,		// 80-87
+		  2,3,3,4,3,4,4,5,		// 88-8f
+		  2,3,3,4,3,4,4,5,		// 90-97
+		  3,4,4,5,4,5,5,6,		// 98-9f
+		  2,3,3,4,3,4,4,5,		// a0-a7
+		  3,4,4,5,4,5,5,6,		// a8-af
+		  3,4,4,5,4,5,5,6,		// b0-b7
+		  4,5,5,6,5,6,6,7,		// b8-bf
+
+		  2,3,3,4,3,4,4,5,		// c0-c7
+		  3,4,4,5,4,5,5,6,		// c8-cf
+		  3,4,4,5,4,5,5,6,		// d0-d7
+		  4,5,5,6,5,6,6,7,		// d8-df
+		  3,4,4,5,4,5,5,6,		// e0-e7
+		  4,5,5,6,5,6,6,7,		// e8-ef
+		  4,5,5,6,5,6,6,7,		// f0-f7
+		  5,6,6,7,6,7,7,8		// f8-ff
+		};
+	TInt total=0;
+	TInt i;
+	for (i=0;i<2500;i++)
+		{
+		total+=bitcount[aData[i]];
+		}
+	test.Printf(_L("    Total bitcount %d\r\n"),total);
+	if ((total>9654)&&(total<10346))
+		{
+		test.Printf(_L("    Passed Monobit\r\n"));
+		}
+	else
+		{
+		test.Printf(_L("    ***FAILED!\r\n"));
+		User::Panic(_L("t_random.exe"), KErrGeneral);
+		}
+	}
+
+void Poker(const TUint8* aData)
+	
+	{
+	TInt f[16]= {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
+	TInt i;
+	for (i=0;i<2500;i++)
+		{
+		f[(aData[i]&0x0f)]++;
+		f[((aData[i]&0xf0)>>4)]++;
+		}
+	TReal x=0;
+	for (i=0;i<16;i++)
+		{
+		x+=f[i]*f[i];
+		}
+	x*=16;
+	x/=5000;
+	x-=5000;
+	if ((x>1.03)&&(x<57.4))
+		{
+		test.Printf(_L("    Passed poker test\r\n"));
+		}
+	else
+		{
+		test.Printf(_L("    ***FAILED poker test\r\n"));
+		User::Panic(_L("t_random.exe"), KErrGeneral);
+		}
+	}
+
+void Runs(const TUint8* aData)
+
+	{
+	TInt i;
+	TInt lastbit=0;
+	TInt count[7][2]={
+		{ 0,0 },
+		{ 0,0 },
+		{ 0,0 },
+		{ 0,0 },
+		{ 0,0 },
+		{ 0,0 },
+		{ 0,0 }
+		};
+	TInt thisrun=0;
+	TInt longrun=0;
+	for (i=0;i<2500;i++)
+		{
+		TInt bit;
+		for (bit=0;bit<8;bit++)
+			{
+			if (((aData[i]>>bit)&1)==lastbit)
+				{
+				thisrun++;
+				}
+			else
+				{
+				if (thisrun<5)
+					{
+					count[thisrun][lastbit]++;
+					}
+				else
+					{
+					count[5][lastbit]++;
+					}
+				lastbit^=1;
+				if (thisrun>longrun)
+					{
+					longrun=thisrun;
+					}
+				thisrun=0;
+				}
+			}
+		}
+	TInt bound[6][2]=
+		{
+			{2267,2733},
+			{1079,1421},
+			{ 502, 748},
+			{ 223, 402},
+			{  90, 223},
+			{  90, 223}
+		};
+	TBool failed=EFalse;
+	for (i=0;i<6;i++)
+		{
+		if (!((count[i][0]>bound[i][0])&&(count[i][0]<bound[i][1])))
+			{
+			test.Printf(_L("    ***FAILED runs test\r\n"));
+			failed=ETrue;
+			}
+		if (!((count[i][1]>bound[i][0])&&(count[i][1]<bound[i][1])))
+			{
+			test.Printf(_L("    ***FAILED runs test\r\n"));
+			failed=ETrue;
+			}
+		}
+	if (!failed)
+		{
+		test.Printf(_L("    Passed runs test\r\n"));
+		}
+	if ( (longrun>34) || (failed) )
+		{
+		test.Printf(_L("    ***FAILED longrun test\r\n"));
+		User::Panic(_L("t_random.exe"), KErrGeneral);
+		}
+	}
+
+void FIPSTest(const TUint8* aData)
+//	Run some basic tests to check it's returned some numbers
+//	These will panic if a failure is detected
+	{
+	Monobit(aData);
+	Poker(aData);
+	Runs(aData);
+	}
+
+void WriteFile(const TUint8* aData,const TDesC& aFileName)
+
+	{
+	RFs fs;
+	fs.Connect();
+	RFile file;
+	TInt err;
+	err=file.Open(fs,aFileName,EFileShareAny|EFileWrite);
+	if (err)
+		{
+		if (file.Create(fs,aFileName,EFileShareAny|EFileWrite))
+			{
+			return;
+			}
+		}
+	TPtrC8 ptr(aData,gNumberOfRandomNumbers);
+	TInt size;
+	file.Size(size);
+	file.Write(size,ptr);
+	file.Close();
+	fs.Close();
+	FIPSTest(aData);
+	}
+
+class RTestRandomSession : public RRandomSession
+	{
+	public:
+	void SendMalformedInputL()
+		{		
+		test.Printf(_L("Test malformed input with negative buffer size\r\n"));		
+		TBuf8<1024> buffer;
+		TInt err = SendReceive(CRandomSession::KRandomRequest, TIpcArgs(&buffer, -1));
+		if (err != KErrArgument)
+			{
+			test.Printf(_L("%d should have been returned on negative buffer size test, but %d was returned!\r\n"), KErrArgument, err);
+			User::Leave(KErrGeneral);
+			}
+		}
+	};
+
+// Checks that RandomServer handles malformed length correctly - see INC113902
+void TestMalformedInputL()
+	{
+	RTestRandomSession rs;
+	TRAPD(err, rs.ConnectL());
+	User::LeaveIfError(err); // The connect method leaves with zero even if it succeeds, so we have to trap the error
+	CleanupClosePushL(rs);		
+	rs.SendMalformedInputL();
+	CleanupStack::PopAndDestroy(&rs);
+	}
+
+void DoTestsL()
+
+	{
+	TestMalformedInputL();
+	
+	test.Printf(_L("  Run random tests with normal salting\r\n"));
+    
+	TInt i;
+	TBuf8<16> buf2;
+	for (i=0;i<16;i++)
+		{
+		buf2.SetLength(i);
+		TRandom::RandomL(buf2);
+		}
+	HBufC8* buf=HBufC8::NewMaxL(gNumberOfRandomNumbers);
+	TPtr8 buffer=buf->Des();
+	for (i=0;i<11;i++)
+		{
+		User::After(10000000);
+		TPtr8 thePtr(buf->Des());
+		thePtr.FillZ();
+	//	Generate the random data	
+		TRandom::RandomL(buffer);
+		if (buf->Length()!=gNumberOfRandomNumbers)
+			User::Leave(KErrGeneral);
+
+
+		WriteFile(buffer.Ptr(),_L("User.rnd"));
+		test.Printf(_L("."));
+		}
+	delete buf;
+	}
+
+void TestsL(void)
+	{
+	TDriveUnit sysDrive (RFs::GetSystemDrive());
+	TDriveName driveName(sysDrive.Name());
+	TBuf<64> logFile (driveName);
+	logFile.Append(_L("\\t_random.log"));
+	CTestConsole* con = CTestConsole::NewL(test.Console(), logFile);
+	test.SetConsole(con);
+	
+	DoTestsL();
+	
+	//	If test reached here, no tests failed, otherwise it would have panicked
+	//	and terminated prematurely. Print this out for tester's reference.	
+	test.Printf(_L("\n0 tests failed out of 12\r\n"));
+	}
+
+GLDEF_C TInt E32Main(void)
+
+	{
+	CTrapCleanup* cleanup;
+	cleanup=CTrapCleanup::New();
+	
+	__UHEAP_MARK;
+	
+	test.Start(_L(" SYMTestCaseID:SEC-CRYPTO-RANDOM-0001 Starting random number generator tests\r\n"));
+	CConsoleBase* originalConsole = test.Console();
+
+	TRAPD(ret,TestsL());
+	if (ret)
+		{
+		test.Printf(_L("Unexpected leave\r\n"));
+		// Print something to let the build system know we failed
+		test.Printf(_L("\n1 tests failed out of 11\r\n"));
+		}	
+	test.End();
+
+	if (test.Console() != originalConsole)
+		{
+		delete test.Console();
+		test.SetConsole(originalConsole);
+		}	
+	test.Close();
+	
+	__UHEAP_MARKEND;
+	
+	delete cleanup;
+	return(KErrNone);
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/trandom/t_random.mmp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,36 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+/**
+@file
+
+@SYMPurpose t_random.exe Test harness for random generation implementation
+*/
+TARGET        t_random.exe
+TARGETTYPE    EXE
+
+SOURCEPATH	.
+SOURCE        t_random.cpp
+
+USERINCLUDE ../inc ../random
+OS_LAYER_SYSTEMINCLUDE
+LIBRARY       euser.lib 
+LIBRARY       efsrv.lib random.lib
+
+
+VENDORID 0x70000001
+SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/trandom/testdata/3des.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,19 @@
++C This file contains the central script for DES test vectors
++C The format is:
++C AlgorithmType TestType Algorithm (Variant) (File)
++C 
++C Where:
++C AlgorithmType is Symmetric, Asymmetric or Padding
++C TestType is Function, Vector, OOM, Error, Performance, Problem or UnfixedProblem
++C Algorithm is DES, RC2, RC4, RSA etc 
++C Variant (where applicable) is CFB, OFB, CBC or ECB
++C File is the name of the file where the known vectors can be found
++C
+Symmetric Vector DES ECB DESECB.DAT
+Symmetric Vector DES CBC DESCBC.DAT
+Symmetric Vector DES OFB DESOFB.DAT
+Symmetric Vector DES CFB DESCFB.DAT
+Symmetric Vector 3DES ECB DESECB.DAT
+Symmetric Vector 3DES CBC DESCBC.DAT
+Symmetric Vector 3DES OFB DESOFB.DAT
+Symmetric Vector 3DES CFB DESCFB.DAT
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/trandom/testdata/3des2cbc.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,207 @@
++C 3DES CBC Tests
++C Key1............ Key2............ Key3............ Plaintext....... Ciphertext...... IV..............
++M Sample round
+01 10316E028C8F3B4A 10316E028C8F3B4A 10316E028C8F3B4A 0000000000000000 82DCBAFBDEAB6602 0000000000000000
++M Variable Plaintext Known Answer Test
+00 0101010101010101 0101010101010101 0101010101010101 8000000000000000 95F8A5E5DD31D900 0000000000000000
+01 0101010101010101 0101010101010101 0101010101010101 4000000000000000 DD7F121CA5015619 0000000000000000
+02 0101010101010101 0101010101010101 0101010101010101 2000000000000000 2E8653104F3834EA 0000000000000000
+03 0101010101010101 0101010101010101 0101010101010101 1000000000000000 4BD388FF6CD81D4F 0000000000000000
+04 0101010101010101 0101010101010101 0101010101010101 0800000000000000 20B9E767B2FB1456 0000000000000000
+05 0101010101010101 0101010101010101 0101010101010101 0400000000000000 55579380D77138EF 0000000000000000
+06 0101010101010101 0101010101010101 0101010101010101 0200000000000000 6CC5DEFAAF04512F 0000000000000000
+07 0101010101010101 0101010101010101 0101010101010101 0100000000000000 0D9F279BA5D87260 0000000000000000
+08 0101010101010101 0101010101010101 0101010101010101 0080000000000000 D9031B0271BD5A0A 0000000000000000
+09 0101010101010101 0101010101010101 0101010101010101 0040000000000000 424250B37C3DD951 0000000000000000
+10 0101010101010101 0101010101010101 0101010101010101 0020000000000000 B8061B7ECD9A21E5 0000000000000000
+11 0101010101010101 0101010101010101 0101010101010101 0010000000000000 F15D0F286B65BD28 0000000000000000
+12 0101010101010101 0101010101010101 0101010101010101 0008000000000000 ADD0CC8D6E5DEBA1 0000000000000000
+13 0101010101010101 0101010101010101 0101010101010101 0004000000000000 E6D5F82752AD63D1 0000000000000000
+14 0101010101010101 0101010101010101 0101010101010101 0002000000000000 ECBFE3BD3F591A5E 0000000000000000
+15 0101010101010101 0101010101010101 0101010101010101 0001000000000000 F356834379D165CD 0000000000000000
+16 0101010101010101 0101010101010101 0101010101010101 0000800000000000 2B9F982F20037FA9 0000000000000000
+17 0101010101010101 0101010101010101 0101010101010101 0000400000000000 889DE068A16F0BE6 0000000000000000
+18 0101010101010101 0101010101010101 0101010101010101 0000200000000000 E19E275D846A1298 0000000000000000
+19 0101010101010101 0101010101010101 0101010101010101 0000100000000000 329A8ED523D71AEC 0000000000000000
+20 0101010101010101 0101010101010101 0101010101010101 0000080000000000 E7FCE22557D23C97 0000000000000000
+21 0101010101010101 0101010101010101 0101010101010101 0000040000000000 12A9F5817FF2D65D 0000000000000000
+22 0101010101010101 0101010101010101 0101010101010101 0000020000000000 A484C3AD38DC9C19 0000000000000000
+23 0101010101010101 0101010101010101 0101010101010101 0000010000000000 FBE00A8A1EF8AD72 0000000000000000
+24 0101010101010101 0101010101010101 0101010101010101 0000008000000000 750D079407521363 0000000000000000
+25 0101010101010101 0101010101010101 0101010101010101 0000004000000000 64FEED9C724C2FAF 0000000000000000
+26 0101010101010101 0101010101010101 0101010101010101 0000002000000000 F02B263B328E2B60 0000000000000000
+27 0101010101010101 0101010101010101 0101010101010101 0000001000000000 9D64555A9A10B852 0000000000000000
+28 0101010101010101 0101010101010101 0101010101010101 0000000800000000 D106FF0BED5255D7 0000000000000000
+29 0101010101010101 0101010101010101 0101010101010101 0000000400000000 E1652C6B138C64A5 0000000000000000
+30 0101010101010101 0101010101010101 0101010101010101 0000000200000000 E428581186EC8F46 0000000000000000
+31 0101010101010101 0101010101010101 0101010101010101 0000000100000000 AEB5F5EDE22D1A36 0000000000000000
+32 0101010101010101 0101010101010101 0101010101010101 0000000080000000 E943D7568AEC0C5C 0000000000000000
+33 0101010101010101 0101010101010101 0101010101010101 0000000040000000 DF98C8276F54B04B 0000000000000000
+34 0101010101010101 0101010101010101 0101010101010101 0000000020000000 B160E4680F6C696F 0000000000000000
+35 0101010101010101 0101010101010101 0101010101010101 0000000010000000 FA0752B07D9C4AB8 0000000000000000
+36 0101010101010101 0101010101010101 0101010101010101 0000000008000000 CA3A2B036DBC8502 0000000000000000
+37 0101010101010101 0101010101010101 0101010101010101 0000000004000000 5E0905517BB59BCF 0000000000000000
+38 0101010101010101 0101010101010101 0101010101010101 0000000002000000 814EEB3B91D90726 0000000000000000
+39 0101010101010101 0101010101010101 0101010101010101 0000000001000000 4D49DB1532919C9F 0000000000000000
+40 0101010101010101 0101010101010101 0101010101010101 0000000000800000 25EB5FC3F8CF0621 0000000000000000
+41 0101010101010101 0101010101010101 0101010101010101 0000000000400000 AB6A20C0620D1C6F 0000000000000000
+42 0101010101010101 0101010101010101 0101010101010101 0000000000200000 79E90DBC98F92CCA 0000000000000000
+43 0101010101010101 0101010101010101 0101010101010101 0000000000100000 866ECEDD8072BB0E 0000000000000000
+44 0101010101010101 0101010101010101 0101010101010101 0000000000080000 8B54536F2F3E64A8 0000000000000000
+45 0101010101010101 0101010101010101 0101010101010101 0000000000040000 EA51D3975595B86B 0000000000000000
+46 0101010101010101 0101010101010101 0101010101010101 0000000000020000 CAFFC6AC4542DE31 0000000000000000
+47 0101010101010101 0101010101010101 0101010101010101 0000000000010000 8DD45A2DDF90796C 0000000000000000
+48 0101010101010101 0101010101010101 0101010101010101 0000000000008000 1029D55E880EC2D0 0000000000000000
+49 0101010101010101 0101010101010101 0101010101010101 0000000000004000 5D86CB23639DBEA9 0000000000000000
+50 0101010101010101 0101010101010101 0101010101010101 0000000000002000 1D1CA853AE7C0C5F 0000000000000000
+51 0101010101010101 0101010101010101 0101010101010101 0000000000001000 CE332329248F3228 0000000000000000
+52 0101010101010101 0101010101010101 0101010101010101 0000000000000800 8405D1ABE24FB942 0000000000000000
+53 0101010101010101 0101010101010101 0101010101010101 0000000000000400 E643D78090CA4207 0000000000000000
+54 0101010101010101 0101010101010101 0101010101010101 0000000000000200 48221B9937748A23 0000000000000000
+55 0101010101010101 0101010101010101 0101010101010101 0000000000000100 DD7C0BBD61FAFD54 0000000000000000
+56 0101010101010101 0101010101010101 0101010101010101 0000000000000080 2FBC291A570DB5C4 0000000000000000
+57 0101010101010101 0101010101010101 0101010101010101 0000000000000040 E07C30D7E4E26E12 0000000000000000
+58 0101010101010101 0101010101010101 0101010101010101 0000000000000020 0953E2258E8E90A1 0000000000000000
+59 0101010101010101 0101010101010101 0101010101010101 0000000000000010 5B711BC4CEEBF2EE 0000000000000000
+60 0101010101010101 0101010101010101 0101010101010101 0000000000000008 CC083F1E6D9E85F6 0000000000000000
+61 0101010101010101 0101010101010101 0101010101010101 0000000000000004 D2FD8867D50D2DFE 0000000000000000
+62 0101010101010101 0101010101010101 0101010101010101 0000000000000002 06E7EA22CE92708F 0000000000000000
+63 0101010101010101 0101010101010101 0101010101010101 0000000000000001 166B40B44ABA4BD6 0000000000000000
++M Variable Key Known Answer Test
++C Key1............ Key2............ Key3............ Plaintext....... Ciphertext...... IV..............
+00 8001010101010101 8001010101010101 8001010101010101 0000000000000000 95A8D72813DAA94D 0000000000000000
+01 4001010101010101 4001010101010101 4001010101010101 0000000000000000 0EEC1487DD8C26D5 0000000000000000
+02 2001010101010101 2001010101010101 2001010101010101 0000000000000000 7AD16FFB79C45926 0000000000000000
+03 1001010101010101 1001010101010101 1001010101010101 0000000000000000 D3746294CA6A6CF3 0000000000000000
+04 0801010101010101 0801010101010101 0801010101010101 0000000000000000 809F5F873C1FD761 0000000000000000
+05 0401010101010101 0401010101010101 0401010101010101 0000000000000000 C02FAFFEC989D1FC 0000000000000000
+06 0201010101010101 0201010101010101 0201010101010101 0000000000000000 4615AA1D33E72F10 0000000000000000
+07 0180010101010101 0180010101010101 0180010101010101 0000000000000000 2055123350C00858 0000000000000000
+08 0140010101010101 0140010101010101 0140010101010101 0000000000000000 DF3B99D6577397C8 0000000000000000
+09 0120010101010101 0120010101010101 0120010101010101 0000000000000000 31FE17369B5288C9 0000000000000000
+10 0110010101010101 0110010101010101 0110010101010101 0000000000000000 DFDD3CC64DAE1642 0000000000000000
+11 0108010101010101 0108010101010101 0108010101010101 0000000000000000 178C83CE2B399D94 0000000000000000
+12 0104010101010101 0104010101010101 0104010101010101 0000000000000000 50F636324A9B7F80 0000000000000000
+13 0102010101010101 0102010101010101 0102010101010101 0000000000000000 A8468EE3BC18F06D 0000000000000000
+14 0101800101010101 0101800101010101 0101800101010101 0000000000000000 A2DC9E92FD3CDE92 0000000000000000
+15 0101400101010101 0101400101010101 0101400101010101 0000000000000000 CAC09F797D031287 0000000000000000
+16 0101200101010101 0101200101010101 0101200101010101 0000000000000000 90BA680B22AEB525 0000000000000000
+17 0101100101010101 0101100101010101 0101100101010101 0000000000000000 CE7A24F350E280B6 0000000000000000
+18 0101080101010101 0101080101010101 0101080101010101 0000000000000000 882BFF0AA01A0B87 0000000000000000
+19 0101040101010101 0101040101010101 0101040101010101 0000000000000000 25610288924511C2 0000000000000000
+20 0101020101010101 0101020101010101 0101020101010101 0000000000000000 C71516C29C75D170 0000000000000000
+21 0101018001010101 0101018001010101 0101018001010101 0000000000000000 5199C29A52C9F059 0000000000000000
+22 0101014001010101 0101014001010101 0101014001010101 0000000000000000 C22F0A294A71F29F 0000000000000000
+23 0101012001010101 0101012001010101 0101012001010101 0000000000000000 EE371483714C02EA 0000000000000000
+24 0101011001010101 0101011001010101 0101011001010101 0000000000000000 A81FBD448F9E522F 0000000000000000
+25 0101010801010101 0101010801010101 0101010801010101 0000000000000000 4F644C92E192DFED 0000000000000000
+26 0101010401010101 0101010401010101 0101010401010101 0000000000000000 1AFA9A66A6DF92AE 0000000000000000
+27 0101010201010101 0101010201010101 0101010201010101 0000000000000000 B3C1CC715CB879D8 0000000000000000
+28 0101010180010101 0101010180010101 0101010180010101 0000000000000000 19D032E64AB0BD8B 0000000000000000
+29 0101010140010101 0101010140010101 0101010140010101 0000000000000000 3CFAA7A7DC8720DC 0000000000000000
+30 0101010120010101 0101010120010101 0101010120010101 0000000000000000 B7265F7F447AC6F3 0000000000000000
+31 0101010110010101 0101010110010101 0101010110010101 0000000000000000 9DB73B3C0D163F54 0000000000000000
+32 0101010108010101 0101010108010101 0101010108010101 0000000000000000 8181B65BABF4A975 0000000000000000
+33 0101010104010101 0101010104010101 0101010104010101 0000000000000000 93C9B64042EAA240 0000000000000000
+34 0101010102010101 0101010102010101 0101010102010101 0000000000000000 5570530829705592 0000000000000000
+35 0101010101800101 0101010101800101 0101010101800101 0000000000000000 8638809E878787A0 0000000000000000
+36 0101010101400101 0101010101400101 0101010101400101 0000000000000000 41B9A79AF79AC208 0000000000000000
+37 0101010101200101 0101010101200101 0101010101200101 0000000000000000 7A9BE42F2009A892 0000000000000000
+38 0101010101100101 0101010101100101 0101010101100101 0000000000000000 29038D56BA6D2745 0000000000000000
+39 0101010101080101 0101010101080101 0101010101080101 0000000000000000 5495C6ABF1E5DF51 0000000000000000
+40 0101010101040101 0101010101040101 0101010101040101 0000000000000000 AE13DBD561488933 0000000000000000
+41 0101010101020101 0101010101020101 0101010101020101 0000000000000000 024D1FFA8904E389 0000000000000000
+42 0101010101018001 0101010101018001 0101010101018001 0000000000000000 D1399712F99BF02E 0000000000000000
+43 0101010101014001 0101010101014001 0101010101014001 0000000000000000 14C1D7C1CFFEC79E 0000000000000000
+44 0101010101012001 0101010101012001 0101010101012001 0000000000000000 1DE5279DAE3BED6F 0000000000000000
+45 0101010101011001 0101010101011001 0101010101011001 0000000000000000 E941A33F85501303 0000000000000000
+46 0101010101010801 0101010101010801 0101010101010801 0000000000000000 DA99DBBC9A03F379 0000000000000000
+47 0101010101010401 0101010101010401 0101010101010401 0000000000000000 B7FC92F91D8E92E9 0000000000000000
+48 0101010101010201 0101010101010201 0101010101010201 0000000000000000 AE8E5CAA3CA04E85 0000000000000000
+49 0101010101010180 0101010101010180 0101010101010180 0000000000000000 9CC62DF43B6EED74 0000000000000000
+50 0101010101010140 0101010101010140 0101010101010140 0000000000000000 D863DBB5C59A91A0 0000000000000000
+51 0101010101010120 0101010101010120 0101010101010120 0000000000000000 A1AB2190545B91D7 0000000000000000
+52 0101010101010110 0101010101010110 0101010101010110 0000000000000000 0875041E64C570F7 0000000000000000
+53 0101010101010108 0101010101010108 0101010101010108 0000000000000000 5A594528BEBEF1CC 0000000000000000
+54 0101010101010104 0101010101010104 0101010101010104 0000000000000000 FCDB3291DE21F0C0 0000000000000000
+55 0101010101010102 0101010101010102 0101010101010102 0000000000000000 869EFD7F9F265A09 0000000000000000
++M Permutation Operation Known Answer Test
++C Key1............ Key2............ Key3............ Plaintext....... Ciphertext...... IV..............
+00 1046913489980131 1046913489980131 1046913489980131 0000000000000000 88D55E54F54C97B4 0000000000000000
+01 1007103489988020 1007103489988020 1007103489988020 0000000000000000 0C0CC00C83EA48FD 0000000000000000
+02 10071034C8980120 10071034C8980120 10071034C8980120 0000000000000000 83BC8EF3A6570183 0000000000000000
+03 1046103489988020 1046103489988020 1046103489988020 0000000000000000 DF725DCAD94EA2E9 0000000000000000
+04 1086911519190101 1086911519190101 1086911519190101 0000000000000000 E652B53B550BE8B0 0000000000000000
+05 1086911519580101 1086911519580101 1086911519580101 0000000000000000 AF527120C485CBB0 0000000000000000
+06 5107B01519580101 5107B01519580101 5107B01519580101 0000000000000000 0F04CE393DB926D5 0000000000000000
+07 1007B01519190101 1007B01519190101 1007B01519190101 0000000000000000 C9F00FFC74079067 0000000000000000
+08 3107915498080101 3107915498080101 3107915498080101 0000000000000000 7CFD82A593252B4E 0000000000000000
+09 3107919498080101 3107919498080101 3107919498080101 0000000000000000 CB49A2F9E91363E3 0000000000000000
+10 10079115B9080140 10079115B9080140 10079115B9080140 0000000000000000 00B588BE70D23F56 0000000000000000
+11 3107911598080140 3107911598080140 3107911598080140 0000000000000000 406A9A6AB43399AE 0000000000000000
+12 1007D01589980101 1007D01589980101 1007D01589980101 0000000000000000 6CB773611DCA9ADA 0000000000000000
+13 9107911589980101 9107911589980101 9107911589980101 0000000000000000 67FD21C17DBB5D70 0000000000000000
+14 9107D01589190101 9107D01589190101 9107D01589190101 0000000000000000 9592CB4110430787 0000000000000000
+15 1007D01598980120 1007D01598980120 1007D01598980120 0000000000000000 A6B7FF68A318DDD3 0000000000000000
+16 1007940498190101 1007940498190101 1007940498190101 0000000000000000 4D102196C914CA16 0000000000000000
+17 0107910491190401 0107910491190401 0107910491190401 0000000000000000 2DFA9F4573594965 0000000000000000
+18 0107910491190101 0107910491190101 0107910491190101 0000000000000000 B46604816C0E0774 0000000000000000
+19 0107940491190401 0107940491190401 0107940491190401 0000000000000000 6E7E6221A4F34E87 0000000000000000
+20 19079210981A0101 19079210981A0101 19079210981A0101 0000000000000000 AA85E74643233199 0000000000000000
+21 1007911998190801 1007911998190801 1007911998190801 0000000000000000 2E5A19DB4D1962D6 0000000000000000
+22 10079119981A0801 10079119981A0801 10079119981A0801 0000000000000000 23A866A809D30894 0000000000000000
+23 1007921098190101 1007921098190101 1007921098190101 0000000000000000 D812D961F017D320 0000000000000000
+24 100791159819010B 100791159819010B 100791159819010B 0000000000000000 055605816E58608F 0000000000000000
+25 1004801598190101 1004801598190101 1004801598190101 0000000000000000 ABD88E8B1B7716F1 0000000000000000
+26 1004801598190102 1004801598190102 1004801598190102 0000000000000000 537AC95BE69DA1E1 0000000000000000
+27 1004801598190108 1004801598190108 1004801598190108 0000000000000000 AED0F6AE3C25CDD8 0000000000000000
+28 1002911598100104 1002911598100104 1002911598100104 0000000000000000 B3E35A5EE53E7B8D 0000000000000000
+29 1002911598190104 1002911598190104 1002911598190104 0000000000000000 61C79C71921A2EF8 0000000000000000
+30 1002911598100201 1002911598100201 1002911598100201 0000000000000000 E2F5728F0995013C 0000000000000000
+31 1002911698100101 1002911698100101 1002911698100101 0000000000000000 1AEAC39A61F0A464 0000000000000000
++M Substitution Table Known Answer Test 
++C Key1............ Key2............ Key3............ Plaintext....... Ciphertext...... IV..............
+00 7CA110454A1A6E57 7CA110454A1A6E57 7CA110454A1A6E57 01A1D6D039776742 690F5B0D9A26939B 0000000000000000
+01 0131D9619DC1376E 0131D9619DC1376E 0131D9619DC1376E 5CD54CA83DEF57DA 7A389D10354BD271 0000000000000000
+02 07A1133E4A0B2686 07A1133E4A0B2686 07A1133E4A0B2686 0248D43806F67172 868EBB51CAB4599A 0000000000000000
+03 3849674C2602319E 3849674C2602319E 3849674C2602319E 51454B582DDF440A 7178876E01F19B2A 0000000000000000
+04 04B915BA43FEB5B6 04B915BA43FEB5B6 04B915BA43FEB5B6 42FD443059577FA2 AF37FB421F8C4095 0000000000000000
+05 0113B970FD34F2CE 0113B970FD34F2CE 0113B970FD34F2CE 059B5E0851CF143A 86A560F10EC6D85B 0000000000000000
+06 0170F175468FB5E6 0170F175468FB5E6 0170F175468FB5E6 0756D8E0774761D2 0CD3DA020021DC09 0000000000000000
+07 43297FAD38E373FE 43297FAD38E373FE 43297FAD38E373FE 762514B829BF486A EA676B2CB7DB2B7A 0000000000000000
+08 07A7137045DA2A16 07A7137045DA2A16 07A7137045DA2A16 3BDD119049372802 DFD64A815CAF1A0F 0000000000000000
+09 04689104C2FD3B2F 04689104C2FD3B2F 04689104C2FD3B2F 26955F6835AF609A 5C513C9C4886C088 0000000000000000
+10 37D06BB516CB7546 37D06BB516CB7546 37D06BB516CB7546 164D5E404F275232 0A2AEEAE3FF4AB77 0000000000000000
+11 1F08260D1AC2465E 1F08260D1AC2465E 1F08260D1AC2465E 6B056E18759F5CCA EF1BF03E5DFA575A 0000000000000000
+12 584023641ABA6176 584023641ABA6176 584023641ABA6176 004BD6EF09176062 88BF0DB6D70DEE56 0000000000000000
+13 025816164629B007 025816164629B007 025816164629B007 480D39006EE762F2 A1F9915541020B56 0000000000000000
+14 49793EBC79B3258F 49793EBC79B3258F 49793EBC79B3258F 437540C8698F3CFA 6FBF1CAFCFFD0556 0000000000000000
+15 4FB05E1515AB73A7 4FB05E1515AB73A7 4FB05E1515AB73A7 072D43A077075292 2F22E49BAB7CA1AC 0000000000000000
+16 49E95D6D4CA229BF 49E95D6D4CA229BF 49E95D6D4CA229BF 02FE55778117F12A 5A6B612CC26CCE4A 0000000000000000
+17 018310DC409B26D6 018310DC409B26D6 018310DC409B26D6 1D9D5C5018F728C2 5F4C038ED12B2E41 0000000000000000
+18 1C587F1C13924FEF 1C587F1C13924FEF 1C587F1C13924FEF 305532286D6F295A 63FAC0D034D9F793 0000000000000000
++M BSafe test - TFCIV802
+01 1122334455667788 1122334455667788 1122334455667788 000102030405060708091011121314151617181920212223 4C0CE7EA6E1FD7C57284B9D5DE41E8AA00E1F61DD4537842 0011223344556677
+02 1122334455667788 1122334455667788 1122334455667788 000102030405060708091011121314151617181920212223 3BD6E1D301A382E0F6DC9868C7A019EC470F379D9928148D 7766554433221100
++M BSafe test - TV3CBRI0
+02 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 6789ABCDEF012345 FC624960B90F7A7D 00000000EFAB23EF
++M BSafe test - TVDS3P00
+01 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 6789ABCDEF012345 FC624960B90F7A7D 00000000EFAB23EF
+02 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 6789ABCDEF0123450808080808080808 FC624960B90F7A7D2551005F74269110 00000000EFAB23EF
+03 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 010203040506070809101112131415160808080808080808 67D89FDD4DB55CDFE7886E07EBD3B3DF47D8B20E93909B58 00000000EFAB23EF
+04 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 01020304050607080910111213141501 67D89FDD4DB55CDFF52A136D17A87E8F 00000000EFAB23EF
+05 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 01020304050607080910111213140202 67D89FDD4DB55CDF9FF22B5301F5BA69 00000000EFAB23EF
+06 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 01020304050607080910111213030303 67D89FDD4DB55CDF7AC916277CC636EF 00000000EFAB23EF
+07 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 01020304050607080910111204040404 67D89FDD4DB55CDFE204DB2A32A7B8C8 00000000EFAB23EF
+08 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 01020304050607080910110505050505 67D89FDD4DB55CDF287F784D76357583 00000000EFAB23EF
+09 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 01020304050607080910060606060606 67D89FDD4DB55CDF4C58EA5623CD0B5B 00000000EFAB23EF
+10 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 01020304050607080907070707070707 67D89FDD4DB55CDFD784A16124DF7747 00000000EFAB23EF
+11 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 01020304050607080808080808080808 67D89FDD4DB55CDF9A19483ADB5C2975 00000000EFAB23EF
+12 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 0102030405060701 977C3A184FA1E78D 00000000EFAB23EF
+13 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 0102030405060202 D1AEE6C6FAE1828B 00000000EFAB23EF
+14 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 0102030405030303 A5EF9A711DE975CA 00000000EFAB23EF
+15 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 0102030404040404 A429C178F9A65553 00000000EFAB23EF
+16 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 0102030505050505 B53A1C038D1B89CD 00000000EFAB23EF
+17 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 0102060606060606 0D00D9D7CA3C98A4 00000000EFAB23EF
+18 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 0107070707070707 C3F1BA84FB6E4664 00000000EFAB23EF
+19 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 0808080808080808 D470869B58D76FAD 00000000EFAB23EF
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/trandom/testdata/3des2cfb.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,197 @@
++C Key1............ Key2............ Key3............ IV.............. Ciphertext...... Plaintext....... 
++C Current error
++M Sample round
+01 10316E028C8F3B4A 10316E028C8F3B4A 10316E028C8F3B4A 0000000000000000 82DCBAFBDEAB6602 0000000000000000
++M Variable Plaintext Known Answer Test
+00 0101010101010101 0101010101010101 0101010101010101 8000000000000000 95F8A5E5DD31D900 0000000000000000
+01 0101010101010101 0101010101010101 0101010101010101 4000000000000000 DD7F121CA5015619 0000000000000000
+02 0101010101010101 0101010101010101 0101010101010101 2000000000000000 2E8653104F3834EA 0000000000000000
+03 0101010101010101 0101010101010101 0101010101010101 1000000000000000 4BD388FF6CD81D4F 0000000000000000
+04 0101010101010101 0101010101010101 0101010101010101 0800000000000000 20B9E767B2FB1456 0000000000000000
+05 0101010101010101 0101010101010101 0101010101010101 0400000000000000 55579380D77138EF 0000000000000000
+06 0101010101010101 0101010101010101 0101010101010101 0200000000000000 6CC5DEFAAF04512F 0000000000000000
+07 0101010101010101 0101010101010101 0101010101010101 0100000000000000 0D9F279BA5D87260 0000000000000000
+08 0101010101010101 0101010101010101 0101010101010101 0080000000000000 D9031B0271BD5A0A 0000000000000000
+09 0101010101010101 0101010101010101 0101010101010101 0040000000000000 424250B37C3DD951 0000000000000000
+10 0101010101010101 0101010101010101 0101010101010101 0020000000000000 B8061B7ECD9A21E5 0000000000000000
+11 0101010101010101 0101010101010101 0101010101010101 0010000000000000 F15D0F286B65BD28 0000000000000000
+12 0101010101010101 0101010101010101 0101010101010101 0008000000000000 ADD0CC8D6E5DEBA1 0000000000000000
+13 0101010101010101 0101010101010101 0101010101010101 0004000000000000 E6D5F82752AD63D1 0000000000000000
+14 0101010101010101 0101010101010101 0101010101010101 0002000000000000 ECBFE3BD3F591A5E 0000000000000000
+15 0101010101010101 0101010101010101 0101010101010101 0001000000000000 F356834379D165CD 0000000000000000
+16 0101010101010101 0101010101010101 0101010101010101 0000800000000000 2B9F982F20037FA9 0000000000000000
+17 0101010101010101 0101010101010101 0101010101010101 0000400000000000 889DE068A16F0BE6 0000000000000000
+18 0101010101010101 0101010101010101 0101010101010101 0000200000000000 E19E275D846A1298 0000000000000000
+19 0101010101010101 0101010101010101 0101010101010101 0000100000000000 329A8ED523D71AEC 0000000000000000
+20 0101010101010101 0101010101010101 0101010101010101 0000080000000000 E7FCE22557D23C97 0000000000000000
+21 0101010101010101 0101010101010101 0101010101010101 0000040000000000 12A9F5817FF2D65D 0000000000000000
+22 0101010101010101 0101010101010101 0101010101010101 0000020000000000 A484C3AD38DC9C19 0000000000000000
+23 0101010101010101 0101010101010101 0101010101010101 0000010000000000 FBE00A8A1EF8AD72 0000000000000000
+24 0101010101010101 0101010101010101 0101010101010101 0000008000000000 750D079407521363 0000000000000000
+25 0101010101010101 0101010101010101 0101010101010101 0000004000000000 64FEED9C724C2FAF 0000000000000000
+26 0101010101010101 0101010101010101 0101010101010101 0000002000000000 F02B263B328E2B60 0000000000000000
+27 0101010101010101 0101010101010101 0101010101010101 0000001000000000 9D64555A9A10B852 0000000000000000
+28 0101010101010101 0101010101010101 0101010101010101 0000000800000000 D106FF0BED5255D7 0000000000000000
+29 0101010101010101 0101010101010101 0101010101010101 0000000400000000 E1652C6B138C64A5 0000000000000000
+30 0101010101010101 0101010101010101 0101010101010101 0000000200000000 E428581186EC8F46 0000000000000000
+31 0101010101010101 0101010101010101 0101010101010101 0000000100000000 AEB5F5EDE22D1A36 0000000000000000
+32 0101010101010101 0101010101010101 0101010101010101 0000000080000000 E943D7568AEC0C5C 0000000000000000
+33 0101010101010101 0101010101010101 0101010101010101 0000000040000000 DF98C8276F54B04B 0000000000000000
+34 0101010101010101 0101010101010101 0101010101010101 0000000020000000 B160E4680F6C696F 0000000000000000
+35 0101010101010101 0101010101010101 0101010101010101 0000000010000000 FA0752B07D9C4AB8 0000000000000000
+36 0101010101010101 0101010101010101 0101010101010101 0000000008000000 CA3A2B036DBC8502 0000000000000000
+37 0101010101010101 0101010101010101 0101010101010101 0000000004000000 5E0905517BB59BCF 0000000000000000
+38 0101010101010101 0101010101010101 0101010101010101 0000000002000000 814EEB3B91D90726 0000000000000000
+39 0101010101010101 0101010101010101 0101010101010101 0000000001000000 4D49DB1532919C9F 0000000000000000
+40 0101010101010101 0101010101010101 0101010101010101 0000000000800000 25EB5FC3F8CF0621 0000000000000000
+41 0101010101010101 0101010101010101 0101010101010101 0000000000400000 AB6A20C0620D1C6F 0000000000000000
+42 0101010101010101 0101010101010101 0101010101010101 0000000000200000 79E90DBC98F92CCA 0000000000000000
+43 0101010101010101 0101010101010101 0101010101010101 0000000000100000 866ECEDD8072BB0E 0000000000000000
+44 0101010101010101 0101010101010101 0101010101010101 0000000000080000 8B54536F2F3E64A8 0000000000000000
+45 0101010101010101 0101010101010101 0101010101010101 0000000000040000 EA51D3975595B86B 0000000000000000
+46 0101010101010101 0101010101010101 0101010101010101 0000000000020000 CAFFC6AC4542DE31 0000000000000000
+47 0101010101010101 0101010101010101 0101010101010101 0000000000010000 8DD45A2DDF90796C 0000000000000000
+48 0101010101010101 0101010101010101 0101010101010101 0000000000008000 1029D55E880EC2D0 0000000000000000
+49 0101010101010101 0101010101010101 0101010101010101 0000000000004000 5D86CB23639DBEA9 0000000000000000
+50 0101010101010101 0101010101010101 0101010101010101 0000000000002000 1D1CA853AE7C0C5F 0000000000000000
+51 0101010101010101 0101010101010101 0101010101010101 0000000000001000 CE332329248F3228 0000000000000000
+52 0101010101010101 0101010101010101 0101010101010101 0000000000000800 8405D1ABE24FB942 0000000000000000
+53 0101010101010101 0101010101010101 0101010101010101 0000000000000400 E643D78090CA4207 0000000000000000
+54 0101010101010101 0101010101010101 0101010101010101 0000000000000200 48221B9937748A23 0000000000000000
+55 0101010101010101 0101010101010101 0101010101010101 0000000000000100 DD7C0BBD61FAFD54 0000000000000000
+56 0101010101010101 0101010101010101 0101010101010101 0000000000000080 2FBC291A570DB5C4 0000000000000000
+57 0101010101010101 0101010101010101 0101010101010101 0000000000000040 E07C30D7E4E26E12 0000000000000000
+58 0101010101010101 0101010101010101 0101010101010101 0000000000000020 0953E2258E8E90A1 0000000000000000
+59 0101010101010101 0101010101010101 0101010101010101 0000000000000010 5B711BC4CEEBF2EE 0000000000000000
+60 0101010101010101 0101010101010101 0101010101010101 0000000000000008 CC083F1E6D9E85F6 0000000000000000
+61 0101010101010101 0101010101010101 0101010101010101 0000000000000004 D2FD8867D50D2DFE 0000000000000000
+62 0101010101010101 0101010101010101 0101010101010101 0000000000000002 06E7EA22CE92708F 0000000000000000
+63 0101010101010101 0101010101010101 0101010101010101 0000000000000001 166B40B44ABA4BD6 0000000000000000
++M Variable Key Known Answer Test
++C Key............. Plaintext....... Ciphertext......
+00 8001010101010101 8001010101010101 8001010101010101 0000000000000000 95A8D72813DAA94D 0000000000000000
+01 4001010101010101 4001010101010101 4001010101010101 0000000000000000 0EEC1487DD8C26D5 0000000000000000
+02 2001010101010101 2001010101010101 2001010101010101 0000000000000000 7AD16FFB79C45926 0000000000000000
+03 1001010101010101 1001010101010101 1001010101010101 0000000000000000 D3746294CA6A6CF3 0000000000000000
+04 0801010101010101 0801010101010101 0801010101010101 0000000000000000 809F5F873C1FD761 0000000000000000
+05 0401010101010101 0401010101010101 0401010101010101 0000000000000000 C02FAFFEC989D1FC 0000000000000000
+06 0201010101010101 0201010101010101 0201010101010101 0000000000000000 4615AA1D33E72F10 0000000000000000
+07 0180010101010101 0180010101010101 0180010101010101 0000000000000000 2055123350C00858 0000000000000000
+08 0140010101010101 0140010101010101 0140010101010101 0000000000000000 DF3B99D6577397C8 0000000000000000
+09 0120010101010101 0120010101010101 0120010101010101 0000000000000000 31FE17369B5288C9 0000000000000000
+10 0110010101010101 0110010101010101 0110010101010101 0000000000000000 DFDD3CC64DAE1642 0000000000000000
+11 0108010101010101 0108010101010101 0108010101010101 0000000000000000 178C83CE2B399D94 0000000000000000
+12 0104010101010101 0104010101010101 0104010101010101 0000000000000000 50F636324A9B7F80 0000000000000000
+13 0102010101010101 0102010101010101 0102010101010101 0000000000000000 A8468EE3BC18F06D 0000000000000000
+14 0101800101010101 0101800101010101 0101800101010101 0000000000000000 A2DC9E92FD3CDE92 0000000000000000
+15 0101400101010101 0101400101010101 0101400101010101 0000000000000000 CAC09F797D031287 0000000000000000
+16 0101200101010101 0101200101010101 0101200101010101 0000000000000000 90BA680B22AEB525 0000000000000000
+17 0101100101010101 0101100101010101 0101100101010101 0000000000000000 CE7A24F350E280B6 0000000000000000
+18 0101080101010101 0101080101010101 0101080101010101 0000000000000000 882BFF0AA01A0B87 0000000000000000
+19 0101040101010101 0101040101010101 0101040101010101 0000000000000000 25610288924511C2 0000000000000000
+20 0101020101010101 0101020101010101 0101020101010101 0000000000000000 C71516C29C75D170 0000000000000000
+21 0101018001010101 0101018001010101 0101018001010101 0000000000000000 5199C29A52C9F059 0000000000000000
+22 0101014001010101 0101014001010101 0101014001010101 0000000000000000 C22F0A294A71F29F 0000000000000000
+23 0101012001010101 0101012001010101 0101012001010101 0000000000000000 EE371483714C02EA 0000000000000000
+24 0101011001010101 0101011001010101 0101011001010101 0000000000000000 A81FBD448F9E522F 0000000000000000
+25 0101010801010101 0101010801010101 0101010801010101 0000000000000000 4F644C92E192DFED 0000000000000000
+26 0101010401010101 0101010401010101 0101010401010101 0000000000000000 1AFA9A66A6DF92AE 0000000000000000
+27 0101010201010101 0101010201010101 0101010201010101 0000000000000000 B3C1CC715CB879D8 0000000000000000
+28 0101010180010101 0101010180010101 0101010180010101 0000000000000000 19D032E64AB0BD8B 0000000000000000
+29 0101010140010101 0101010140010101 0101010140010101 0000000000000000 3CFAA7A7DC8720DC 0000000000000000
+30 0101010120010101 0101010120010101 0101010120010101 0000000000000000 B7265F7F447AC6F3 0000000000000000
+31 0101010110010101 0101010110010101 0101010110010101 0000000000000000 9DB73B3C0D163F54 0000000000000000
+32 0101010108010101 0101010108010101 0101010108010101 0000000000000000 8181B65BABF4A975 0000000000000000
+33 0101010104010101 0101010104010101 0101010104010101 0000000000000000 93C9B64042EAA240 0000000000000000
+34 0101010102010101 0101010102010101 0101010102010101 0000000000000000 5570530829705592 0000000000000000
+35 0101010101800101 0101010101800101 0101010101800101 0000000000000000 8638809E878787A0 0000000000000000
+36 0101010101400101 0101010101400101 0101010101400101 0000000000000000 41B9A79AF79AC208 0000000000000000
+37 0101010101200101 0101010101200101 0101010101200101 0000000000000000 7A9BE42F2009A892 0000000000000000
+38 0101010101100101 0101010101100101 0101010101100101 0000000000000000 29038D56BA6D2745 0000000000000000
+39 0101010101080101 0101010101080101 0101010101080101 0000000000000000 5495C6ABF1E5DF51 0000000000000000
+40 0101010101040101 0101010101040101 0101010101040101 0000000000000000 AE13DBD561488933 0000000000000000
+41 0101010101020101 0101010101020101 0101010101020101 0000000000000000 024D1FFA8904E389 0000000000000000
+42 0101010101018001 0101010101018001 0101010101018001 0000000000000000 D1399712F99BF02E 0000000000000000
+43 0101010101014001 0101010101014001 0101010101014001 0000000000000000 14C1D7C1CFFEC79E 0000000000000000
+44 0101010101012001 0101010101012001 0101010101012001 0000000000000000 1DE5279DAE3BED6F 0000000000000000
+45 0101010101011001 0101010101011001 0101010101011001 0000000000000000 E941A33F85501303 0000000000000000
+46 0101010101010801 0101010101010801 0101010101010801 0000000000000000 DA99DBBC9A03F379 0000000000000000
+47 0101010101010401 0101010101010401 0101010101010401 0000000000000000 B7FC92F91D8E92E9 0000000000000000
+48 0101010101010201 0101010101010201 0101010101010201 0000000000000000 AE8E5CAA3CA04E85 0000000000000000
+49 0101010101010180 0101010101010180 0101010101010180 0000000000000000 9CC62DF43B6EED74 0000000000000000
+50 0101010101010140 0101010101010140 0101010101010140 0000000000000000 D863DBB5C59A91A0 0000000000000000
+51 0101010101010120 0101010101010120 0101010101010120 0000000000000000 A1AB2190545B91D7 0000000000000000
+52 0101010101010110 0101010101010110 0101010101010110 0000000000000000 0875041E64C570F7 0000000000000000
+53 0101010101010108 0101010101010108 0101010101010108 0000000000000000 5A594528BEBEF1CC 0000000000000000
+54 0101010101010104 0101010101010104 0101010101010104 0000000000000000 FCDB3291DE21F0C0 0000000000000000
+55 0101010101010102 0101010101010102 0101010101010102 0000000000000000 869EFD7F9F265A09 0000000000000000
++M Permutation Operation Known Answer Test
++C Key............. Plaintext....... Ciphertext......
+00 1046913489980131 1046913489980131 1046913489980131 0000000000000000 88D55E54F54C97B4 0000000000000000
+01 1007103489988020 1007103489988020 1007103489988020 0000000000000000 0C0CC00C83EA48FD 0000000000000000
+02 10071034C8980120 10071034C8980120 10071034C8980120 0000000000000000 83BC8EF3A6570183 0000000000000000
+03 1046103489988020 1046103489988020 1046103489988020 0000000000000000 DF725DCAD94EA2E9 0000000000000000
+04 1086911519190101 1086911519190101 1086911519190101 0000000000000000 E652B53B550BE8B0 0000000000000000
+05 1086911519580101 1086911519580101 1086911519580101 0000000000000000 AF527120C485CBB0 0000000000000000
+06 5107B01519580101 5107B01519580101 5107B01519580101 0000000000000000 0F04CE393DB926D5 0000000000000000
+07 1007B01519190101 1007B01519190101 1007B01519190101 0000000000000000 C9F00FFC74079067 0000000000000000
+08 3107915498080101 3107915498080101 3107915498080101 0000000000000000 7CFD82A593252B4E 0000000000000000
+09 3107919498080101 3107919498080101 3107919498080101 0000000000000000 CB49A2F9E91363E3 0000000000000000
+10 10079115B9080140 10079115B9080140 10079115B9080140 0000000000000000 00B588BE70D23F56 0000000000000000
+11 3107911598080140 3107911598080140 3107911598080140 0000000000000000 406A9A6AB43399AE 0000000000000000
+12 1007D01589980101 1007D01589980101 1007D01589980101 0000000000000000 6CB773611DCA9ADA 0000000000000000
+13 9107911589980101 9107911589980101 9107911589980101 0000000000000000 67FD21C17DBB5D70 0000000000000000
+14 9107D01589190101 9107D01589190101 9107D01589190101 0000000000000000 9592CB4110430787 0000000000000000
+15 1007D01598980120 1007D01598980120 1007D01598980120 0000000000000000 A6B7FF68A318DDD3 0000000000000000
+16 1007940498190101 1007940498190101 1007940498190101 0000000000000000 4D102196C914CA16 0000000000000000
+17 0107910491190401 0107910491190401 0107910491190401 0000000000000000 2DFA9F4573594965 0000000000000000
+18 0107910491190101 0107910491190101 0107910491190101 0000000000000000 B46604816C0E0774 0000000000000000
+19 0107940491190401 0107940491190401 0107940491190401 0000000000000000 6E7E6221A4F34E87 0000000000000000
+20 19079210981A0101 19079210981A0101 19079210981A0101 0000000000000000 AA85E74643233199 0000000000000000
+21 1007911998190801 1007911998190801 1007911998190801 0000000000000000 2E5A19DB4D1962D6 0000000000000000
+22 10079119981A0801 10079119981A0801 10079119981A0801 0000000000000000 23A866A809D30894 0000000000000000
+23 1007921098190101 1007921098190101 1007921098190101 0000000000000000 D812D961F017D320 0000000000000000
+24 100791159819010B 100791159819010B 100791159819010B 0000000000000000 055605816E58608F 0000000000000000
+25 1004801598190101 1004801598190101 1004801598190101 0000000000000000 ABD88E8B1B7716F1 0000000000000000
+26 1004801598190102 1004801598190102 1004801598190102 0000000000000000 537AC95BE69DA1E1 0000000000000000
+27 1004801598190108 1004801598190108 1004801598190108 0000000000000000 AED0F6AE3C25CDD8 0000000000000000
+28 1002911598100104 1002911598100104 1002911598100104 0000000000000000 B3E35A5EE53E7B8D 0000000000000000
+29 1002911598190104 1002911598190104 1002911598190104 0000000000000000 61C79C71921A2EF8 0000000000000000
+30 1002911598100201 1002911598100201 1002911598100201 0000000000000000 E2F5728F0995013C 0000000000000000
+31 1002911698100101 1002911698100101 1002911698100101 0000000000000000 1AEAC39A61F0A464 0000000000000000
++M Substitution Table Known Answer Test 
++C Key............. Plaintext....... Ciphertext......
+00 7CA110454A1A6E57 7CA110454A1A6E57 7CA110454A1A6E57 01A1D6D039776742 690F5B0D9A26939B 0000000000000000
+01 0131D9619DC1376E 0131D9619DC1376E 0131D9619DC1376E 5CD54CA83DEF57DA 7A389D10354BD271 0000000000000000
+02 07A1133E4A0B2686 07A1133E4A0B2686 07A1133E4A0B2686 0248D43806F67172 868EBB51CAB4599A 0000000000000000
+03 3849674C2602319E 3849674C2602319E 3849674C2602319E 51454B582DDF440A 7178876E01F19B2A 0000000000000000
+04 04B915BA43FEB5B6 04B915BA43FEB5B6 04B915BA43FEB5B6 42FD443059577FA2 AF37FB421F8C4095 0000000000000000
+05 0113B970FD34F2CE 0113B970FD34F2CE 0113B970FD34F2CE 059B5E0851CF143A 86A560F10EC6D85B 0000000000000000
+06 0170F175468FB5E6 0170F175468FB5E6 0170F175468FB5E6 0756D8E0774761D2 0CD3DA020021DC09 0000000000000000
+07 43297FAD38E373FE 43297FAD38E373FE 43297FAD38E373FE 762514B829BF486A EA676B2CB7DB2B7A 0000000000000000
+08 07A7137045DA2A16 07A7137045DA2A16 07A7137045DA2A16 3BDD119049372802 DFD64A815CAF1A0F 0000000000000000
+09 04689104C2FD3B2F 04689104C2FD3B2F 04689104C2FD3B2F 26955F6835AF609A 5C513C9C4886C088 0000000000000000
+10 37D06BB516CB7546 37D06BB516CB7546 37D06BB516CB7546 164D5E404F275232 0A2AEEAE3FF4AB77 0000000000000000
+11 1F08260D1AC2465E 1F08260D1AC2465E 1F08260D1AC2465E 6B056E18759F5CCA EF1BF03E5DFA575A 0000000000000000
+12 584023641ABA6176 584023641ABA6176 584023641ABA6176 004BD6EF09176062 88BF0DB6D70DEE56 0000000000000000
+13 025816164629B007 025816164629B007 025816164629B007 480D39006EE762F2 A1F9915541020B56 0000000000000000
+14 49793EBC79B3258F 49793EBC79B3258F 49793EBC79B3258F 437540C8698F3CFA 6FBF1CAFCFFD0556 0000000000000000
+15 4FB05E1515AB73A7 4FB05E1515AB73A7 4FB05E1515AB73A7 072D43A077075292 2F22E49BAB7CA1AC 0000000000000000
+16 49E95D6D4CA229BF 49E95D6D4CA229BF 49E95D6D4CA229BF 02FE55778117F12A 5A6B612CC26CCE4A 0000000000000000
+17 018310DC409B26D6 018310DC409B26D6 018310DC409B26D6 1D9D5C5018F728C2 5F4C038ED12B2E41 0000000000000000
+18 1C587F1C13924FEF 1C587F1C13924FEF 1C587F1C13924FEF 305532286D6F295A 63FAC0D034D9F793 0000000000000000
++M BSafe tests - TV3CFPN2
++C These tests are for CFB 64bit pipelined
++C Dunno if these are relevant
++C +M This shows an IV problem?
++C 01 0123456789ABCDEF 23456789ABCDEF01 456789ABCDEF0123 0000000000055555 6E664F920A9DF1E4E570C563110DA5248AB3D43134FC9101FF8E23D1B73E30543DEAABACDD241043449EED61D7589148 4E6F77206973207468652074696D6520666F7220616C6C20676F6F64206D656E20746F20636F6D6520746F2074686520 
++M BSafe tests - TV3CFPS0
++C These tests are for CFB 8bit pipelined
++C Dunno if these are relevant
++C Not relevant!
++C 01 0123456789ABCDEF 23456789ABCDEF01 456789ABCDEF0123 0000000000055555 6EE29BF123180889FC4C 4E6F7720697320746865 
++M BSafe tests - TV3CFPS1
++C These tests are for CFB 1bit pipelined
++C Dunno if these are relevant (probably not!)
++C Not relevant!
++C 01 0123456789ABCDEF 23456789ABCDEF01 456789ABCDEF0123 0000000000055555 372CD5 4E6F77
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/trandom/testdata/3des2ecb.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,181 @@
++C Key1............ Key2............ Key3............ Plaintext....... Ciphertext......
++M Sample round
+01 10316E028C8F3B4A 10316E028C8F3B4A 10316E028C8F3B4A 0000000000000000 82DCBAFBDEAB6602
++M Variable Plaintext Known Answer Test
+00 0101010101010101 0101010101010101 0101010101010101 8000000000000000 95F8A5E5DD31D900
+01 0101010101010101 0101010101010101 0101010101010101 4000000000000000 DD7F121CA5015619
+02 0101010101010101 0101010101010101 0101010101010101 2000000000000000 2E8653104F3834EA
+03 0101010101010101 0101010101010101 0101010101010101 1000000000000000 4BD388FF6CD81D4F
+04 0101010101010101 0101010101010101 0101010101010101 0800000000000000 20B9E767B2FB1456
+05 0101010101010101 0101010101010101 0101010101010101 0400000000000000 55579380D77138EF
+06 0101010101010101 0101010101010101 0101010101010101 0200000000000000 6CC5DEFAAF04512F
+07 0101010101010101 0101010101010101 0101010101010101 0100000000000000 0D9F279BA5D87260
+08 0101010101010101 0101010101010101 0101010101010101 0080000000000000 D9031B0271BD5A0A
+09 0101010101010101 0101010101010101 0101010101010101 0040000000000000 424250B37C3DD951
+10 0101010101010101 0101010101010101 0101010101010101 0020000000000000 B8061B7ECD9A21E5
+11 0101010101010101 0101010101010101 0101010101010101 0010000000000000 F15D0F286B65BD28
+12 0101010101010101 0101010101010101 0101010101010101 0008000000000000 ADD0CC8D6E5DEBA1
+13 0101010101010101 0101010101010101 0101010101010101 0004000000000000 E6D5F82752AD63D1
+14 0101010101010101 0101010101010101 0101010101010101 0002000000000000 ECBFE3BD3F591A5E
+15 0101010101010101 0101010101010101 0101010101010101 0001000000000000 F356834379D165CD
+16 0101010101010101 0101010101010101 0101010101010101 0000800000000000 2B9F982F20037FA9
+17 0101010101010101 0101010101010101 0101010101010101 0000400000000000 889DE068A16F0BE6
+18 0101010101010101 0101010101010101 0101010101010101 0000200000000000 E19E275D846A1298
+19 0101010101010101 0101010101010101 0101010101010101 0000100000000000 329A8ED523D71AEC
+20 0101010101010101 0101010101010101 0101010101010101 0000080000000000 E7FCE22557D23C97
+21 0101010101010101 0101010101010101 0101010101010101 0000040000000000 12A9F5817FF2D65D
+22 0101010101010101 0101010101010101 0101010101010101 0000020000000000 A484C3AD38DC9C19
+23 0101010101010101 0101010101010101 0101010101010101 0000010000000000 FBE00A8A1EF8AD72
+24 0101010101010101 0101010101010101 0101010101010101 0000008000000000 750D079407521363
+25 0101010101010101 0101010101010101 0101010101010101 0000004000000000 64FEED9C724C2FAF
+26 0101010101010101 0101010101010101 0101010101010101 0000002000000000 F02B263B328E2B60
+27 0101010101010101 0101010101010101 0101010101010101 0000001000000000 9D64555A9A10B852
+28 0101010101010101 0101010101010101 0101010101010101 0000000800000000 D106FF0BED5255D7
+29 0101010101010101 0101010101010101 0101010101010101 0000000400000000 E1652C6B138C64A5
+30 0101010101010101 0101010101010101 0101010101010101 0000000200000000 E428581186EC8F46
+31 0101010101010101 0101010101010101 0101010101010101 0000000100000000 AEB5F5EDE22D1A36
+32 0101010101010101 0101010101010101 0101010101010101 0000000080000000 E943D7568AEC0C5C
+33 0101010101010101 0101010101010101 0101010101010101 0000000040000000 DF98C8276F54B04B
+34 0101010101010101 0101010101010101 0101010101010101 0000000020000000 B160E4680F6C696F
+35 0101010101010101 0101010101010101 0101010101010101 0000000010000000 FA0752B07D9C4AB8
+36 0101010101010101 0101010101010101 0101010101010101 0000000008000000 CA3A2B036DBC8502
+37 0101010101010101 0101010101010101 0101010101010101 0000000004000000 5E0905517BB59BCF
+38 0101010101010101 0101010101010101 0101010101010101 0000000002000000 814EEB3B91D90726
+39 0101010101010101 0101010101010101 0101010101010101 0000000001000000 4D49DB1532919C9F
+40 0101010101010101 0101010101010101 0101010101010101 0000000000800000 25EB5FC3F8CF0621
+41 0101010101010101 0101010101010101 0101010101010101 0000000000400000 AB6A20C0620D1C6F
+42 0101010101010101 0101010101010101 0101010101010101 0000000000200000 79E90DBC98F92CCA
+43 0101010101010101 0101010101010101 0101010101010101 0000000000100000 866ECEDD8072BB0E
+44 0101010101010101 0101010101010101 0101010101010101 0000000000080000 8B54536F2F3E64A8
+45 0101010101010101 0101010101010101 0101010101010101 0000000000040000 EA51D3975595B86B
+46 0101010101010101 0101010101010101 0101010101010101 0000000000020000 CAFFC6AC4542DE31
+47 0101010101010101 0101010101010101 0101010101010101 0000000000010000 8DD45A2DDF90796C
+48 0101010101010101 0101010101010101 0101010101010101 0000000000008000 1029D55E880EC2D0
+49 0101010101010101 0101010101010101 0101010101010101 0000000000004000 5D86CB23639DBEA9
+50 0101010101010101 0101010101010101 0101010101010101 0000000000002000 1D1CA853AE7C0C5F
+51 0101010101010101 0101010101010101 0101010101010101 0000000000001000 CE332329248F3228
+52 0101010101010101 0101010101010101 0101010101010101 0000000000000800 8405D1ABE24FB942
+53 0101010101010101 0101010101010101 0101010101010101 0000000000000400 E643D78090CA4207
+54 0101010101010101 0101010101010101 0101010101010101 0000000000000200 48221B9937748A23
+55 0101010101010101 0101010101010101 0101010101010101 0000000000000100 DD7C0BBD61FAFD54
+56 0101010101010101 0101010101010101 0101010101010101 0000000000000080 2FBC291A570DB5C4
+57 0101010101010101 0101010101010101 0101010101010101 0000000000000040 E07C30D7E4E26E12
+58 0101010101010101 0101010101010101 0101010101010101 0000000000000020 0953E2258E8E90A1
+59 0101010101010101 0101010101010101 0101010101010101 0000000000000010 5B711BC4CEEBF2EE
+60 0101010101010101 0101010101010101 0101010101010101 0000000000000008 CC083F1E6D9E85F6
+61 0101010101010101 0101010101010101 0101010101010101 0000000000000004 D2FD8867D50D2DFE
+62 0101010101010101 0101010101010101 0101010101010101 0000000000000002 06E7EA22CE92708F
+63 0101010101010101 0101010101010101 0101010101010101 0000000000000001 166B40B44ABA4BD6
++M Variable Key Known Answer Test
++C Key............. Plaintext....... Ciphertext......
+00 8001010101010101 8001010101010101 8001010101010101 0000000000000000 95A8D72813DAA94D
+01 4001010101010101 4001010101010101 4001010101010101 0000000000000000 0EEC1487DD8C26D5
+02 2001010101010101 2001010101010101 2001010101010101 0000000000000000 7AD16FFB79C45926
+03 1001010101010101 1001010101010101 1001010101010101 0000000000000000 D3746294CA6A6CF3
+04 0801010101010101 0801010101010101 0801010101010101 0000000000000000 809F5F873C1FD761
+05 0401010101010101 0401010101010101 0401010101010101 0000000000000000 C02FAFFEC989D1FC
+06 0201010101010101 0201010101010101 0201010101010101 0000000000000000 4615AA1D33E72F10
+07 0180010101010101 0180010101010101 0180010101010101 0000000000000000 2055123350C00858
+08 0140010101010101 0140010101010101 0140010101010101 0000000000000000 DF3B99D6577397C8
+09 0120010101010101 0120010101010101 0120010101010101 0000000000000000 31FE17369B5288C9
+10 0110010101010101 0110010101010101 0110010101010101 0000000000000000 DFDD3CC64DAE1642
+11 0108010101010101 0108010101010101 0108010101010101 0000000000000000 178C83CE2B399D94
+12 0104010101010101 0104010101010101 0104010101010101 0000000000000000 50F636324A9B7F80
+13 0102010101010101 0102010101010101 0102010101010101 0000000000000000 A8468EE3BC18F06D
+14 0101800101010101 0101800101010101 0101800101010101 0000000000000000 A2DC9E92FD3CDE92
+15 0101400101010101 0101400101010101 0101400101010101 0000000000000000 CAC09F797D031287
+16 0101200101010101 0101200101010101 0101200101010101 0000000000000000 90BA680B22AEB525
+17 0101100101010101 0101100101010101 0101100101010101 0000000000000000 CE7A24F350E280B6
+18 0101080101010101 0101080101010101 0101080101010101 0000000000000000 882BFF0AA01A0B87
+19 0101040101010101 0101040101010101 0101040101010101 0000000000000000 25610288924511C2
+20 0101020101010101 0101020101010101 0101020101010101 0000000000000000 C71516C29C75D170
+21 0101018001010101 0101018001010101 0101018001010101 0000000000000000 5199C29A52C9F059
+22 0101014001010101 0101014001010101 0101014001010101 0000000000000000 C22F0A294A71F29F
+23 0101012001010101 0101012001010101 0101012001010101 0000000000000000 EE371483714C02EA
+24 0101011001010101 0101011001010101 0101011001010101 0000000000000000 A81FBD448F9E522F
+25 0101010801010101 0101010801010101 0101010801010101 0000000000000000 4F644C92E192DFED
+26 0101010401010101 0101010401010101 0101010401010101 0000000000000000 1AFA9A66A6DF92AE
+27 0101010201010101 0101010201010101 0101010201010101 0000000000000000 B3C1CC715CB879D8
+28 0101010180010101 0101010180010101 0101010180010101 0000000000000000 19D032E64AB0BD8B
+29 0101010140010101 0101010140010101 0101010140010101 0000000000000000 3CFAA7A7DC8720DC
+30 0101010120010101 0101010120010101 0101010120010101 0000000000000000 B7265F7F447AC6F3
+31 0101010110010101 0101010110010101 0101010110010101 0000000000000000 9DB73B3C0D163F54
+32 0101010108010101 0101010108010101 0101010108010101 0000000000000000 8181B65BABF4A975
+33 0101010104010101 0101010104010101 0101010104010101 0000000000000000 93C9B64042EAA240
+34 0101010102010101 0101010102010101 0101010102010101 0000000000000000 5570530829705592
+35 0101010101800101 0101010101800101 0101010101800101 0000000000000000 8638809E878787A0
+36 0101010101400101 0101010101400101 0101010101400101 0000000000000000 41B9A79AF79AC208
+37 0101010101200101 0101010101200101 0101010101200101 0000000000000000 7A9BE42F2009A892
+38 0101010101100101 0101010101100101 0101010101100101 0000000000000000 29038D56BA6D2745
+39 0101010101080101 0101010101080101 0101010101080101 0000000000000000 5495C6ABF1E5DF51
+40 0101010101040101 0101010101040101 0101010101040101 0000000000000000 AE13DBD561488933
+41 0101010101020101 0101010101020101 0101010101020101 0000000000000000 024D1FFA8904E389
+42 0101010101018001 0101010101018001 0101010101018001 0000000000000000 D1399712F99BF02E
+43 0101010101014001 0101010101014001 0101010101014001 0000000000000000 14C1D7C1CFFEC79E
+44 0101010101012001 0101010101012001 0101010101012001 0000000000000000 1DE5279DAE3BED6F
+45 0101010101011001 0101010101011001 0101010101011001 0000000000000000 E941A33F85501303
+46 0101010101010801 0101010101010801 0101010101010801 0000000000000000 DA99DBBC9A03F379
+47 0101010101010401 0101010101010401 0101010101010401 0000000000000000 B7FC92F91D8E92E9
+48 0101010101010201 0101010101010201 0101010101010201 0000000000000000 AE8E5CAA3CA04E85
+49 0101010101010180 0101010101010180 0101010101010180 0000000000000000 9CC62DF43B6EED74
+50 0101010101010140 0101010101010140 0101010101010140 0000000000000000 D863DBB5C59A91A0
+51 0101010101010120 0101010101010120 0101010101010120 0000000000000000 A1AB2190545B91D7
+52 0101010101010110 0101010101010110 0101010101010110 0000000000000000 0875041E64C570F7
+53 0101010101010108 0101010101010108 0101010101010108 0000000000000000 5A594528BEBEF1CC
+54 0101010101010104 0101010101010104 0101010101010104 0000000000000000 FCDB3291DE21F0C0
+55 0101010101010102 0101010101010102 0101010101010102 0000000000000000 869EFD7F9F265A09
++M Permutation Operation Known Answer Test
++C Key............. Plaintext....... Ciphertext......
+00 1046913489980131 1046913489980131 1046913489980131 0000000000000000 88D55E54F54C97B4
+01 1007103489988020 1007103489988020 1007103489988020 0000000000000000 0C0CC00C83EA48FD
+02 10071034C8980120 10071034C8980120 10071034C8980120 0000000000000000 83BC8EF3A6570183
+03 1046103489988020 1046103489988020 1046103489988020 0000000000000000 DF725DCAD94EA2E9
+04 1086911519190101 1086911519190101 1086911519190101 0000000000000000 E652B53B550BE8B0
+05 1086911519580101 1086911519580101 1086911519580101 0000000000000000 AF527120C485CBB0
+06 5107B01519580101 5107B01519580101 5107B01519580101 0000000000000000 0F04CE393DB926D5
+07 1007B01519190101 1007B01519190101 1007B01519190101 0000000000000000 C9F00FFC74079067
+08 3107915498080101 3107915498080101 3107915498080101 0000000000000000 7CFD82A593252B4E
+09 3107919498080101 3107919498080101 3107919498080101 0000000000000000 CB49A2F9E91363E3
+10 10079115B9080140 10079115B9080140 10079115B9080140 0000000000000000 00B588BE70D23F56
+11 3107911598080140 3107911598080140 3107911598080140 0000000000000000 406A9A6AB43399AE
+12 1007D01589980101 1007D01589980101 1007D01589980101 0000000000000000 6CB773611DCA9ADA
+13 9107911589980101 9107911589980101 9107911589980101 0000000000000000 67FD21C17DBB5D70
+14 9107D01589190101 9107D01589190101 9107D01589190101 0000000000000000 9592CB4110430787
+15 1007D01598980120 1007D01598980120 1007D01598980120 0000000000000000 A6B7FF68A318DDD3
+16 1007940498190101 1007940498190101 1007940498190101 0000000000000000 4D102196C914CA16
+17 0107910491190401 0107910491190401 0107910491190401 0000000000000000 2DFA9F4573594965
+18 0107910491190101 0107910491190101 0107910491190101 0000000000000000 B46604816C0E0774
+19 0107940491190401 0107940491190401 0107940491190401 0000000000000000 6E7E6221A4F34E87
+20 19079210981A0101 19079210981A0101 19079210981A0101 0000000000000000 AA85E74643233199
+21 1007911998190801 1007911998190801 1007911998190801 0000000000000000 2E5A19DB4D1962D6
+22 10079119981A0801 10079119981A0801 10079119981A0801 0000000000000000 23A866A809D30894
+23 1007921098190101 1007921098190101 1007921098190101 0000000000000000 D812D961F017D320
+24 100791159819010B 100791159819010B 100791159819010B 0000000000000000 055605816E58608F
+25 1004801598190101 1004801598190101 1004801598190101 0000000000000000 ABD88E8B1B7716F1
+26 1004801598190102 1004801598190102 1004801598190102 0000000000000000 537AC95BE69DA1E1
+27 1004801598190108 1004801598190108 1004801598190108 0000000000000000 AED0F6AE3C25CDD8
+28 1002911598100104 1002911598100104 1002911598100104 0000000000000000 B3E35A5EE53E7B8D
+29 1002911598190104 1002911598190104 1002911598190104 0000000000000000 61C79C71921A2EF8
+30 1002911598100201 1002911598100201 1002911598100201 0000000000000000 E2F5728F0995013C
+31 1002911698100101 1002911698100101 1002911698100101 0000000000000000 1AEAC39A61F0A464
++M Substitution Table Known Answer Test
++C Key............. Plaintext....... Ciphertext......
+00 7CA110454A1A6E57 7CA110454A1A6E57 7CA110454A1A6E57 01A1D6D039776742 690F5B0D9A26939B
+01 0131D9619DC1376E 0131D9619DC1376E 0131D9619DC1376E 5CD54CA83DEF57DA 7A389D10354BD271
+02 07A1133E4A0B2686 07A1133E4A0B2686 07A1133E4A0B2686 0248D43806F67172 868EBB51CAB4599A
+03 3849674C2602319E 3849674C2602319E 3849674C2602319E 51454B582DDF440A 7178876E01F19B2A
+04 04B915BA43FEB5B6 04B915BA43FEB5B6 04B915BA43FEB5B6 42FD443059577FA2 AF37FB421F8C4095
+05 0113B970FD34F2CE 0113B970FD34F2CE 0113B970FD34F2CE 059B5E0851CF143A 86A560F10EC6D85B
+06 0170F175468FB5E6 0170F175468FB5E6 0170F175468FB5E6 0756D8E0774761D2 0CD3DA020021DC09
+07 43297FAD38E373FE 43297FAD38E373FE 43297FAD38E373FE 762514B829BF486A EA676B2CB7DB2B7A
+08 07A7137045DA2A16 07A7137045DA2A16 07A7137045DA2A16 3BDD119049372802 DFD64A815CAF1A0F
+09 04689104C2FD3B2F 04689104C2FD3B2F 04689104C2FD3B2F 26955F6835AF609A 5C513C9C4886C088
+10 37D06BB516CB7546 37D06BB516CB7546 37D06BB516CB7546 164D5E404F275232 0A2AEEAE3FF4AB77
+11 1F08260D1AC2465E 1F08260D1AC2465E 1F08260D1AC2465E 6B056E18759F5CCA EF1BF03E5DFA575A
+12 584023641ABA6176 584023641ABA6176 584023641ABA6176 004BD6EF09176062 88BF0DB6D70DEE56
+13 025816164629B007 025816164629B007 025816164629B007 480D39006EE762F2 A1F9915541020B56
+14 49793EBC79B3258F 49793EBC79B3258F 49793EBC79B3258F 437540C8698F3CFA 6FBF1CAFCFFD0556
+15 4FB05E1515AB73A7 4FB05E1515AB73A7 4FB05E1515AB73A7 072D43A077075292 2F22E49BAB7CA1AC
+16 49E95D6D4CA229BF 49E95D6D4CA229BF 49E95D6D4CA229BF 02FE55778117F12A 5A6B612CC26CCE4A
+17 018310DC409B26D6 018310DC409B26D6 018310DC409B26D6 1D9D5C5018F728C2 5F4C038ED12B2E41
+18 1C587F1C13924FEF 1C587F1C13924FEF 1C587F1C13924FEF 305532286D6F295A 63FAC0D034D9F793
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/trandom/testdata/3des2ofb.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,181 @@
++C Key............. IV.............. Ciphertext...... Plaintext....... 
++M Sample round
+01 10316E028C8F3B4A 10316E028C8F3B4A 10316E028C8F3B4A 0000000000000000 82DCBAFBDEAB6602 0000000000000000
++M Variable Plaintext Known Answer Test
+00 0101010101010101 0101010101010101 0101010101010101 8000000000000000 95F8A5E5DD31D900 0000000000000000
+01 0101010101010101 0101010101010101 0101010101010101 4000000000000000 DD7F121CA5015619 0000000000000000
+02 0101010101010101 0101010101010101 0101010101010101 2000000000000000 2E8653104F3834EA 0000000000000000
+03 0101010101010101 0101010101010101 0101010101010101 1000000000000000 4BD388FF6CD81D4F 0000000000000000
+04 0101010101010101 0101010101010101 0101010101010101 0800000000000000 20B9E767B2FB1456 0000000000000000
+05 0101010101010101 0101010101010101 0101010101010101 0400000000000000 55579380D77138EF 0000000000000000
+06 0101010101010101 0101010101010101 0101010101010101 0200000000000000 6CC5DEFAAF04512F 0000000000000000
+07 0101010101010101 0101010101010101 0101010101010101 0100000000000000 0D9F279BA5D87260 0000000000000000
+08 0101010101010101 0101010101010101 0101010101010101 0080000000000000 D9031B0271BD5A0A 0000000000000000
+09 0101010101010101 0101010101010101 0101010101010101 0040000000000000 424250B37C3DD951 0000000000000000
+10 0101010101010101 0101010101010101 0101010101010101 0020000000000000 B8061B7ECD9A21E5 0000000000000000
+11 0101010101010101 0101010101010101 0101010101010101 0010000000000000 F15D0F286B65BD28 0000000000000000
+12 0101010101010101 0101010101010101 0101010101010101 0008000000000000 ADD0CC8D6E5DEBA1 0000000000000000
+13 0101010101010101 0101010101010101 0101010101010101 0004000000000000 E6D5F82752AD63D1 0000000000000000
+14 0101010101010101 0101010101010101 0101010101010101 0002000000000000 ECBFE3BD3F591A5E 0000000000000000
+15 0101010101010101 0101010101010101 0101010101010101 0001000000000000 F356834379D165CD 0000000000000000
+16 0101010101010101 0101010101010101 0101010101010101 0000800000000000 2B9F982F20037FA9 0000000000000000
+17 0101010101010101 0101010101010101 0101010101010101 0000400000000000 889DE068A16F0BE6 0000000000000000
+18 0101010101010101 0101010101010101 0101010101010101 0000200000000000 E19E275D846A1298 0000000000000000
+19 0101010101010101 0101010101010101 0101010101010101 0000100000000000 329A8ED523D71AEC 0000000000000000
+20 0101010101010101 0101010101010101 0101010101010101 0000080000000000 E7FCE22557D23C97 0000000000000000
+21 0101010101010101 0101010101010101 0101010101010101 0000040000000000 12A9F5817FF2D65D 0000000000000000
+22 0101010101010101 0101010101010101 0101010101010101 0000020000000000 A484C3AD38DC9C19 0000000000000000
+23 0101010101010101 0101010101010101 0101010101010101 0000010000000000 FBE00A8A1EF8AD72 0000000000000000
+24 0101010101010101 0101010101010101 0101010101010101 0000008000000000 750D079407521363 0000000000000000
+25 0101010101010101 0101010101010101 0101010101010101 0000004000000000 64FEED9C724C2FAF 0000000000000000
+26 0101010101010101 0101010101010101 0101010101010101 0000002000000000 F02B263B328E2B60 0000000000000000
+27 0101010101010101 0101010101010101 0101010101010101 0000001000000000 9D64555A9A10B852 0000000000000000
+28 0101010101010101 0101010101010101 0101010101010101 0000000800000000 D106FF0BED5255D7 0000000000000000
+29 0101010101010101 0101010101010101 0101010101010101 0000000400000000 E1652C6B138C64A5 0000000000000000
+30 0101010101010101 0101010101010101 0101010101010101 0000000200000000 E428581186EC8F46 0000000000000000
+31 0101010101010101 0101010101010101 0101010101010101 0000000100000000 AEB5F5EDE22D1A36 0000000000000000
+32 0101010101010101 0101010101010101 0101010101010101 0000000080000000 E943D7568AEC0C5C 0000000000000000
+33 0101010101010101 0101010101010101 0101010101010101 0000000040000000 DF98C8276F54B04B 0000000000000000
+34 0101010101010101 0101010101010101 0101010101010101 0000000020000000 B160E4680F6C696F 0000000000000000
+35 0101010101010101 0101010101010101 0101010101010101 0000000010000000 FA0752B07D9C4AB8 0000000000000000
+36 0101010101010101 0101010101010101 0101010101010101 0000000008000000 CA3A2B036DBC8502 0000000000000000
+37 0101010101010101 0101010101010101 0101010101010101 0000000004000000 5E0905517BB59BCF 0000000000000000
+38 0101010101010101 0101010101010101 0101010101010101 0000000002000000 814EEB3B91D90726 0000000000000000
+39 0101010101010101 0101010101010101 0101010101010101 0000000001000000 4D49DB1532919C9F 0000000000000000
+40 0101010101010101 0101010101010101 0101010101010101 0000000000800000 25EB5FC3F8CF0621 0000000000000000
+41 0101010101010101 0101010101010101 0101010101010101 0000000000400000 AB6A20C0620D1C6F 0000000000000000
+42 0101010101010101 0101010101010101 0101010101010101 0000000000200000 79E90DBC98F92CCA 0000000000000000
+43 0101010101010101 0101010101010101 0101010101010101 0000000000100000 866ECEDD8072BB0E 0000000000000000
+44 0101010101010101 0101010101010101 0101010101010101 0000000000080000 8B54536F2F3E64A8 0000000000000000
+45 0101010101010101 0101010101010101 0101010101010101 0000000000040000 EA51D3975595B86B 0000000000000000
+46 0101010101010101 0101010101010101 0101010101010101 0000000000020000 CAFFC6AC4542DE31 0000000000000000
+47 0101010101010101 0101010101010101 0101010101010101 0000000000010000 8DD45A2DDF90796C 0000000000000000
+48 0101010101010101 0101010101010101 0101010101010101 0000000000008000 1029D55E880EC2D0 0000000000000000
+49 0101010101010101 0101010101010101 0101010101010101 0000000000004000 5D86CB23639DBEA9 0000000000000000
+50 0101010101010101 0101010101010101 0101010101010101 0000000000002000 1D1CA853AE7C0C5F 0000000000000000
+51 0101010101010101 0101010101010101 0101010101010101 0000000000001000 CE332329248F3228 0000000000000000
+52 0101010101010101 0101010101010101 0101010101010101 0000000000000800 8405D1ABE24FB942 0000000000000000
+53 0101010101010101 0101010101010101 0101010101010101 0000000000000400 E643D78090CA4207 0000000000000000
+54 0101010101010101 0101010101010101 0101010101010101 0000000000000200 48221B9937748A23 0000000000000000
+55 0101010101010101 0101010101010101 0101010101010101 0000000000000100 DD7C0BBD61FAFD54 0000000000000000
+56 0101010101010101 0101010101010101 0101010101010101 0000000000000080 2FBC291A570DB5C4 0000000000000000
+57 0101010101010101 0101010101010101 0101010101010101 0000000000000040 E07C30D7E4E26E12 0000000000000000
+58 0101010101010101 0101010101010101 0101010101010101 0000000000000020 0953E2258E8E90A1 0000000000000000
+59 0101010101010101 0101010101010101 0101010101010101 0000000000000010 5B711BC4CEEBF2EE 0000000000000000
+60 0101010101010101 0101010101010101 0101010101010101 0000000000000008 CC083F1E6D9E85F6 0000000000000000
+61 0101010101010101 0101010101010101 0101010101010101 0000000000000004 D2FD8867D50D2DFE 0000000000000000
+62 0101010101010101 0101010101010101 0101010101010101 0000000000000002 06E7EA22CE92708F 0000000000000000
+63 0101010101010101 0101010101010101 0101010101010101 0000000000000001 166B40B44ABA4BD6 0000000000000000
++M Variable Key Known Answer Test
++C Key............. Plaintext....... Ciphertext......
+00 8001010101010101 8001010101010101 8001010101010101 0000000000000000 95A8D72813DAA94D 0000000000000000
+01 4001010101010101 4001010101010101 4001010101010101 0000000000000000 0EEC1487DD8C26D5 0000000000000000
+02 2001010101010101 2001010101010101 2001010101010101 0000000000000000 7AD16FFB79C45926 0000000000000000
+03 1001010101010101 1001010101010101 1001010101010101 0000000000000000 D3746294CA6A6CF3 0000000000000000
+04 0801010101010101 0801010101010101 0801010101010101 0000000000000000 809F5F873C1FD761 0000000000000000
+05 0401010101010101 0401010101010101 0401010101010101 0000000000000000 C02FAFFEC989D1FC 0000000000000000
+06 0201010101010101 0201010101010101 0201010101010101 0000000000000000 4615AA1D33E72F10 0000000000000000
+07 0180010101010101 0180010101010101 0180010101010101 0000000000000000 2055123350C00858 0000000000000000
+08 0140010101010101 0140010101010101 0140010101010101 0000000000000000 DF3B99D6577397C8 0000000000000000
+09 0120010101010101 0120010101010101 0120010101010101 0000000000000000 31FE17369B5288C9 0000000000000000
+10 0110010101010101 0110010101010101 0110010101010101 0000000000000000 DFDD3CC64DAE1642 0000000000000000
+11 0108010101010101 0108010101010101 0108010101010101 0000000000000000 178C83CE2B399D94 0000000000000000
+12 0104010101010101 0104010101010101 0104010101010101 0000000000000000 50F636324A9B7F80 0000000000000000
+13 0102010101010101 0102010101010101 0102010101010101 0000000000000000 A8468EE3BC18F06D 0000000000000000
+14 0101800101010101 0101800101010101 0101800101010101 0000000000000000 A2DC9E92FD3CDE92 0000000000000000
+15 0101400101010101 0101400101010101 0101400101010101 0000000000000000 CAC09F797D031287 0000000000000000
+16 0101200101010101 0101200101010101 0101200101010101 0000000000000000 90BA680B22AEB525 0000000000000000
+17 0101100101010101 0101100101010101 0101100101010101 0000000000000000 CE7A24F350E280B6 0000000000000000
+18 0101080101010101 0101080101010101 0101080101010101 0000000000000000 882BFF0AA01A0B87 0000000000000000
+19 0101040101010101 0101040101010101 0101040101010101 0000000000000000 25610288924511C2 0000000000000000
+20 0101020101010101 0101020101010101 0101020101010101 0000000000000000 C71516C29C75D170 0000000000000000
+21 0101018001010101 0101018001010101 0101018001010101 0000000000000000 5199C29A52C9F059 0000000000000000
+22 0101014001010101 0101014001010101 0101014001010101 0000000000000000 C22F0A294A71F29F 0000000000000000
+23 0101012001010101 0101012001010101 0101012001010101 0000000000000000 EE371483714C02EA 0000000000000000
+24 0101011001010101 0101011001010101 0101011001010101 0000000000000000 A81FBD448F9E522F 0000000000000000
+25 0101010801010101 0101010801010101 0101010801010101 0000000000000000 4F644C92E192DFED 0000000000000000
+26 0101010401010101 0101010401010101 0101010401010101 0000000000000000 1AFA9A66A6DF92AE 0000000000000000
+27 0101010201010101 0101010201010101 0101010201010101 0000000000000000 B3C1CC715CB879D8 0000000000000000
+28 0101010180010101 0101010180010101 0101010180010101 0000000000000000 19D032E64AB0BD8B 0000000000000000
+29 0101010140010101 0101010140010101 0101010140010101 0000000000000000 3CFAA7A7DC8720DC 0000000000000000
+30 0101010120010101 0101010120010101 0101010120010101 0000000000000000 B7265F7F447AC6F3 0000000000000000
+31 0101010110010101 0101010110010101 0101010110010101 0000000000000000 9DB73B3C0D163F54 0000000000000000
+32 0101010108010101 0101010108010101 0101010108010101 0000000000000000 8181B65BABF4A975 0000000000000000
+33 0101010104010101 0101010104010101 0101010104010101 0000000000000000 93C9B64042EAA240 0000000000000000
+34 0101010102010101 0101010102010101 0101010102010101 0000000000000000 5570530829705592 0000000000000000
+35 0101010101800101 0101010101800101 0101010101800101 0000000000000000 8638809E878787A0 0000000000000000
+36 0101010101400101 0101010101400101 0101010101400101 0000000000000000 41B9A79AF79AC208 0000000000000000
+37 0101010101200101 0101010101200101 0101010101200101 0000000000000000 7A9BE42F2009A892 0000000000000000
+38 0101010101100101 0101010101100101 0101010101100101 0000000000000000 29038D56BA6D2745 0000000000000000
+39 0101010101080101 0101010101080101 0101010101080101 0000000000000000 5495C6ABF1E5DF51 0000000000000000
+40 0101010101040101 0101010101040101 0101010101040101 0000000000000000 AE13DBD561488933 0000000000000000
+41 0101010101020101 0101010101020101 0101010101020101 0000000000000000 024D1FFA8904E389 0000000000000000
+42 0101010101018001 0101010101018001 0101010101018001 0000000000000000 D1399712F99BF02E 0000000000000000
+43 0101010101014001 0101010101014001 0101010101014001 0000000000000000 14C1D7C1CFFEC79E 0000000000000000
+44 0101010101012001 0101010101012001 0101010101012001 0000000000000000 1DE5279DAE3BED6F 0000000000000000
+45 0101010101011001 0101010101011001 0101010101011001 0000000000000000 E941A33F85501303 0000000000000000
+46 0101010101010801 0101010101010801 0101010101010801 0000000000000000 DA99DBBC9A03F379 0000000000000000
+47 0101010101010401 0101010101010401 0101010101010401 0000000000000000 B7FC92F91D8E92E9 0000000000000000
+48 0101010101010201 0101010101010201 0101010101010201 0000000000000000 AE8E5CAA3CA04E85 0000000000000000
+49 0101010101010180 0101010101010180 0101010101010180 0000000000000000 9CC62DF43B6EED74 0000000000000000
+50 0101010101010140 0101010101010140 0101010101010140 0000000000000000 D863DBB5C59A91A0 0000000000000000
+51 0101010101010120 0101010101010120 0101010101010120 0000000000000000 A1AB2190545B91D7 0000000000000000
+52 0101010101010110 0101010101010110 0101010101010110 0000000000000000 0875041E64C570F7 0000000000000000
+53 0101010101010108 0101010101010108 0101010101010108 0000000000000000 5A594528BEBEF1CC 0000000000000000
+54 0101010101010104 0101010101010104 0101010101010104 0000000000000000 FCDB3291DE21F0C0 0000000000000000
+55 0101010101010102 0101010101010102 0101010101010102 0000000000000000 869EFD7F9F265A09 0000000000000000
++M Permutation Operation Known Answer Test
++C Key............. Plaintext....... Ciphertext......
+00 1046913489980131 1046913489980131 1046913489980131 0000000000000000 88D55E54F54C97B4 0000000000000000
+01 1007103489988020 1007103489988020 1007103489988020 0000000000000000 0C0CC00C83EA48FD 0000000000000000
+02 10071034C8980120 10071034C8980120 10071034C8980120 0000000000000000 83BC8EF3A6570183 0000000000000000
+03 1046103489988020 1046103489988020 1046103489988020 0000000000000000 DF725DCAD94EA2E9 0000000000000000
+04 1086911519190101 1086911519190101 1086911519190101 0000000000000000 E652B53B550BE8B0 0000000000000000
+05 1086911519580101 1086911519580101 1086911519580101 0000000000000000 AF527120C485CBB0 0000000000000000
+06 5107B01519580101 5107B01519580101 5107B01519580101 0000000000000000 0F04CE393DB926D5 0000000000000000
+07 1007B01519190101 1007B01519190101 1007B01519190101 0000000000000000 C9F00FFC74079067 0000000000000000
+08 3107915498080101 3107915498080101 3107915498080101 0000000000000000 7CFD82A593252B4E 0000000000000000
+09 3107919498080101 3107919498080101 3107919498080101 0000000000000000 CB49A2F9E91363E3 0000000000000000
+10 10079115B9080140 10079115B9080140 10079115B9080140 0000000000000000 00B588BE70D23F56 0000000000000000
+11 3107911598080140 3107911598080140 3107911598080140 0000000000000000 406A9A6AB43399AE 0000000000000000
+12 1007D01589980101 1007D01589980101 1007D01589980101 0000000000000000 6CB773611DCA9ADA 0000000000000000
+13 9107911589980101 9107911589980101 9107911589980101 0000000000000000 67FD21C17DBB5D70 0000000000000000
+14 9107D01589190101 9107D01589190101 9107D01589190101 0000000000000000 9592CB4110430787 0000000000000000
+15 1007D01598980120 1007D01598980120 1007D01598980120 0000000000000000 A6B7FF68A318DDD3 0000000000000000
+16 1007940498190101 1007940498190101 1007940498190101 0000000000000000 4D102196C914CA16 0000000000000000
+17 0107910491190401 0107910491190401 0107910491190401 0000000000000000 2DFA9F4573594965 0000000000000000
+18 0107910491190101 0107910491190101 0107910491190101 0000000000000000 B46604816C0E0774 0000000000000000
+19 0107940491190401 0107940491190401 0107940491190401 0000000000000000 6E7E6221A4F34E87 0000000000000000
+20 19079210981A0101 19079210981A0101 19079210981A0101 0000000000000000 AA85E74643233199 0000000000000000
+21 1007911998190801 1007911998190801 1007911998190801 0000000000000000 2E5A19DB4D1962D6 0000000000000000
+22 10079119981A0801 10079119981A0801 10079119981A0801 0000000000000000 23A866A809D30894 0000000000000000
+23 1007921098190101 1007921098190101 1007921098190101 0000000000000000 D812D961F017D320 0000000000000000
+24 100791159819010B 100791159819010B 100791159819010B 0000000000000000 055605816E58608F 0000000000000000
+25 1004801598190101 1004801598190101 1004801598190101 0000000000000000 ABD88E8B1B7716F1 0000000000000000
+26 1004801598190102 1004801598190102 1004801598190102 0000000000000000 537AC95BE69DA1E1 0000000000000000
+27 1004801598190108 1004801598190108 1004801598190108 0000000000000000 AED0F6AE3C25CDD8 0000000000000000
+28 1002911598100104 1002911598100104 1002911598100104 0000000000000000 B3E35A5EE53E7B8D 0000000000000000
+29 1002911598190104 1002911598190104 1002911598190104 0000000000000000 61C79C71921A2EF8 0000000000000000
+30 1002911598100201 1002911598100201 1002911598100201 0000000000000000 E2F5728F0995013C 0000000000000000
+31 1002911698100101 1002911698100101 1002911698100101 0000000000000000 1AEAC39A61F0A464 0000000000000000
++M Substitution Table Known Answer Test 
++C Key............. Plaintext....... Ciphertext......
+00 7CA110454A1A6E57 7CA110454A1A6E57 7CA110454A1A6E57 01A1D6D039776742 690F5B0D9A26939B 0000000000000000
+01 0131D9619DC1376E 0131D9619DC1376E 0131D9619DC1376E 5CD54CA83DEF57DA 7A389D10354BD271 0000000000000000
+02 07A1133E4A0B2686 07A1133E4A0B2686 07A1133E4A0B2686 0248D43806F67172 868EBB51CAB4599A 0000000000000000
+03 3849674C2602319E 3849674C2602319E 3849674C2602319E 51454B582DDF440A 7178876E01F19B2A 0000000000000000
+04 04B915BA43FEB5B6 04B915BA43FEB5B6 04B915BA43FEB5B6 42FD443059577FA2 AF37FB421F8C4095 0000000000000000
+05 0113B970FD34F2CE 0113B970FD34F2CE 0113B970FD34F2CE 059B5E0851CF143A 86A560F10EC6D85B 0000000000000000
+06 0170F175468FB5E6 0170F175468FB5E6 0170F175468FB5E6 0756D8E0774761D2 0CD3DA020021DC09 0000000000000000
+07 43297FAD38E373FE 43297FAD38E373FE 43297FAD38E373FE 762514B829BF486A EA676B2CB7DB2B7A 0000000000000000
+08 07A7137045DA2A16 07A7137045DA2A16 07A7137045DA2A16 3BDD119049372802 DFD64A815CAF1A0F 0000000000000000
+09 04689104C2FD3B2F 04689104C2FD3B2F 04689104C2FD3B2F 26955F6835AF609A 5C513C9C4886C088 0000000000000000
+10 37D06BB516CB7546 37D06BB516CB7546 37D06BB516CB7546 164D5E404F275232 0A2AEEAE3FF4AB77 0000000000000000
+11 1F08260D1AC2465E 1F08260D1AC2465E 1F08260D1AC2465E 6B056E18759F5CCA EF1BF03E5DFA575A 0000000000000000
+12 584023641ABA6176 584023641ABA6176 584023641ABA6176 004BD6EF09176062 88BF0DB6D70DEE56 0000000000000000
+13 025816164629B007 025816164629B007 025816164629B007 480D39006EE762F2 A1F9915541020B56 0000000000000000
+14 49793EBC79B3258F 49793EBC79B3258F 49793EBC79B3258F 437540C8698F3CFA 6FBF1CAFCFFD0556 0000000000000000
+15 4FB05E1515AB73A7 4FB05E1515AB73A7 4FB05E1515AB73A7 072D43A077075292 2F22E49BAB7CA1AC 0000000000000000
+16 49E95D6D4CA229BF 49E95D6D4CA229BF 49E95D6D4CA229BF 02FE55778117F12A 5A6B612CC26CCE4A 0000000000000000
+17 018310DC409B26D6 018310DC409B26D6 018310DC409B26D6 1D9D5C5018F728C2 5F4C038ED12B2E41 0000000000000000
+18 1C587F1C13924FEF 1C587F1C13924FEF 1C587F1C13924FEF 305532286D6F295A 63FAC0D034D9F793 0000000000000000
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/trandom/testdata/3des3cbc.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,221 @@
++C 3DES CBC Tests
++C Key1............ Key2............ Key3............ Plaintext....... Ciphertext...... IV..............
++M Sample round
+01 10316E028C8F3B4A 10316E028C8F3B4A 10316E028C8F3B4A 0000000000000000 82DCBAFBDEAB6602 0000000000000000
++M Variable Plaintext Known Answer Test
+00 0101010101010101 0101010101010101 0101010101010101 8000000000000000 95F8A5E5DD31D900 0000000000000000
+01 0101010101010101 0101010101010101 0101010101010101 4000000000000000 DD7F121CA5015619 0000000000000000
+02 0101010101010101 0101010101010101 0101010101010101 2000000000000000 2E8653104F3834EA 0000000000000000
+03 0101010101010101 0101010101010101 0101010101010101 1000000000000000 4BD388FF6CD81D4F 0000000000000000
+04 0101010101010101 0101010101010101 0101010101010101 0800000000000000 20B9E767B2FB1456 0000000000000000
+05 0101010101010101 0101010101010101 0101010101010101 0400000000000000 55579380D77138EF 0000000000000000
+06 0101010101010101 0101010101010101 0101010101010101 0200000000000000 6CC5DEFAAF04512F 0000000000000000
+07 0101010101010101 0101010101010101 0101010101010101 0100000000000000 0D9F279BA5D87260 0000000000000000
+08 0101010101010101 0101010101010101 0101010101010101 0080000000000000 D9031B0271BD5A0A 0000000000000000
+09 0101010101010101 0101010101010101 0101010101010101 0040000000000000 424250B37C3DD951 0000000000000000
+10 0101010101010101 0101010101010101 0101010101010101 0020000000000000 B8061B7ECD9A21E5 0000000000000000
+11 0101010101010101 0101010101010101 0101010101010101 0010000000000000 F15D0F286B65BD28 0000000000000000
+12 0101010101010101 0101010101010101 0101010101010101 0008000000000000 ADD0CC8D6E5DEBA1 0000000000000000
+13 0101010101010101 0101010101010101 0101010101010101 0004000000000000 E6D5F82752AD63D1 0000000000000000
+14 0101010101010101 0101010101010101 0101010101010101 0002000000000000 ECBFE3BD3F591A5E 0000000000000000
+15 0101010101010101 0101010101010101 0101010101010101 0001000000000000 F356834379D165CD 0000000000000000
+16 0101010101010101 0101010101010101 0101010101010101 0000800000000000 2B9F982F20037FA9 0000000000000000
+17 0101010101010101 0101010101010101 0101010101010101 0000400000000000 889DE068A16F0BE6 0000000000000000
+18 0101010101010101 0101010101010101 0101010101010101 0000200000000000 E19E275D846A1298 0000000000000000
+19 0101010101010101 0101010101010101 0101010101010101 0000100000000000 329A8ED523D71AEC 0000000000000000
+20 0101010101010101 0101010101010101 0101010101010101 0000080000000000 E7FCE22557D23C97 0000000000000000
+21 0101010101010101 0101010101010101 0101010101010101 0000040000000000 12A9F5817FF2D65D 0000000000000000
+22 0101010101010101 0101010101010101 0101010101010101 0000020000000000 A484C3AD38DC9C19 0000000000000000
+23 0101010101010101 0101010101010101 0101010101010101 0000010000000000 FBE00A8A1EF8AD72 0000000000000000
+24 0101010101010101 0101010101010101 0101010101010101 0000008000000000 750D079407521363 0000000000000000
+25 0101010101010101 0101010101010101 0101010101010101 0000004000000000 64FEED9C724C2FAF 0000000000000000
+26 0101010101010101 0101010101010101 0101010101010101 0000002000000000 F02B263B328E2B60 0000000000000000
+27 0101010101010101 0101010101010101 0101010101010101 0000001000000000 9D64555A9A10B852 0000000000000000
+28 0101010101010101 0101010101010101 0101010101010101 0000000800000000 D106FF0BED5255D7 0000000000000000
+29 0101010101010101 0101010101010101 0101010101010101 0000000400000000 E1652C6B138C64A5 0000000000000000
+30 0101010101010101 0101010101010101 0101010101010101 0000000200000000 E428581186EC8F46 0000000000000000
+31 0101010101010101 0101010101010101 0101010101010101 0000000100000000 AEB5F5EDE22D1A36 0000000000000000
+32 0101010101010101 0101010101010101 0101010101010101 0000000080000000 E943D7568AEC0C5C 0000000000000000
+33 0101010101010101 0101010101010101 0101010101010101 0000000040000000 DF98C8276F54B04B 0000000000000000
+34 0101010101010101 0101010101010101 0101010101010101 0000000020000000 B160E4680F6C696F 0000000000000000
+35 0101010101010101 0101010101010101 0101010101010101 0000000010000000 FA0752B07D9C4AB8 0000000000000000
+36 0101010101010101 0101010101010101 0101010101010101 0000000008000000 CA3A2B036DBC8502 0000000000000000
+37 0101010101010101 0101010101010101 0101010101010101 0000000004000000 5E0905517BB59BCF 0000000000000000
+38 0101010101010101 0101010101010101 0101010101010101 0000000002000000 814EEB3B91D90726 0000000000000000
+39 0101010101010101 0101010101010101 0101010101010101 0000000001000000 4D49DB1532919C9F 0000000000000000
+40 0101010101010101 0101010101010101 0101010101010101 0000000000800000 25EB5FC3F8CF0621 0000000000000000
+41 0101010101010101 0101010101010101 0101010101010101 0000000000400000 AB6A20C0620D1C6F 0000000000000000
+42 0101010101010101 0101010101010101 0101010101010101 0000000000200000 79E90DBC98F92CCA 0000000000000000
+43 0101010101010101 0101010101010101 0101010101010101 0000000000100000 866ECEDD8072BB0E 0000000000000000
+44 0101010101010101 0101010101010101 0101010101010101 0000000000080000 8B54536F2F3E64A8 0000000000000000
+45 0101010101010101 0101010101010101 0101010101010101 0000000000040000 EA51D3975595B86B 0000000000000000
+46 0101010101010101 0101010101010101 0101010101010101 0000000000020000 CAFFC6AC4542DE31 0000000000000000
+47 0101010101010101 0101010101010101 0101010101010101 0000000000010000 8DD45A2DDF90796C 0000000000000000
+48 0101010101010101 0101010101010101 0101010101010101 0000000000008000 1029D55E880EC2D0 0000000000000000
+49 0101010101010101 0101010101010101 0101010101010101 0000000000004000 5D86CB23639DBEA9 0000000000000000
+50 0101010101010101 0101010101010101 0101010101010101 0000000000002000 1D1CA853AE7C0C5F 0000000000000000
+51 0101010101010101 0101010101010101 0101010101010101 0000000000001000 CE332329248F3228 0000000000000000
+52 0101010101010101 0101010101010101 0101010101010101 0000000000000800 8405D1ABE24FB942 0000000000000000
+53 0101010101010101 0101010101010101 0101010101010101 0000000000000400 E643D78090CA4207 0000000000000000
+54 0101010101010101 0101010101010101 0101010101010101 0000000000000200 48221B9937748A23 0000000000000000
+55 0101010101010101 0101010101010101 0101010101010101 0000000000000100 DD7C0BBD61FAFD54 0000000000000000
+56 0101010101010101 0101010101010101 0101010101010101 0000000000000080 2FBC291A570DB5C4 0000000000000000
+57 0101010101010101 0101010101010101 0101010101010101 0000000000000040 E07C30D7E4E26E12 0000000000000000
+58 0101010101010101 0101010101010101 0101010101010101 0000000000000020 0953E2258E8E90A1 0000000000000000
+59 0101010101010101 0101010101010101 0101010101010101 0000000000000010 5B711BC4CEEBF2EE 0000000000000000
+60 0101010101010101 0101010101010101 0101010101010101 0000000000000008 CC083F1E6D9E85F6 0000000000000000
+61 0101010101010101 0101010101010101 0101010101010101 0000000000000004 D2FD8867D50D2DFE 0000000000000000
+62 0101010101010101 0101010101010101 0101010101010101 0000000000000002 06E7EA22CE92708F 0000000000000000
+63 0101010101010101 0101010101010101 0101010101010101 0000000000000001 166B40B44ABA4BD6 0000000000000000
++M Variable Key Known Answer Test
++C Key1............ Key2............ Key3............ Plaintext....... Ciphertext...... IV..............
+00 8001010101010101 8001010101010101 8001010101010101 0000000000000000 95A8D72813DAA94D 0000000000000000
+01 4001010101010101 4001010101010101 4001010101010101 0000000000000000 0EEC1487DD8C26D5 0000000000000000
+02 2001010101010101 2001010101010101 2001010101010101 0000000000000000 7AD16FFB79C45926 0000000000000000
+03 1001010101010101 1001010101010101 1001010101010101 0000000000000000 D3746294CA6A6CF3 0000000000000000
+04 0801010101010101 0801010101010101 0801010101010101 0000000000000000 809F5F873C1FD761 0000000000000000
+05 0401010101010101 0401010101010101 0401010101010101 0000000000000000 C02FAFFEC989D1FC 0000000000000000
+06 0201010101010101 0201010101010101 0201010101010101 0000000000000000 4615AA1D33E72F10 0000000000000000
+07 0180010101010101 0180010101010101 0180010101010101 0000000000000000 2055123350C00858 0000000000000000
+08 0140010101010101 0140010101010101 0140010101010101 0000000000000000 DF3B99D6577397C8 0000000000000000
+09 0120010101010101 0120010101010101 0120010101010101 0000000000000000 31FE17369B5288C9 0000000000000000
+10 0110010101010101 0110010101010101 0110010101010101 0000000000000000 DFDD3CC64DAE1642 0000000000000000
+11 0108010101010101 0108010101010101 0108010101010101 0000000000000000 178C83CE2B399D94 0000000000000000
+12 0104010101010101 0104010101010101 0104010101010101 0000000000000000 50F636324A9B7F80 0000000000000000
+13 0102010101010101 0102010101010101 0102010101010101 0000000000000000 A8468EE3BC18F06D 0000000000000000
+14 0101800101010101 0101800101010101 0101800101010101 0000000000000000 A2DC9E92FD3CDE92 0000000000000000
+15 0101400101010101 0101400101010101 0101400101010101 0000000000000000 CAC09F797D031287 0000000000000000
+16 0101200101010101 0101200101010101 0101200101010101 0000000000000000 90BA680B22AEB525 0000000000000000
+17 0101100101010101 0101100101010101 0101100101010101 0000000000000000 CE7A24F350E280B6 0000000000000000
+18 0101080101010101 0101080101010101 0101080101010101 0000000000000000 882BFF0AA01A0B87 0000000000000000
+19 0101040101010101 0101040101010101 0101040101010101 0000000000000000 25610288924511C2 0000000000000000
+20 0101020101010101 0101020101010101 0101020101010101 0000000000000000 C71516C29C75D170 0000000000000000
+21 0101018001010101 0101018001010101 0101018001010101 0000000000000000 5199C29A52C9F059 0000000000000000
+22 0101014001010101 0101014001010101 0101014001010101 0000000000000000 C22F0A294A71F29F 0000000000000000
+23 0101012001010101 0101012001010101 0101012001010101 0000000000000000 EE371483714C02EA 0000000000000000
+24 0101011001010101 0101011001010101 0101011001010101 0000000000000000 A81FBD448F9E522F 0000000000000000
+25 0101010801010101 0101010801010101 0101010801010101 0000000000000000 4F644C92E192DFED 0000000000000000
+26 0101010401010101 0101010401010101 0101010401010101 0000000000000000 1AFA9A66A6DF92AE 0000000000000000
+27 0101010201010101 0101010201010101 0101010201010101 0000000000000000 B3C1CC715CB879D8 0000000000000000
+28 0101010180010101 0101010180010101 0101010180010101 0000000000000000 19D032E64AB0BD8B 0000000000000000
+29 0101010140010101 0101010140010101 0101010140010101 0000000000000000 3CFAA7A7DC8720DC 0000000000000000
+30 0101010120010101 0101010120010101 0101010120010101 0000000000000000 B7265F7F447AC6F3 0000000000000000
+31 0101010110010101 0101010110010101 0101010110010101 0000000000000000 9DB73B3C0D163F54 0000000000000000
+32 0101010108010101 0101010108010101 0101010108010101 0000000000000000 8181B65BABF4A975 0000000000000000
+33 0101010104010101 0101010104010101 0101010104010101 0000000000000000 93C9B64042EAA240 0000000000000000
+34 0101010102010101 0101010102010101 0101010102010101 0000000000000000 5570530829705592 0000000000000000
+35 0101010101800101 0101010101800101 0101010101800101 0000000000000000 8638809E878787A0 0000000000000000
+36 0101010101400101 0101010101400101 0101010101400101 0000000000000000 41B9A79AF79AC208 0000000000000000
+37 0101010101200101 0101010101200101 0101010101200101 0000000000000000 7A9BE42F2009A892 0000000000000000
+38 0101010101100101 0101010101100101 0101010101100101 0000000000000000 29038D56BA6D2745 0000000000000000
+39 0101010101080101 0101010101080101 0101010101080101 0000000000000000 5495C6ABF1E5DF51 0000000000000000
+40 0101010101040101 0101010101040101 0101010101040101 0000000000000000 AE13DBD561488933 0000000000000000
+41 0101010101020101 0101010101020101 0101010101020101 0000000000000000 024D1FFA8904E389 0000000000000000
+42 0101010101018001 0101010101018001 0101010101018001 0000000000000000 D1399712F99BF02E 0000000000000000
+43 0101010101014001 0101010101014001 0101010101014001 0000000000000000 14C1D7C1CFFEC79E 0000000000000000
+44 0101010101012001 0101010101012001 0101010101012001 0000000000000000 1DE5279DAE3BED6F 0000000000000000
+45 0101010101011001 0101010101011001 0101010101011001 0000000000000000 E941A33F85501303 0000000000000000
+46 0101010101010801 0101010101010801 0101010101010801 0000000000000000 DA99DBBC9A03F379 0000000000000000
+47 0101010101010401 0101010101010401 0101010101010401 0000000000000000 B7FC92F91D8E92E9 0000000000000000
+48 0101010101010201 0101010101010201 0101010101010201 0000000000000000 AE8E5CAA3CA04E85 0000000000000000
+49 0101010101010180 0101010101010180 0101010101010180 0000000000000000 9CC62DF43B6EED74 0000000000000000
+50 0101010101010140 0101010101010140 0101010101010140 0000000000000000 D863DBB5C59A91A0 0000000000000000
+51 0101010101010120 0101010101010120 0101010101010120 0000000000000000 A1AB2190545B91D7 0000000000000000
+52 0101010101010110 0101010101010110 0101010101010110 0000000000000000 0875041E64C570F7 0000000000000000
+53 0101010101010108 0101010101010108 0101010101010108 0000000000000000 5A594528BEBEF1CC 0000000000000000
+54 0101010101010104 0101010101010104 0101010101010104 0000000000000000 FCDB3291DE21F0C0 0000000000000000
+55 0101010101010102 0101010101010102 0101010101010102 0000000000000000 869EFD7F9F265A09 0000000000000000
++M Permutation Operation Known Answer Test
++C Key1............ Key2............ Key3............ Plaintext....... Ciphertext...... IV..............
+00 1046913489980131 1046913489980131 1046913489980131 0000000000000000 88D55E54F54C97B4 0000000000000000
+01 1007103489988020 1007103489988020 1007103489988020 0000000000000000 0C0CC00C83EA48FD 0000000000000000
+02 10071034C8980120 10071034C8980120 10071034C8980120 0000000000000000 83BC8EF3A6570183 0000000000000000
+03 1046103489988020 1046103489988020 1046103489988020 0000000000000000 DF725DCAD94EA2E9 0000000000000000
+04 1086911519190101 1086911519190101 1086911519190101 0000000000000000 E652B53B550BE8B0 0000000000000000
+05 1086911519580101 1086911519580101 1086911519580101 0000000000000000 AF527120C485CBB0 0000000000000000
+06 5107B01519580101 5107B01519580101 5107B01519580101 0000000000000000 0F04CE393DB926D5 0000000000000000
+07 1007B01519190101 1007B01519190101 1007B01519190101 0000000000000000 C9F00FFC74079067 0000000000000000
+08 3107915498080101 3107915498080101 3107915498080101 0000000000000000 7CFD82A593252B4E 0000000000000000
+09 3107919498080101 3107919498080101 3107919498080101 0000000000000000 CB49A2F9E91363E3 0000000000000000
+10 10079115B9080140 10079115B9080140 10079115B9080140 0000000000000000 00B588BE70D23F56 0000000000000000
+11 3107911598080140 3107911598080140 3107911598080140 0000000000000000 406A9A6AB43399AE 0000000000000000
+12 1007D01589980101 1007D01589980101 1007D01589980101 0000000000000000 6CB773611DCA9ADA 0000000000000000
+13 9107911589980101 9107911589980101 9107911589980101 0000000000000000 67FD21C17DBB5D70 0000000000000000
+14 9107D01589190101 9107D01589190101 9107D01589190101 0000000000000000 9592CB4110430787 0000000000000000
+15 1007D01598980120 1007D01598980120 1007D01598980120 0000000000000000 A6B7FF68A318DDD3 0000000000000000
+16 1007940498190101 1007940498190101 1007940498190101 0000000000000000 4D102196C914CA16 0000000000000000
+17 0107910491190401 0107910491190401 0107910491190401 0000000000000000 2DFA9F4573594965 0000000000000000
+18 0107910491190101 0107910491190101 0107910491190101 0000000000000000 B46604816C0E0774 0000000000000000
+19 0107940491190401 0107940491190401 0107940491190401 0000000000000000 6E7E6221A4F34E87 0000000000000000
+20 19079210981A0101 19079210981A0101 19079210981A0101 0000000000000000 AA85E74643233199 0000000000000000
+21 1007911998190801 1007911998190801 1007911998190801 0000000000000000 2E5A19DB4D1962D6 0000000000000000
+22 10079119981A0801 10079119981A0801 10079119981A0801 0000000000000000 23A866A809D30894 0000000000000000
+23 1007921098190101 1007921098190101 1007921098190101 0000000000000000 D812D961F017D320 0000000000000000
+24 100791159819010B 100791159819010B 100791159819010B 0000000000000000 055605816E58608F 0000000000000000
+25 1004801598190101 1004801598190101 1004801598190101 0000000000000000 ABD88E8B1B7716F1 0000000000000000
+26 1004801598190102 1004801598190102 1004801598190102 0000000000000000 537AC95BE69DA1E1 0000000000000000
+27 1004801598190108 1004801598190108 1004801598190108 0000000000000000 AED0F6AE3C25CDD8 0000000000000000
+28 1002911598100104 1002911598100104 1002911598100104 0000000000000000 B3E35A5EE53E7B8D 0000000000000000
+29 1002911598190104 1002911598190104 1002911598190104 0000000000000000 61C79C71921A2EF8 0000000000000000
+30 1002911598100201 1002911598100201 1002911598100201 0000000000000000 E2F5728F0995013C 0000000000000000
+31 1002911698100101 1002911698100101 1002911698100101 0000000000000000 1AEAC39A61F0A464 0000000000000000
++M Substitution Table Known Answer Test 
++C Key1............ Key2............ Key3............ Plaintext....... Ciphertext...... IV..............
+00 7CA110454A1A6E57 7CA110454A1A6E57 7CA110454A1A6E57 01A1D6D039776742 690F5B0D9A26939B 0000000000000000
+01 0131D9619DC1376E 0131D9619DC1376E 0131D9619DC1376E 5CD54CA83DEF57DA 7A389D10354BD271 0000000000000000
+02 07A1133E4A0B2686 07A1133E4A0B2686 07A1133E4A0B2686 0248D43806F67172 868EBB51CAB4599A 0000000000000000
+03 3849674C2602319E 3849674C2602319E 3849674C2602319E 51454B582DDF440A 7178876E01F19B2A 0000000000000000
+04 04B915BA43FEB5B6 04B915BA43FEB5B6 04B915BA43FEB5B6 42FD443059577FA2 AF37FB421F8C4095 0000000000000000
+05 0113B970FD34F2CE 0113B970FD34F2CE 0113B970FD34F2CE 059B5E0851CF143A 86A560F10EC6D85B 0000000000000000
+06 0170F175468FB5E6 0170F175468FB5E6 0170F175468FB5E6 0756D8E0774761D2 0CD3DA020021DC09 0000000000000000
+07 43297FAD38E373FE 43297FAD38E373FE 43297FAD38E373FE 762514B829BF486A EA676B2CB7DB2B7A 0000000000000000
+08 07A7137045DA2A16 07A7137045DA2A16 07A7137045DA2A16 3BDD119049372802 DFD64A815CAF1A0F 0000000000000000
+09 04689104C2FD3B2F 04689104C2FD3B2F 04689104C2FD3B2F 26955F6835AF609A 5C513C9C4886C088 0000000000000000
+10 37D06BB516CB7546 37D06BB516CB7546 37D06BB516CB7546 164D5E404F275232 0A2AEEAE3FF4AB77 0000000000000000
+11 1F08260D1AC2465E 1F08260D1AC2465E 1F08260D1AC2465E 6B056E18759F5CCA EF1BF03E5DFA575A 0000000000000000
+12 584023641ABA6176 584023641ABA6176 584023641ABA6176 004BD6EF09176062 88BF0DB6D70DEE56 0000000000000000
+13 025816164629B007 025816164629B007 025816164629B007 480D39006EE762F2 A1F9915541020B56 0000000000000000
+14 49793EBC79B3258F 49793EBC79B3258F 49793EBC79B3258F 437540C8698F3CFA 6FBF1CAFCFFD0556 0000000000000000
+15 4FB05E1515AB73A7 4FB05E1515AB73A7 4FB05E1515AB73A7 072D43A077075292 2F22E49BAB7CA1AC 0000000000000000
+16 49E95D6D4CA229BF 49E95D6D4CA229BF 49E95D6D4CA229BF 02FE55778117F12A 5A6B612CC26CCE4A 0000000000000000
+17 018310DC409B26D6 018310DC409B26D6 018310DC409B26D6 1D9D5C5018F728C2 5F4C038ED12B2E41 0000000000000000
+18 1C587F1C13924FEF 1C587F1C13924FEF 1C587F1C13924FEF 305532286D6F295A 63FAC0D034D9F793 0000000000000000
++M BSafe test - TV3DCBN0
++C Key1............ Key2............ Key3............ Plaintext....... Ciphertext...... IV..............
+01 0123456789ABCDEF 23456789ABCDEF01 456789ABCDEF0123 4E6F77206973207468652074696D6520666F7220616C6C20 F3C0FF026C023089656FBB169DEF7EDB30BA36075D6F0176 1234567890ABCDEF
++M BSafe test - TFCIV802
+01 1122334455667788 1122334455667788 1122334455667788 000102030405060708091011121314151617181920212223 4C0CE7EA6E1FD7C57284B9D5DE41E8AA00E1F61DD4537842 0011223344556677
+02 1122334455667788 1122334455667788 1122334455667788 000102030405060708091011121314151617181920212223 3BD6E1D301A382E0F6DC9868C7A019EC470F379D9928148D 7766554433221100
++M Bsafe test - TVDS3C00
+01 7CA110454A1A6E57 7CA110454A1A6E57 FEDCBA9876543210 0123456789ABCDEF ED39D950FA74BCC4 0000000000000000
+02 7CA110454A1A6E57 FEDCBA9876543210 FEDCBA9876543210 01A1D6D039776742 690F5B0D9A26939B 0000000000000000
++C 03 7CA110454A1A6E57 FEDCBA9876543210 FEDCBA9876543210 01A1D6D039776742 690F5B0D9A26939B 00A1D6D039776700
++C 03 7CA110454A1A6E57 FEDCBA9876543210 FEDCBA9876543210 0100000000000042 690F5B0D9A26939B 0000000000000000
++C 04 7CA110454A1A6E57 FEDCBA9876543210 01A1D6D039776742 7CA110454A1A6E5701A1D6D039776742690F5B0D9A26939B 03770AC578245790C371A968EFEF33019391DBFA3FC3585D 0000000000000000
++M BSafe test - TV3CBIN0
++C Vectors were extracted from X9.52 standard.
++C This vector is for CBC-interleaved not straight CBC, not implemented.
++C 01 0123456789ABCDEF 23456789ABCDEF01 456789ABCDEF0123 4E6F77206973207468652074696D6520666F7220616C6C20676F6F64206D656E20746F20636F6D6520746F2074686520 0EF198BE0DA40F4D03649EFA6872A717E6B15686748A11401933FB0C744581C10364E942DF9A4B74901E57CCB671CEBC 0000000000055555
++M BSafe test - TV3CBRI0
+01 0123456789ABCDEF 23456789ABCDEF01 456789ABCDEF0123 4E6F77206973207468652074696D6520666F7220616C6C20 F3C0FF026C023089656FBB169DEF7EDB30BA36075D6F0176 1234567890ABCDEF
+02 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 6789ABCDEF012345 FC624960B90F7A7D 00000000EFAB23EF
++M BSafe test - TVDS3P00
+01 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 6789ABCDEF012345 FC624960B90F7A7D 00000000EFAB23EF
+02 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 6789ABCDEF0123450808080808080808 FC624960B90F7A7D2551005F74269110 00000000EFAB23EF
+03 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 010203040506070809101112131415160808080808080808 67D89FDD4DB55CDFE7886E07EBD3B3DF47D8B20E93909B58 00000000EFAB23EF
+04 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 01020304050607080910111213141501 67D89FDD4DB55CDFF52A136D17A87E8F 00000000EFAB23EF
+05 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 01020304050607080910111213140202 67D89FDD4DB55CDF9FF22B5301F5BA69 00000000EFAB23EF
+06 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 01020304050607080910111213030303 67D89FDD4DB55CDF7AC916277CC636EF 00000000EFAB23EF
+07 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 01020304050607080910111204040404 67D89FDD4DB55CDFE204DB2A32A7B8C8 00000000EFAB23EF
+08 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 01020304050607080910110505050505 67D89FDD4DB55CDF287F784D76357583 00000000EFAB23EF
+09 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 01020304050607080910060606060606 67D89FDD4DB55CDF4C58EA5623CD0B5B 00000000EFAB23EF
+10 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 01020304050607080907070707070707 67D89FDD4DB55CDFD784A16124DF7747 00000000EFAB23EF
+11 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 01020304050607080808080808080808 67D89FDD4DB55CDF9A19483ADB5C2975 00000000EFAB23EF
+12 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 0102030405060701 977C3A184FA1E78D 00000000EFAB23EF
+13 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 0102030405060202 D1AEE6C6FAE1828B 00000000EFAB23EF
+14 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 0102030405030303 A5EF9A711DE975CA 00000000EFAB23EF
+15 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 0102030404040404 A429C178F9A65553 00000000EFAB23EF
+16 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 0102030505050505 B53A1C038D1B89CD 00000000EFAB23EF
+17 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 0102060606060606 0D00D9D7CA3C98A4 00000000EFAB23EF
+18 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 0107070707070707 C3F1BA84FB6E4664 00000000EFAB23EF
+19 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 0808080808080808 D470869B58D76FAD 00000000EFAB23EF
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/trandom/testdata/3des3cfb.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,201 @@
++C Key1............ Key2............ Key3............ IV.............. Ciphertext...... Plaintext....... 
++C Current error
++M Sample round
+01 10316E028C8F3B4A 10316E028C8F3B4A 10316E028C8F3B4A 0000000000000000 82DCBAFBDEAB6602 0000000000000000
++M Variable Plaintext Known Answer Test
+00 0101010101010101 0101010101010101 0101010101010101 8000000000000000 95F8A5E5DD31D900 0000000000000000
+01 0101010101010101 0101010101010101 0101010101010101 4000000000000000 DD7F121CA5015619 0000000000000000
+02 0101010101010101 0101010101010101 0101010101010101 2000000000000000 2E8653104F3834EA 0000000000000000
+03 0101010101010101 0101010101010101 0101010101010101 1000000000000000 4BD388FF6CD81D4F 0000000000000000
+04 0101010101010101 0101010101010101 0101010101010101 0800000000000000 20B9E767B2FB1456 0000000000000000
+05 0101010101010101 0101010101010101 0101010101010101 0400000000000000 55579380D77138EF 0000000000000000
+06 0101010101010101 0101010101010101 0101010101010101 0200000000000000 6CC5DEFAAF04512F 0000000000000000
+07 0101010101010101 0101010101010101 0101010101010101 0100000000000000 0D9F279BA5D87260 0000000000000000
+08 0101010101010101 0101010101010101 0101010101010101 0080000000000000 D9031B0271BD5A0A 0000000000000000
+09 0101010101010101 0101010101010101 0101010101010101 0040000000000000 424250B37C3DD951 0000000000000000
+10 0101010101010101 0101010101010101 0101010101010101 0020000000000000 B8061B7ECD9A21E5 0000000000000000
+11 0101010101010101 0101010101010101 0101010101010101 0010000000000000 F15D0F286B65BD28 0000000000000000
+12 0101010101010101 0101010101010101 0101010101010101 0008000000000000 ADD0CC8D6E5DEBA1 0000000000000000
+13 0101010101010101 0101010101010101 0101010101010101 0004000000000000 E6D5F82752AD63D1 0000000000000000
+14 0101010101010101 0101010101010101 0101010101010101 0002000000000000 ECBFE3BD3F591A5E 0000000000000000
+15 0101010101010101 0101010101010101 0101010101010101 0001000000000000 F356834379D165CD 0000000000000000
+16 0101010101010101 0101010101010101 0101010101010101 0000800000000000 2B9F982F20037FA9 0000000000000000
+17 0101010101010101 0101010101010101 0101010101010101 0000400000000000 889DE068A16F0BE6 0000000000000000
+18 0101010101010101 0101010101010101 0101010101010101 0000200000000000 E19E275D846A1298 0000000000000000
+19 0101010101010101 0101010101010101 0101010101010101 0000100000000000 329A8ED523D71AEC 0000000000000000
+20 0101010101010101 0101010101010101 0101010101010101 0000080000000000 E7FCE22557D23C97 0000000000000000
+21 0101010101010101 0101010101010101 0101010101010101 0000040000000000 12A9F5817FF2D65D 0000000000000000
+22 0101010101010101 0101010101010101 0101010101010101 0000020000000000 A484C3AD38DC9C19 0000000000000000
+23 0101010101010101 0101010101010101 0101010101010101 0000010000000000 FBE00A8A1EF8AD72 0000000000000000
+24 0101010101010101 0101010101010101 0101010101010101 0000008000000000 750D079407521363 0000000000000000
+25 0101010101010101 0101010101010101 0101010101010101 0000004000000000 64FEED9C724C2FAF 0000000000000000
+26 0101010101010101 0101010101010101 0101010101010101 0000002000000000 F02B263B328E2B60 0000000000000000
+27 0101010101010101 0101010101010101 0101010101010101 0000001000000000 9D64555A9A10B852 0000000000000000
+28 0101010101010101 0101010101010101 0101010101010101 0000000800000000 D106FF0BED5255D7 0000000000000000
+29 0101010101010101 0101010101010101 0101010101010101 0000000400000000 E1652C6B138C64A5 0000000000000000
+30 0101010101010101 0101010101010101 0101010101010101 0000000200000000 E428581186EC8F46 0000000000000000
+31 0101010101010101 0101010101010101 0101010101010101 0000000100000000 AEB5F5EDE22D1A36 0000000000000000
+32 0101010101010101 0101010101010101 0101010101010101 0000000080000000 E943D7568AEC0C5C 0000000000000000
+33 0101010101010101 0101010101010101 0101010101010101 0000000040000000 DF98C8276F54B04B 0000000000000000
+34 0101010101010101 0101010101010101 0101010101010101 0000000020000000 B160E4680F6C696F 0000000000000000
+35 0101010101010101 0101010101010101 0101010101010101 0000000010000000 FA0752B07D9C4AB8 0000000000000000
+36 0101010101010101 0101010101010101 0101010101010101 0000000008000000 CA3A2B036DBC8502 0000000000000000
+37 0101010101010101 0101010101010101 0101010101010101 0000000004000000 5E0905517BB59BCF 0000000000000000
+38 0101010101010101 0101010101010101 0101010101010101 0000000002000000 814EEB3B91D90726 0000000000000000
+39 0101010101010101 0101010101010101 0101010101010101 0000000001000000 4D49DB1532919C9F 0000000000000000
+40 0101010101010101 0101010101010101 0101010101010101 0000000000800000 25EB5FC3F8CF0621 0000000000000000
+41 0101010101010101 0101010101010101 0101010101010101 0000000000400000 AB6A20C0620D1C6F 0000000000000000
+42 0101010101010101 0101010101010101 0101010101010101 0000000000200000 79E90DBC98F92CCA 0000000000000000
+43 0101010101010101 0101010101010101 0101010101010101 0000000000100000 866ECEDD8072BB0E 0000000000000000
+44 0101010101010101 0101010101010101 0101010101010101 0000000000080000 8B54536F2F3E64A8 0000000000000000
+45 0101010101010101 0101010101010101 0101010101010101 0000000000040000 EA51D3975595B86B 0000000000000000
+46 0101010101010101 0101010101010101 0101010101010101 0000000000020000 CAFFC6AC4542DE31 0000000000000000
+47 0101010101010101 0101010101010101 0101010101010101 0000000000010000 8DD45A2DDF90796C 0000000000000000
+48 0101010101010101 0101010101010101 0101010101010101 0000000000008000 1029D55E880EC2D0 0000000000000000
+49 0101010101010101 0101010101010101 0101010101010101 0000000000004000 5D86CB23639DBEA9 0000000000000000
+50 0101010101010101 0101010101010101 0101010101010101 0000000000002000 1D1CA853AE7C0C5F 0000000000000000
+51 0101010101010101 0101010101010101 0101010101010101 0000000000001000 CE332329248F3228 0000000000000000
+52 0101010101010101 0101010101010101 0101010101010101 0000000000000800 8405D1ABE24FB942 0000000000000000
+53 0101010101010101 0101010101010101 0101010101010101 0000000000000400 E643D78090CA4207 0000000000000000
+54 0101010101010101 0101010101010101 0101010101010101 0000000000000200 48221B9937748A23 0000000000000000
+55 0101010101010101 0101010101010101 0101010101010101 0000000000000100 DD7C0BBD61FAFD54 0000000000000000
+56 0101010101010101 0101010101010101 0101010101010101 0000000000000080 2FBC291A570DB5C4 0000000000000000
+57 0101010101010101 0101010101010101 0101010101010101 0000000000000040 E07C30D7E4E26E12 0000000000000000
+58 0101010101010101 0101010101010101 0101010101010101 0000000000000020 0953E2258E8E90A1 0000000000000000
+59 0101010101010101 0101010101010101 0101010101010101 0000000000000010 5B711BC4CEEBF2EE 0000000000000000
+60 0101010101010101 0101010101010101 0101010101010101 0000000000000008 CC083F1E6D9E85F6 0000000000000000
+61 0101010101010101 0101010101010101 0101010101010101 0000000000000004 D2FD8867D50D2DFE 0000000000000000
+62 0101010101010101 0101010101010101 0101010101010101 0000000000000002 06E7EA22CE92708F 0000000000000000
+63 0101010101010101 0101010101010101 0101010101010101 0000000000000001 166B40B44ABA4BD6 0000000000000000
++M Variable Key Known Answer Test
++C Key............. Plaintext....... Ciphertext......
+00 8001010101010101 8001010101010101 8001010101010101 0000000000000000 95A8D72813DAA94D 0000000000000000
+01 4001010101010101 4001010101010101 4001010101010101 0000000000000000 0EEC1487DD8C26D5 0000000000000000
+02 2001010101010101 2001010101010101 2001010101010101 0000000000000000 7AD16FFB79C45926 0000000000000000
+03 1001010101010101 1001010101010101 1001010101010101 0000000000000000 D3746294CA6A6CF3 0000000000000000
+04 0801010101010101 0801010101010101 0801010101010101 0000000000000000 809F5F873C1FD761 0000000000000000
+05 0401010101010101 0401010101010101 0401010101010101 0000000000000000 C02FAFFEC989D1FC 0000000000000000
+06 0201010101010101 0201010101010101 0201010101010101 0000000000000000 4615AA1D33E72F10 0000000000000000
+07 0180010101010101 0180010101010101 0180010101010101 0000000000000000 2055123350C00858 0000000000000000
+08 0140010101010101 0140010101010101 0140010101010101 0000000000000000 DF3B99D6577397C8 0000000000000000
+09 0120010101010101 0120010101010101 0120010101010101 0000000000000000 31FE17369B5288C9 0000000000000000
+10 0110010101010101 0110010101010101 0110010101010101 0000000000000000 DFDD3CC64DAE1642 0000000000000000
+11 0108010101010101 0108010101010101 0108010101010101 0000000000000000 178C83CE2B399D94 0000000000000000
+12 0104010101010101 0104010101010101 0104010101010101 0000000000000000 50F636324A9B7F80 0000000000000000
+13 0102010101010101 0102010101010101 0102010101010101 0000000000000000 A8468EE3BC18F06D 0000000000000000
+14 0101800101010101 0101800101010101 0101800101010101 0000000000000000 A2DC9E92FD3CDE92 0000000000000000
+15 0101400101010101 0101400101010101 0101400101010101 0000000000000000 CAC09F797D031287 0000000000000000
+16 0101200101010101 0101200101010101 0101200101010101 0000000000000000 90BA680B22AEB525 0000000000000000
+17 0101100101010101 0101100101010101 0101100101010101 0000000000000000 CE7A24F350E280B6 0000000000000000
+18 0101080101010101 0101080101010101 0101080101010101 0000000000000000 882BFF0AA01A0B87 0000000000000000
+19 0101040101010101 0101040101010101 0101040101010101 0000000000000000 25610288924511C2 0000000000000000
+20 0101020101010101 0101020101010101 0101020101010101 0000000000000000 C71516C29C75D170 0000000000000000
+21 0101018001010101 0101018001010101 0101018001010101 0000000000000000 5199C29A52C9F059 0000000000000000
+22 0101014001010101 0101014001010101 0101014001010101 0000000000000000 C22F0A294A71F29F 0000000000000000
+23 0101012001010101 0101012001010101 0101012001010101 0000000000000000 EE371483714C02EA 0000000000000000
+24 0101011001010101 0101011001010101 0101011001010101 0000000000000000 A81FBD448F9E522F 0000000000000000
+25 0101010801010101 0101010801010101 0101010801010101 0000000000000000 4F644C92E192DFED 0000000000000000
+26 0101010401010101 0101010401010101 0101010401010101 0000000000000000 1AFA9A66A6DF92AE 0000000000000000
+27 0101010201010101 0101010201010101 0101010201010101 0000000000000000 B3C1CC715CB879D8 0000000000000000
+28 0101010180010101 0101010180010101 0101010180010101 0000000000000000 19D032E64AB0BD8B 0000000000000000
+29 0101010140010101 0101010140010101 0101010140010101 0000000000000000 3CFAA7A7DC8720DC 0000000000000000
+30 0101010120010101 0101010120010101 0101010120010101 0000000000000000 B7265F7F447AC6F3 0000000000000000
+31 0101010110010101 0101010110010101 0101010110010101 0000000000000000 9DB73B3C0D163F54 0000000000000000
+32 0101010108010101 0101010108010101 0101010108010101 0000000000000000 8181B65BABF4A975 0000000000000000
+33 0101010104010101 0101010104010101 0101010104010101 0000000000000000 93C9B64042EAA240 0000000000000000
+34 0101010102010101 0101010102010101 0101010102010101 0000000000000000 5570530829705592 0000000000000000
+35 0101010101800101 0101010101800101 0101010101800101 0000000000000000 8638809E878787A0 0000000000000000
+36 0101010101400101 0101010101400101 0101010101400101 0000000000000000 41B9A79AF79AC208 0000000000000000
+37 0101010101200101 0101010101200101 0101010101200101 0000000000000000 7A9BE42F2009A892 0000000000000000
+38 0101010101100101 0101010101100101 0101010101100101 0000000000000000 29038D56BA6D2745 0000000000000000
+39 0101010101080101 0101010101080101 0101010101080101 0000000000000000 5495C6ABF1E5DF51 0000000000000000
+40 0101010101040101 0101010101040101 0101010101040101 0000000000000000 AE13DBD561488933 0000000000000000
+41 0101010101020101 0101010101020101 0101010101020101 0000000000000000 024D1FFA8904E389 0000000000000000
+42 0101010101018001 0101010101018001 0101010101018001 0000000000000000 D1399712F99BF02E 0000000000000000
+43 0101010101014001 0101010101014001 0101010101014001 0000000000000000 14C1D7C1CFFEC79E 0000000000000000
+44 0101010101012001 0101010101012001 0101010101012001 0000000000000000 1DE5279DAE3BED6F 0000000000000000
+45 0101010101011001 0101010101011001 0101010101011001 0000000000000000 E941A33F85501303 0000000000000000
+46 0101010101010801 0101010101010801 0101010101010801 0000000000000000 DA99DBBC9A03F379 0000000000000000
+47 0101010101010401 0101010101010401 0101010101010401 0000000000000000 B7FC92F91D8E92E9 0000000000000000
+48 0101010101010201 0101010101010201 0101010101010201 0000000000000000 AE8E5CAA3CA04E85 0000000000000000
+49 0101010101010180 0101010101010180 0101010101010180 0000000000000000 9CC62DF43B6EED74 0000000000000000
+50 0101010101010140 0101010101010140 0101010101010140 0000000000000000 D863DBB5C59A91A0 0000000000000000
+51 0101010101010120 0101010101010120 0101010101010120 0000000000000000 A1AB2190545B91D7 0000000000000000
+52 0101010101010110 0101010101010110 0101010101010110 0000000000000000 0875041E64C570F7 0000000000000000
+53 0101010101010108 0101010101010108 0101010101010108 0000000000000000 5A594528BEBEF1CC 0000000000000000
+54 0101010101010104 0101010101010104 0101010101010104 0000000000000000 FCDB3291DE21F0C0 0000000000000000
+55 0101010101010102 0101010101010102 0101010101010102 0000000000000000 869EFD7F9F265A09 0000000000000000
++M Permutation Operation Known Answer Test
++C Key............. Plaintext....... Ciphertext......
+00 1046913489980131 1046913489980131 1046913489980131 0000000000000000 88D55E54F54C97B4 0000000000000000
+01 1007103489988020 1007103489988020 1007103489988020 0000000000000000 0C0CC00C83EA48FD 0000000000000000
+02 10071034C8980120 10071034C8980120 10071034C8980120 0000000000000000 83BC8EF3A6570183 0000000000000000
+03 1046103489988020 1046103489988020 1046103489988020 0000000000000000 DF725DCAD94EA2E9 0000000000000000
+04 1086911519190101 1086911519190101 1086911519190101 0000000000000000 E652B53B550BE8B0 0000000000000000
+05 1086911519580101 1086911519580101 1086911519580101 0000000000000000 AF527120C485CBB0 0000000000000000
+06 5107B01519580101 5107B01519580101 5107B01519580101 0000000000000000 0F04CE393DB926D5 0000000000000000
+07 1007B01519190101 1007B01519190101 1007B01519190101 0000000000000000 C9F00FFC74079067 0000000000000000
+08 3107915498080101 3107915498080101 3107915498080101 0000000000000000 7CFD82A593252B4E 0000000000000000
+09 3107919498080101 3107919498080101 3107919498080101 0000000000000000 CB49A2F9E91363E3 0000000000000000
+10 10079115B9080140 10079115B9080140 10079115B9080140 0000000000000000 00B588BE70D23F56 0000000000000000
+11 3107911598080140 3107911598080140 3107911598080140 0000000000000000 406A9A6AB43399AE 0000000000000000
+12 1007D01589980101 1007D01589980101 1007D01589980101 0000000000000000 6CB773611DCA9ADA 0000000000000000
+13 9107911589980101 9107911589980101 9107911589980101 0000000000000000 67FD21C17DBB5D70 0000000000000000
+14 9107D01589190101 9107D01589190101 9107D01589190101 0000000000000000 9592CB4110430787 0000000000000000
+15 1007D01598980120 1007D01598980120 1007D01598980120 0000000000000000 A6B7FF68A318DDD3 0000000000000000
+16 1007940498190101 1007940498190101 1007940498190101 0000000000000000 4D102196C914CA16 0000000000000000
+17 0107910491190401 0107910491190401 0107910491190401 0000000000000000 2DFA9F4573594965 0000000000000000
+18 0107910491190101 0107910491190101 0107910491190101 0000000000000000 B46604816C0E0774 0000000000000000
+19 0107940491190401 0107940491190401 0107940491190401 0000000000000000 6E7E6221A4F34E87 0000000000000000
+20 19079210981A0101 19079210981A0101 19079210981A0101 0000000000000000 AA85E74643233199 0000000000000000
+21 1007911998190801 1007911998190801 1007911998190801 0000000000000000 2E5A19DB4D1962D6 0000000000000000
+22 10079119981A0801 10079119981A0801 10079119981A0801 0000000000000000 23A866A809D30894 0000000000000000
+23 1007921098190101 1007921098190101 1007921098190101 0000000000000000 D812D961F017D320 0000000000000000
+24 100791159819010B 100791159819010B 100791159819010B 0000000000000000 055605816E58608F 0000000000000000
+25 1004801598190101 1004801598190101 1004801598190101 0000000000000000 ABD88E8B1B7716F1 0000000000000000
+26 1004801598190102 1004801598190102 1004801598190102 0000000000000000 537AC95BE69DA1E1 0000000000000000
+27 1004801598190108 1004801598190108 1004801598190108 0000000000000000 AED0F6AE3C25CDD8 0000000000000000
+28 1002911598100104 1002911598100104 1002911598100104 0000000000000000 B3E35A5EE53E7B8D 0000000000000000
+29 1002911598190104 1002911598190104 1002911598190104 0000000000000000 61C79C71921A2EF8 0000000000000000
+30 1002911598100201 1002911598100201 1002911598100201 0000000000000000 E2F5728F0995013C 0000000000000000
+31 1002911698100101 1002911698100101 1002911698100101 0000000000000000 1AEAC39A61F0A464 0000000000000000
++M Substitution Table Known Answer Test 
++C Key............. Plaintext....... Ciphertext......
+00 7CA110454A1A6E57 7CA110454A1A6E57 7CA110454A1A6E57 01A1D6D039776742 690F5B0D9A26939B 0000000000000000
+01 0131D9619DC1376E 0131D9619DC1376E 0131D9619DC1376E 5CD54CA83DEF57DA 7A389D10354BD271 0000000000000000
+02 07A1133E4A0B2686 07A1133E4A0B2686 07A1133E4A0B2686 0248D43806F67172 868EBB51CAB4599A 0000000000000000
+03 3849674C2602319E 3849674C2602319E 3849674C2602319E 51454B582DDF440A 7178876E01F19B2A 0000000000000000
+04 04B915BA43FEB5B6 04B915BA43FEB5B6 04B915BA43FEB5B6 42FD443059577FA2 AF37FB421F8C4095 0000000000000000
+05 0113B970FD34F2CE 0113B970FD34F2CE 0113B970FD34F2CE 059B5E0851CF143A 86A560F10EC6D85B 0000000000000000
+06 0170F175468FB5E6 0170F175468FB5E6 0170F175468FB5E6 0756D8E0774761D2 0CD3DA020021DC09 0000000000000000
+07 43297FAD38E373FE 43297FAD38E373FE 43297FAD38E373FE 762514B829BF486A EA676B2CB7DB2B7A 0000000000000000
+08 07A7137045DA2A16 07A7137045DA2A16 07A7137045DA2A16 3BDD119049372802 DFD64A815CAF1A0F 0000000000000000
+09 04689104C2FD3B2F 04689104C2FD3B2F 04689104C2FD3B2F 26955F6835AF609A 5C513C9C4886C088 0000000000000000
+10 37D06BB516CB7546 37D06BB516CB7546 37D06BB516CB7546 164D5E404F275232 0A2AEEAE3FF4AB77 0000000000000000
+11 1F08260D1AC2465E 1F08260D1AC2465E 1F08260D1AC2465E 6B056E18759F5CCA EF1BF03E5DFA575A 0000000000000000
+12 584023641ABA6176 584023641ABA6176 584023641ABA6176 004BD6EF09176062 88BF0DB6D70DEE56 0000000000000000
+13 025816164629B007 025816164629B007 025816164629B007 480D39006EE762F2 A1F9915541020B56 0000000000000000
+14 49793EBC79B3258F 49793EBC79B3258F 49793EBC79B3258F 437540C8698F3CFA 6FBF1CAFCFFD0556 0000000000000000
+15 4FB05E1515AB73A7 4FB05E1515AB73A7 4FB05E1515AB73A7 072D43A077075292 2F22E49BAB7CA1AC 0000000000000000
+16 49E95D6D4CA229BF 49E95D6D4CA229BF 49E95D6D4CA229BF 02FE55778117F12A 5A6B612CC26CCE4A 0000000000000000
+17 018310DC409B26D6 018310DC409B26D6 018310DC409B26D6 1D9D5C5018F728C2 5F4C038ED12B2E41 0000000000000000
+18 1C587F1C13924FEF 1C587F1C13924FEF 1C587F1C13924FEF 305532286D6F295A 63FAC0D034D9F793 0000000000000000
++M BSafe tests - TV3CFPN2
++C These tests are for CFB 64bit pipelined
++C Dunno if these are relevant
++C +M This shows an IV problem?
++C 01 0123456789ABCDEF 23456789ABCDEF01 456789ABCDEF0123 0000000000055555 6E664F920A9DF1E4E570C563110DA5248AB3D43134FC9101FF8E23D1B73E30543DEAABACDD241043449EED61D7589148 4E6F77206973207468652074696D6520666F7220616C6C20676F6F64206D656E20746F20636F6D6520746F2074686520 
++M BSafe tests - TV3CFPS0
++C These tests are for CFB 8bit pipelined
++C Dunno if these are relevant
++C Not relevant!
++C 01 0123456789ABCDEF 23456789ABCDEF01 456789ABCDEF0123 0000000000055555 6EE29BF123180889FC4C 4E6F7720697320746865 
++M BSafe tests - TV3CFPS1
++C These tests are for CFB 1bit pipelined
++C Dunno if these are relevant (probably not!)
++C Not relevant!
++C 01 0123456789ABCDEF 23456789ABCDEF01 456789ABCDEF0123 0000000000055555 372CD5 4E6F77
++M BSafe tests - TV3DCFN2
++C These tests are for CFB 64 bit pipelined feedback
++C Dunno if they are relevant.
+01 0123456789ABCDEF 23456789ABCDEF01 456789ABCDEF0123 1234567890ABCDEF EE7EC75C1A101301C4AB2F10462E5DD417400B445B5F2A72 4E6F77206973207468652074696D6520666F7220616C6C20 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/trandom/testdata/3des3ecb.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,184 @@
++C Key1............ Key2............ Key3............ Plaintext....... Ciphertext......
++M Sample round
+01 10316E028C8F3B4A 10316E028C8F3B4A 10316E028C8F3B4A 0000000000000000 82DCBAFBDEAB6602
++M Variable Plaintext Known Answer Test
+00 0101010101010101 0101010101010101 0101010101010101 8000000000000000 95F8A5E5DD31D900
+01 0101010101010101 0101010101010101 0101010101010101 4000000000000000 DD7F121CA5015619
+02 0101010101010101 0101010101010101 0101010101010101 2000000000000000 2E8653104F3834EA
+03 0101010101010101 0101010101010101 0101010101010101 1000000000000000 4BD388FF6CD81D4F
+04 0101010101010101 0101010101010101 0101010101010101 0800000000000000 20B9E767B2FB1456
+05 0101010101010101 0101010101010101 0101010101010101 0400000000000000 55579380D77138EF
+06 0101010101010101 0101010101010101 0101010101010101 0200000000000000 6CC5DEFAAF04512F
+07 0101010101010101 0101010101010101 0101010101010101 0100000000000000 0D9F279BA5D87260
+08 0101010101010101 0101010101010101 0101010101010101 0080000000000000 D9031B0271BD5A0A
+09 0101010101010101 0101010101010101 0101010101010101 0040000000000000 424250B37C3DD951
+10 0101010101010101 0101010101010101 0101010101010101 0020000000000000 B8061B7ECD9A21E5
+11 0101010101010101 0101010101010101 0101010101010101 0010000000000000 F15D0F286B65BD28
+12 0101010101010101 0101010101010101 0101010101010101 0008000000000000 ADD0CC8D6E5DEBA1
+13 0101010101010101 0101010101010101 0101010101010101 0004000000000000 E6D5F82752AD63D1
+14 0101010101010101 0101010101010101 0101010101010101 0002000000000000 ECBFE3BD3F591A5E
+15 0101010101010101 0101010101010101 0101010101010101 0001000000000000 F356834379D165CD
+16 0101010101010101 0101010101010101 0101010101010101 0000800000000000 2B9F982F20037FA9
+17 0101010101010101 0101010101010101 0101010101010101 0000400000000000 889DE068A16F0BE6
+18 0101010101010101 0101010101010101 0101010101010101 0000200000000000 E19E275D846A1298
+19 0101010101010101 0101010101010101 0101010101010101 0000100000000000 329A8ED523D71AEC
+20 0101010101010101 0101010101010101 0101010101010101 0000080000000000 E7FCE22557D23C97
+21 0101010101010101 0101010101010101 0101010101010101 0000040000000000 12A9F5817FF2D65D
+22 0101010101010101 0101010101010101 0101010101010101 0000020000000000 A484C3AD38DC9C19
+23 0101010101010101 0101010101010101 0101010101010101 0000010000000000 FBE00A8A1EF8AD72
+24 0101010101010101 0101010101010101 0101010101010101 0000008000000000 750D079407521363
+25 0101010101010101 0101010101010101 0101010101010101 0000004000000000 64FEED9C724C2FAF
+26 0101010101010101 0101010101010101 0101010101010101 0000002000000000 F02B263B328E2B60
+27 0101010101010101 0101010101010101 0101010101010101 0000001000000000 9D64555A9A10B852
+28 0101010101010101 0101010101010101 0101010101010101 0000000800000000 D106FF0BED5255D7
+29 0101010101010101 0101010101010101 0101010101010101 0000000400000000 E1652C6B138C64A5
+30 0101010101010101 0101010101010101 0101010101010101 0000000200000000 E428581186EC8F46
+31 0101010101010101 0101010101010101 0101010101010101 0000000100000000 AEB5F5EDE22D1A36
+32 0101010101010101 0101010101010101 0101010101010101 0000000080000000 E943D7568AEC0C5C
+33 0101010101010101 0101010101010101 0101010101010101 0000000040000000 DF98C8276F54B04B
+34 0101010101010101 0101010101010101 0101010101010101 0000000020000000 B160E4680F6C696F
+35 0101010101010101 0101010101010101 0101010101010101 0000000010000000 FA0752B07D9C4AB8
+36 0101010101010101 0101010101010101 0101010101010101 0000000008000000 CA3A2B036DBC8502
+37 0101010101010101 0101010101010101 0101010101010101 0000000004000000 5E0905517BB59BCF
+38 0101010101010101 0101010101010101 0101010101010101 0000000002000000 814EEB3B91D90726
+39 0101010101010101 0101010101010101 0101010101010101 0000000001000000 4D49DB1532919C9F
+40 0101010101010101 0101010101010101 0101010101010101 0000000000800000 25EB5FC3F8CF0621
+41 0101010101010101 0101010101010101 0101010101010101 0000000000400000 AB6A20C0620D1C6F
+42 0101010101010101 0101010101010101 0101010101010101 0000000000200000 79E90DBC98F92CCA
+43 0101010101010101 0101010101010101 0101010101010101 0000000000100000 866ECEDD8072BB0E
+44 0101010101010101 0101010101010101 0101010101010101 0000000000080000 8B54536F2F3E64A8
+45 0101010101010101 0101010101010101 0101010101010101 0000000000040000 EA51D3975595B86B
+46 0101010101010101 0101010101010101 0101010101010101 0000000000020000 CAFFC6AC4542DE31
+47 0101010101010101 0101010101010101 0101010101010101 0000000000010000 8DD45A2DDF90796C
+48 0101010101010101 0101010101010101 0101010101010101 0000000000008000 1029D55E880EC2D0
+49 0101010101010101 0101010101010101 0101010101010101 0000000000004000 5D86CB23639DBEA9
+50 0101010101010101 0101010101010101 0101010101010101 0000000000002000 1D1CA853AE7C0C5F
+51 0101010101010101 0101010101010101 0101010101010101 0000000000001000 CE332329248F3228
+52 0101010101010101 0101010101010101 0101010101010101 0000000000000800 8405D1ABE24FB942
+53 0101010101010101 0101010101010101 0101010101010101 0000000000000400 E643D78090CA4207
+54 0101010101010101 0101010101010101 0101010101010101 0000000000000200 48221B9937748A23
+55 0101010101010101 0101010101010101 0101010101010101 0000000000000100 DD7C0BBD61FAFD54
+56 0101010101010101 0101010101010101 0101010101010101 0000000000000080 2FBC291A570DB5C4
+57 0101010101010101 0101010101010101 0101010101010101 0000000000000040 E07C30D7E4E26E12
+58 0101010101010101 0101010101010101 0101010101010101 0000000000000020 0953E2258E8E90A1
+59 0101010101010101 0101010101010101 0101010101010101 0000000000000010 5B711BC4CEEBF2EE
+60 0101010101010101 0101010101010101 0101010101010101 0000000000000008 CC083F1E6D9E85F6
+61 0101010101010101 0101010101010101 0101010101010101 0000000000000004 D2FD8867D50D2DFE
+62 0101010101010101 0101010101010101 0101010101010101 0000000000000002 06E7EA22CE92708F
+63 0101010101010101 0101010101010101 0101010101010101 0000000000000001 166B40B44ABA4BD6
++M Variable Key Known Answer Test
++C Key............. Plaintext....... Ciphertext......
+00 8001010101010101 8001010101010101 8001010101010101 0000000000000000 95A8D72813DAA94D
+01 4001010101010101 4001010101010101 4001010101010101 0000000000000000 0EEC1487DD8C26D5
+02 2001010101010101 2001010101010101 2001010101010101 0000000000000000 7AD16FFB79C45926
+03 1001010101010101 1001010101010101 1001010101010101 0000000000000000 D3746294CA6A6CF3
+04 0801010101010101 0801010101010101 0801010101010101 0000000000000000 809F5F873C1FD761
+05 0401010101010101 0401010101010101 0401010101010101 0000000000000000 C02FAFFEC989D1FC
+06 0201010101010101 0201010101010101 0201010101010101 0000000000000000 4615AA1D33E72F10
+07 0180010101010101 0180010101010101 0180010101010101 0000000000000000 2055123350C00858
+08 0140010101010101 0140010101010101 0140010101010101 0000000000000000 DF3B99D6577397C8
+09 0120010101010101 0120010101010101 0120010101010101 0000000000000000 31FE17369B5288C9
+10 0110010101010101 0110010101010101 0110010101010101 0000000000000000 DFDD3CC64DAE1642
+11 0108010101010101 0108010101010101 0108010101010101 0000000000000000 178C83CE2B399D94
+12 0104010101010101 0104010101010101 0104010101010101 0000000000000000 50F636324A9B7F80
+13 0102010101010101 0102010101010101 0102010101010101 0000000000000000 A8468EE3BC18F06D
+14 0101800101010101 0101800101010101 0101800101010101 0000000000000000 A2DC9E92FD3CDE92
+15 0101400101010101 0101400101010101 0101400101010101 0000000000000000 CAC09F797D031287
+16 0101200101010101 0101200101010101 0101200101010101 0000000000000000 90BA680B22AEB525
+17 0101100101010101 0101100101010101 0101100101010101 0000000000000000 CE7A24F350E280B6
+18 0101080101010101 0101080101010101 0101080101010101 0000000000000000 882BFF0AA01A0B87
+19 0101040101010101 0101040101010101 0101040101010101 0000000000000000 25610288924511C2
+20 0101020101010101 0101020101010101 0101020101010101 0000000000000000 C71516C29C75D170
+21 0101018001010101 0101018001010101 0101018001010101 0000000000000000 5199C29A52C9F059
+22 0101014001010101 0101014001010101 0101014001010101 0000000000000000 C22F0A294A71F29F
+23 0101012001010101 0101012001010101 0101012001010101 0000000000000000 EE371483714C02EA
+24 0101011001010101 0101011001010101 0101011001010101 0000000000000000 A81FBD448F9E522F
+25 0101010801010101 0101010801010101 0101010801010101 0000000000000000 4F644C92E192DFED
+26 0101010401010101 0101010401010101 0101010401010101 0000000000000000 1AFA9A66A6DF92AE
+27 0101010201010101 0101010201010101 0101010201010101 0000000000000000 B3C1CC715CB879D8
+28 0101010180010101 0101010180010101 0101010180010101 0000000000000000 19D032E64AB0BD8B
+29 0101010140010101 0101010140010101 0101010140010101 0000000000000000 3CFAA7A7DC8720DC
+30 0101010120010101 0101010120010101 0101010120010101 0000000000000000 B7265F7F447AC6F3
+31 0101010110010101 0101010110010101 0101010110010101 0000000000000000 9DB73B3C0D163F54
+32 0101010108010101 0101010108010101 0101010108010101 0000000000000000 8181B65BABF4A975
+33 0101010104010101 0101010104010101 0101010104010101 0000000000000000 93C9B64042EAA240
+34 0101010102010101 0101010102010101 0101010102010101 0000000000000000 5570530829705592
+35 0101010101800101 0101010101800101 0101010101800101 0000000000000000 8638809E878787A0
+36 0101010101400101 0101010101400101 0101010101400101 0000000000000000 41B9A79AF79AC208
+37 0101010101200101 0101010101200101 0101010101200101 0000000000000000 7A9BE42F2009A892
+38 0101010101100101 0101010101100101 0101010101100101 0000000000000000 29038D56BA6D2745
+39 0101010101080101 0101010101080101 0101010101080101 0000000000000000 5495C6ABF1E5DF51
+40 0101010101040101 0101010101040101 0101010101040101 0000000000000000 AE13DBD561488933
+41 0101010101020101 0101010101020101 0101010101020101 0000000000000000 024D1FFA8904E389
+42 0101010101018001 0101010101018001 0101010101018001 0000000000000000 D1399712F99BF02E
+43 0101010101014001 0101010101014001 0101010101014001 0000000000000000 14C1D7C1CFFEC79E
+44 0101010101012001 0101010101012001 0101010101012001 0000000000000000 1DE5279DAE3BED6F
+45 0101010101011001 0101010101011001 0101010101011001 0000000000000000 E941A33F85501303
+46 0101010101010801 0101010101010801 0101010101010801 0000000000000000 DA99DBBC9A03F379
+47 0101010101010401 0101010101010401 0101010101010401 0000000000000000 B7FC92F91D8E92E9
+48 0101010101010201 0101010101010201 0101010101010201 0000000000000000 AE8E5CAA3CA04E85
+49 0101010101010180 0101010101010180 0101010101010180 0000000000000000 9CC62DF43B6EED74
+50 0101010101010140 0101010101010140 0101010101010140 0000000000000000 D863DBB5C59A91A0
+51 0101010101010120 0101010101010120 0101010101010120 0000000000000000 A1AB2190545B91D7
+52 0101010101010110 0101010101010110 0101010101010110 0000000000000000 0875041E64C570F7
+53 0101010101010108 0101010101010108 0101010101010108 0000000000000000 5A594528BEBEF1CC
+54 0101010101010104 0101010101010104 0101010101010104 0000000000000000 FCDB3291DE21F0C0
+55 0101010101010102 0101010101010102 0101010101010102 0000000000000000 869EFD7F9F265A09
++M Permutation Operation Known Answer Test
++C Key............. Plaintext....... Ciphertext......
+00 1046913489980131 1046913489980131 1046913489980131 0000000000000000 88D55E54F54C97B4
+01 1007103489988020 1007103489988020 1007103489988020 0000000000000000 0C0CC00C83EA48FD
+02 10071034C8980120 10071034C8980120 10071034C8980120 0000000000000000 83BC8EF3A6570183
+03 1046103489988020 1046103489988020 1046103489988020 0000000000000000 DF725DCAD94EA2E9
+04 1086911519190101 1086911519190101 1086911519190101 0000000000000000 E652B53B550BE8B0
+05 1086911519580101 1086911519580101 1086911519580101 0000000000000000 AF527120C485CBB0
+06 5107B01519580101 5107B01519580101 5107B01519580101 0000000000000000 0F04CE393DB926D5
+07 1007B01519190101 1007B01519190101 1007B01519190101 0000000000000000 C9F00FFC74079067
+08 3107915498080101 3107915498080101 3107915498080101 0000000000000000 7CFD82A593252B4E
+09 3107919498080101 3107919498080101 3107919498080101 0000000000000000 CB49A2F9E91363E3
+10 10079115B9080140 10079115B9080140 10079115B9080140 0000000000000000 00B588BE70D23F56
+11 3107911598080140 3107911598080140 3107911598080140 0000000000000000 406A9A6AB43399AE
+12 1007D01589980101 1007D01589980101 1007D01589980101 0000000000000000 6CB773611DCA9ADA
+13 9107911589980101 9107911589980101 9107911589980101 0000000000000000 67FD21C17DBB5D70
+14 9107D01589190101 9107D01589190101 9107D01589190101 0000000000000000 9592CB4110430787
+15 1007D01598980120 1007D01598980120 1007D01598980120 0000000000000000 A6B7FF68A318DDD3
+16 1007940498190101 1007940498190101 1007940498190101 0000000000000000 4D102196C914CA16
+17 0107910491190401 0107910491190401 0107910491190401 0000000000000000 2DFA9F4573594965
+18 0107910491190101 0107910491190101 0107910491190101 0000000000000000 B46604816C0E0774
+19 0107940491190401 0107940491190401 0107940491190401 0000000000000000 6E7E6221A4F34E87
+20 19079210981A0101 19079210981A0101 19079210981A0101 0000000000000000 AA85E74643233199
+21 1007911998190801 1007911998190801 1007911998190801 0000000000000000 2E5A19DB4D1962D6
+22 10079119981A0801 10079119981A0801 10079119981A0801 0000000000000000 23A866A809D30894
+23 1007921098190101 1007921098190101 1007921098190101 0000000000000000 D812D961F017D320
+24 100791159819010B 100791159819010B 100791159819010B 0000000000000000 055605816E58608F
+25 1004801598190101 1004801598190101 1004801598190101 0000000000000000 ABD88E8B1B7716F1
+26 1004801598190102 1004801598190102 1004801598190102 0000000000000000 537AC95BE69DA1E1
+27 1004801598190108 1004801598190108 1004801598190108 0000000000000000 AED0F6AE3C25CDD8
+28 1002911598100104 1002911598100104 1002911598100104 0000000000000000 B3E35A5EE53E7B8D
+29 1002911598190104 1002911598190104 1002911598190104 0000000000000000 61C79C71921A2EF8
+30 1002911598100201 1002911598100201 1002911598100201 0000000000000000 E2F5728F0995013C
+31 1002911698100101 1002911698100101 1002911698100101 0000000000000000 1AEAC39A61F0A464
++M Substitution Table Known Answer Test
++C Key............. Plaintext....... Ciphertext......
+00 7CA110454A1A6E57 7CA110454A1A6E57 7CA110454A1A6E57 01A1D6D039776742 690F5B0D9A26939B
+01 0131D9619DC1376E 0131D9619DC1376E 0131D9619DC1376E 5CD54CA83DEF57DA 7A389D10354BD271
+02 07A1133E4A0B2686 07A1133E4A0B2686 07A1133E4A0B2686 0248D43806F67172 868EBB51CAB4599A
+03 3849674C2602319E 3849674C2602319E 3849674C2602319E 51454B582DDF440A 7178876E01F19B2A
+04 04B915BA43FEB5B6 04B915BA43FEB5B6 04B915BA43FEB5B6 42FD443059577FA2 AF37FB421F8C4095
+05 0113B970FD34F2CE 0113B970FD34F2CE 0113B970FD34F2CE 059B5E0851CF143A 86A560F10EC6D85B
+06 0170F175468FB5E6 0170F175468FB5E6 0170F175468FB5E6 0756D8E0774761D2 0CD3DA020021DC09
+07 43297FAD38E373FE 43297FAD38E373FE 43297FAD38E373FE 762514B829BF486A EA676B2CB7DB2B7A
+08 07A7137045DA2A16 07A7137045DA2A16 07A7137045DA2A16 3BDD119049372802 DFD64A815CAF1A0F
+09 04689104C2FD3B2F 04689104C2FD3B2F 04689104C2FD3B2F 26955F6835AF609A 5C513C9C4886C088
+10 37D06BB516CB7546 37D06BB516CB7546 37D06BB516CB7546 164D5E404F275232 0A2AEEAE3FF4AB77
+11 1F08260D1AC2465E 1F08260D1AC2465E 1F08260D1AC2465E 6B056E18759F5CCA EF1BF03E5DFA575A
+12 584023641ABA6176 584023641ABA6176 584023641ABA6176 004BD6EF09176062 88BF0DB6D70DEE56
+13 025816164629B007 025816164629B007 025816164629B007 480D39006EE762F2 A1F9915541020B56
+14 49793EBC79B3258F 49793EBC79B3258F 49793EBC79B3258F 437540C8698F3CFA 6FBF1CAFCFFD0556
+15 4FB05E1515AB73A7 4FB05E1515AB73A7 4FB05E1515AB73A7 072D43A077075292 2F22E49BAB7CA1AC
+16 49E95D6D4CA229BF 49E95D6D4CA229BF 49E95D6D4CA229BF 02FE55778117F12A 5A6B612CC26CCE4A
+17 018310DC409B26D6 018310DC409B26D6 018310DC409B26D6 1D9D5C5018F728C2 5F4C038ED12B2E41
+18 1C587F1C13924FEF 1C587F1C13924FEF 1C587F1C13924FEF 305532286D6F295A 63FAC0D034D9F793
++M BSafe test - TV3DECN0
++C Vectors extracted from X9.52
+01 0123456789ABCDEF 23456789ABCDEF01 456789ABCDEF0123 4E6F77206973207468652074696D6520666F7220616C6C20 314F8327FA7A09A84362760CC13BA7DAFF55C5F80FAAAC45
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/trandom/testdata/3des3ofb.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,188 @@
++C Key............. IV.............. Ciphertext...... Plaintext....... 
++M Sample round
+01 10316E028C8F3B4A 10316E028C8F3B4A 10316E028C8F3B4A 0000000000000000 82DCBAFBDEAB6602 0000000000000000
++M Variable Plaintext Known Answer Test
+00 0101010101010101 0101010101010101 0101010101010101 8000000000000000 95F8A5E5DD31D900 0000000000000000
+01 0101010101010101 0101010101010101 0101010101010101 4000000000000000 DD7F121CA5015619 0000000000000000
+02 0101010101010101 0101010101010101 0101010101010101 2000000000000000 2E8653104F3834EA 0000000000000000
+03 0101010101010101 0101010101010101 0101010101010101 1000000000000000 4BD388FF6CD81D4F 0000000000000000
+04 0101010101010101 0101010101010101 0101010101010101 0800000000000000 20B9E767B2FB1456 0000000000000000
+05 0101010101010101 0101010101010101 0101010101010101 0400000000000000 55579380D77138EF 0000000000000000
+06 0101010101010101 0101010101010101 0101010101010101 0200000000000000 6CC5DEFAAF04512F 0000000000000000
+07 0101010101010101 0101010101010101 0101010101010101 0100000000000000 0D9F279BA5D87260 0000000000000000
+08 0101010101010101 0101010101010101 0101010101010101 0080000000000000 D9031B0271BD5A0A 0000000000000000
+09 0101010101010101 0101010101010101 0101010101010101 0040000000000000 424250B37C3DD951 0000000000000000
+10 0101010101010101 0101010101010101 0101010101010101 0020000000000000 B8061B7ECD9A21E5 0000000000000000
+11 0101010101010101 0101010101010101 0101010101010101 0010000000000000 F15D0F286B65BD28 0000000000000000
+12 0101010101010101 0101010101010101 0101010101010101 0008000000000000 ADD0CC8D6E5DEBA1 0000000000000000
+13 0101010101010101 0101010101010101 0101010101010101 0004000000000000 E6D5F82752AD63D1 0000000000000000
+14 0101010101010101 0101010101010101 0101010101010101 0002000000000000 ECBFE3BD3F591A5E 0000000000000000
+15 0101010101010101 0101010101010101 0101010101010101 0001000000000000 F356834379D165CD 0000000000000000
+16 0101010101010101 0101010101010101 0101010101010101 0000800000000000 2B9F982F20037FA9 0000000000000000
+17 0101010101010101 0101010101010101 0101010101010101 0000400000000000 889DE068A16F0BE6 0000000000000000
+18 0101010101010101 0101010101010101 0101010101010101 0000200000000000 E19E275D846A1298 0000000000000000
+19 0101010101010101 0101010101010101 0101010101010101 0000100000000000 329A8ED523D71AEC 0000000000000000
+20 0101010101010101 0101010101010101 0101010101010101 0000080000000000 E7FCE22557D23C97 0000000000000000
+21 0101010101010101 0101010101010101 0101010101010101 0000040000000000 12A9F5817FF2D65D 0000000000000000
+22 0101010101010101 0101010101010101 0101010101010101 0000020000000000 A484C3AD38DC9C19 0000000000000000
+23 0101010101010101 0101010101010101 0101010101010101 0000010000000000 FBE00A8A1EF8AD72 0000000000000000
+24 0101010101010101 0101010101010101 0101010101010101 0000008000000000 750D079407521363 0000000000000000
+25 0101010101010101 0101010101010101 0101010101010101 0000004000000000 64FEED9C724C2FAF 0000000000000000
+26 0101010101010101 0101010101010101 0101010101010101 0000002000000000 F02B263B328E2B60 0000000000000000
+27 0101010101010101 0101010101010101 0101010101010101 0000001000000000 9D64555A9A10B852 0000000000000000
+28 0101010101010101 0101010101010101 0101010101010101 0000000800000000 D106FF0BED5255D7 0000000000000000
+29 0101010101010101 0101010101010101 0101010101010101 0000000400000000 E1652C6B138C64A5 0000000000000000
+30 0101010101010101 0101010101010101 0101010101010101 0000000200000000 E428581186EC8F46 0000000000000000
+31 0101010101010101 0101010101010101 0101010101010101 0000000100000000 AEB5F5EDE22D1A36 0000000000000000
+32 0101010101010101 0101010101010101 0101010101010101 0000000080000000 E943D7568AEC0C5C 0000000000000000
+33 0101010101010101 0101010101010101 0101010101010101 0000000040000000 DF98C8276F54B04B 0000000000000000
+34 0101010101010101 0101010101010101 0101010101010101 0000000020000000 B160E4680F6C696F 0000000000000000
+35 0101010101010101 0101010101010101 0101010101010101 0000000010000000 FA0752B07D9C4AB8 0000000000000000
+36 0101010101010101 0101010101010101 0101010101010101 0000000008000000 CA3A2B036DBC8502 0000000000000000
+37 0101010101010101 0101010101010101 0101010101010101 0000000004000000 5E0905517BB59BCF 0000000000000000
+38 0101010101010101 0101010101010101 0101010101010101 0000000002000000 814EEB3B91D90726 0000000000000000
+39 0101010101010101 0101010101010101 0101010101010101 0000000001000000 4D49DB1532919C9F 0000000000000000
+40 0101010101010101 0101010101010101 0101010101010101 0000000000800000 25EB5FC3F8CF0621 0000000000000000
+41 0101010101010101 0101010101010101 0101010101010101 0000000000400000 AB6A20C0620D1C6F 0000000000000000
+42 0101010101010101 0101010101010101 0101010101010101 0000000000200000 79E90DBC98F92CCA 0000000000000000
+43 0101010101010101 0101010101010101 0101010101010101 0000000000100000 866ECEDD8072BB0E 0000000000000000
+44 0101010101010101 0101010101010101 0101010101010101 0000000000080000 8B54536F2F3E64A8 0000000000000000
+45 0101010101010101 0101010101010101 0101010101010101 0000000000040000 EA51D3975595B86B 0000000000000000
+46 0101010101010101 0101010101010101 0101010101010101 0000000000020000 CAFFC6AC4542DE31 0000000000000000
+47 0101010101010101 0101010101010101 0101010101010101 0000000000010000 8DD45A2DDF90796C 0000000000000000
+48 0101010101010101 0101010101010101 0101010101010101 0000000000008000 1029D55E880EC2D0 0000000000000000
+49 0101010101010101 0101010101010101 0101010101010101 0000000000004000 5D86CB23639DBEA9 0000000000000000
+50 0101010101010101 0101010101010101 0101010101010101 0000000000002000 1D1CA853AE7C0C5F 0000000000000000
+51 0101010101010101 0101010101010101 0101010101010101 0000000000001000 CE332329248F3228 0000000000000000
+52 0101010101010101 0101010101010101 0101010101010101 0000000000000800 8405D1ABE24FB942 0000000000000000
+53 0101010101010101 0101010101010101 0101010101010101 0000000000000400 E643D78090CA4207 0000000000000000
+54 0101010101010101 0101010101010101 0101010101010101 0000000000000200 48221B9937748A23 0000000000000000
+55 0101010101010101 0101010101010101 0101010101010101 0000000000000100 DD7C0BBD61FAFD54 0000000000000000
+56 0101010101010101 0101010101010101 0101010101010101 0000000000000080 2FBC291A570DB5C4 0000000000000000
+57 0101010101010101 0101010101010101 0101010101010101 0000000000000040 E07C30D7E4E26E12 0000000000000000
+58 0101010101010101 0101010101010101 0101010101010101 0000000000000020 0953E2258E8E90A1 0000000000000000
+59 0101010101010101 0101010101010101 0101010101010101 0000000000000010 5B711BC4CEEBF2EE 0000000000000000
+60 0101010101010101 0101010101010101 0101010101010101 0000000000000008 CC083F1E6D9E85F6 0000000000000000
+61 0101010101010101 0101010101010101 0101010101010101 0000000000000004 D2FD8867D50D2DFE 0000000000000000
+62 0101010101010101 0101010101010101 0101010101010101 0000000000000002 06E7EA22CE92708F 0000000000000000
+63 0101010101010101 0101010101010101 0101010101010101 0000000000000001 166B40B44ABA4BD6 0000000000000000
++M Variable Key Known Answer Test
++C Key............. Plaintext....... Ciphertext......
+00 8001010101010101 8001010101010101 8001010101010101 0000000000000000 95A8D72813DAA94D 0000000000000000
+01 4001010101010101 4001010101010101 4001010101010101 0000000000000000 0EEC1487DD8C26D5 0000000000000000
+02 2001010101010101 2001010101010101 2001010101010101 0000000000000000 7AD16FFB79C45926 0000000000000000
+03 1001010101010101 1001010101010101 1001010101010101 0000000000000000 D3746294CA6A6CF3 0000000000000000
+04 0801010101010101 0801010101010101 0801010101010101 0000000000000000 809F5F873C1FD761 0000000000000000
+05 0401010101010101 0401010101010101 0401010101010101 0000000000000000 C02FAFFEC989D1FC 0000000000000000
+06 0201010101010101 0201010101010101 0201010101010101 0000000000000000 4615AA1D33E72F10 0000000000000000
+07 0180010101010101 0180010101010101 0180010101010101 0000000000000000 2055123350C00858 0000000000000000
+08 0140010101010101 0140010101010101 0140010101010101 0000000000000000 DF3B99D6577397C8 0000000000000000
+09 0120010101010101 0120010101010101 0120010101010101 0000000000000000 31FE17369B5288C9 0000000000000000
+10 0110010101010101 0110010101010101 0110010101010101 0000000000000000 DFDD3CC64DAE1642 0000000000000000
+11 0108010101010101 0108010101010101 0108010101010101 0000000000000000 178C83CE2B399D94 0000000000000000
+12 0104010101010101 0104010101010101 0104010101010101 0000000000000000 50F636324A9B7F80 0000000000000000
+13 0102010101010101 0102010101010101 0102010101010101 0000000000000000 A8468EE3BC18F06D 0000000000000000
+14 0101800101010101 0101800101010101 0101800101010101 0000000000000000 A2DC9E92FD3CDE92 0000000000000000
+15 0101400101010101 0101400101010101 0101400101010101 0000000000000000 CAC09F797D031287 0000000000000000
+16 0101200101010101 0101200101010101 0101200101010101 0000000000000000 90BA680B22AEB525 0000000000000000
+17 0101100101010101 0101100101010101 0101100101010101 0000000000000000 CE7A24F350E280B6 0000000000000000
+18 0101080101010101 0101080101010101 0101080101010101 0000000000000000 882BFF0AA01A0B87 0000000000000000
+19 0101040101010101 0101040101010101 0101040101010101 0000000000000000 25610288924511C2 0000000000000000
+20 0101020101010101 0101020101010101 0101020101010101 0000000000000000 C71516C29C75D170 0000000000000000
+21 0101018001010101 0101018001010101 0101018001010101 0000000000000000 5199C29A52C9F059 0000000000000000
+22 0101014001010101 0101014001010101 0101014001010101 0000000000000000 C22F0A294A71F29F 0000000000000000
+23 0101012001010101 0101012001010101 0101012001010101 0000000000000000 EE371483714C02EA 0000000000000000
+24 0101011001010101 0101011001010101 0101011001010101 0000000000000000 A81FBD448F9E522F 0000000000000000
+25 0101010801010101 0101010801010101 0101010801010101 0000000000000000 4F644C92E192DFED 0000000000000000
+26 0101010401010101 0101010401010101 0101010401010101 0000000000000000 1AFA9A66A6DF92AE 0000000000000000
+27 0101010201010101 0101010201010101 0101010201010101 0000000000000000 B3C1CC715CB879D8 0000000000000000
+28 0101010180010101 0101010180010101 0101010180010101 0000000000000000 19D032E64AB0BD8B 0000000000000000
+29 0101010140010101 0101010140010101 0101010140010101 0000000000000000 3CFAA7A7DC8720DC 0000000000000000
+30 0101010120010101 0101010120010101 0101010120010101 0000000000000000 B7265F7F447AC6F3 0000000000000000
+31 0101010110010101 0101010110010101 0101010110010101 0000000000000000 9DB73B3C0D163F54 0000000000000000
+32 0101010108010101 0101010108010101 0101010108010101 0000000000000000 8181B65BABF4A975 0000000000000000
+33 0101010104010101 0101010104010101 0101010104010101 0000000000000000 93C9B64042EAA240 0000000000000000
+34 0101010102010101 0101010102010101 0101010102010101 0000000000000000 5570530829705592 0000000000000000
+35 0101010101800101 0101010101800101 0101010101800101 0000000000000000 8638809E878787A0 0000000000000000
+36 0101010101400101 0101010101400101 0101010101400101 0000000000000000 41B9A79AF79AC208 0000000000000000
+37 0101010101200101 0101010101200101 0101010101200101 0000000000000000 7A9BE42F2009A892 0000000000000000
+38 0101010101100101 0101010101100101 0101010101100101 0000000000000000 29038D56BA6D2745 0000000000000000
+39 0101010101080101 0101010101080101 0101010101080101 0000000000000000 5495C6ABF1E5DF51 0000000000000000
+40 0101010101040101 0101010101040101 0101010101040101 0000000000000000 AE13DBD561488933 0000000000000000
+41 0101010101020101 0101010101020101 0101010101020101 0000000000000000 024D1FFA8904E389 0000000000000000
+42 0101010101018001 0101010101018001 0101010101018001 0000000000000000 D1399712F99BF02E 0000000000000000
+43 0101010101014001 0101010101014001 0101010101014001 0000000000000000 14C1D7C1CFFEC79E 0000000000000000
+44 0101010101012001 0101010101012001 0101010101012001 0000000000000000 1DE5279DAE3BED6F 0000000000000000
+45 0101010101011001 0101010101011001 0101010101011001 0000000000000000 E941A33F85501303 0000000000000000
+46 0101010101010801 0101010101010801 0101010101010801 0000000000000000 DA99DBBC9A03F379 0000000000000000
+47 0101010101010401 0101010101010401 0101010101010401 0000000000000000 B7FC92F91D8E92E9 0000000000000000
+48 0101010101010201 0101010101010201 0101010101010201 0000000000000000 AE8E5CAA3CA04E85 0000000000000000
+49 0101010101010180 0101010101010180 0101010101010180 0000000000000000 9CC62DF43B6EED74 0000000000000000
+50 0101010101010140 0101010101010140 0101010101010140 0000000000000000 D863DBB5C59A91A0 0000000000000000
+51 0101010101010120 0101010101010120 0101010101010120 0000000000000000 A1AB2190545B91D7 0000000000000000
+52 0101010101010110 0101010101010110 0101010101010110 0000000000000000 0875041E64C570F7 0000000000000000
+53 0101010101010108 0101010101010108 0101010101010108 0000000000000000 5A594528BEBEF1CC 0000000000000000
+54 0101010101010104 0101010101010104 0101010101010104 0000000000000000 FCDB3291DE21F0C0 0000000000000000
+55 0101010101010102 0101010101010102 0101010101010102 0000000000000000 869EFD7F9F265A09 0000000000000000
++M Permutation Operation Known Answer Test
++C Key............. Plaintext....... Ciphertext......
+00 1046913489980131 1046913489980131 1046913489980131 0000000000000000 88D55E54F54C97B4 0000000000000000
+01 1007103489988020 1007103489988020 1007103489988020 0000000000000000 0C0CC00C83EA48FD 0000000000000000
+02 10071034C8980120 10071034C8980120 10071034C8980120 0000000000000000 83BC8EF3A6570183 0000000000000000
+03 1046103489988020 1046103489988020 1046103489988020 0000000000000000 DF725DCAD94EA2E9 0000000000000000
+04 1086911519190101 1086911519190101 1086911519190101 0000000000000000 E652B53B550BE8B0 0000000000000000
+05 1086911519580101 1086911519580101 1086911519580101 0000000000000000 AF527120C485CBB0 0000000000000000
+06 5107B01519580101 5107B01519580101 5107B01519580101 0000000000000000 0F04CE393DB926D5 0000000000000000
+07 1007B01519190101 1007B01519190101 1007B01519190101 0000000000000000 C9F00FFC74079067 0000000000000000
+08 3107915498080101 3107915498080101 3107915498080101 0000000000000000 7CFD82A593252B4E 0000000000000000
+09 3107919498080101 3107919498080101 3107919498080101 0000000000000000 CB49A2F9E91363E3 0000000000000000
+10 10079115B9080140 10079115B9080140 10079115B9080140 0000000000000000 00B588BE70D23F56 0000000000000000
+11 3107911598080140 3107911598080140 3107911598080140 0000000000000000 406A9A6AB43399AE 0000000000000000
+12 1007D01589980101 1007D01589980101 1007D01589980101 0000000000000000 6CB773611DCA9ADA 0000000000000000
+13 9107911589980101 9107911589980101 9107911589980101 0000000000000000 67FD21C17DBB5D70 0000000000000000
+14 9107D01589190101 9107D01589190101 9107D01589190101 0000000000000000 9592CB4110430787 0000000000000000
+15 1007D01598980120 1007D01598980120 1007D01598980120 0000000000000000 A6B7FF68A318DDD3 0000000000000000
+16 1007940498190101 1007940498190101 1007940498190101 0000000000000000 4D102196C914CA16 0000000000000000
+17 0107910491190401 0107910491190401 0107910491190401 0000000000000000 2DFA9F4573594965 0000000000000000
+18 0107910491190101 0107910491190101 0107910491190101 0000000000000000 B46604816C0E0774 0000000000000000
+19 0107940491190401 0107940491190401 0107940491190401 0000000000000000 6E7E6221A4F34E87 0000000000000000
+20 19079210981A0101 19079210981A0101 19079210981A0101 0000000000000000 AA85E74643233199 0000000000000000
+21 1007911998190801 1007911998190801 1007911998190801 0000000000000000 2E5A19DB4D1962D6 0000000000000000
+22 10079119981A0801 10079119981A0801 10079119981A0801 0000000000000000 23A866A809D30894 0000000000000000
+23 1007921098190101 1007921098190101 1007921098190101 0000000000000000 D812D961F017D320 0000000000000000
+24 100791159819010B 100791159819010B 100791159819010B 0000000000000000 055605816E58608F 0000000000000000
+25 1004801598190101 1004801598190101 1004801598190101 0000000000000000 ABD88E8B1B7716F1 0000000000000000
+26 1004801598190102 1004801598190102 1004801598190102 0000000000000000 537AC95BE69DA1E1 0000000000000000
+27 1004801598190108 1004801598190108 1004801598190108 0000000000000000 AED0F6AE3C25CDD8 0000000000000000
+28 1002911598100104 1002911598100104 1002911598100104 0000000000000000 B3E35A5EE53E7B8D 0000000000000000
+29 1002911598190104 1002911598190104 1002911598190104 0000000000000000 61C79C71921A2EF8 0000000000000000
+30 1002911598100201 1002911598100201 1002911598100201 0000000000000000 E2F5728F0995013C 0000000000000000
+31 1002911698100101 1002911698100101 1002911698100101 0000000000000000 1AEAC39A61F0A464 0000000000000000
++M Substitution Table Known Answer Test 
++C Key............. Plaintext....... Ciphertext......
+00 7CA110454A1A6E57 7CA110454A1A6E57 7CA110454A1A6E57 01A1D6D039776742 690F5B0D9A26939B 0000000000000000
+01 0131D9619DC1376E 0131D9619DC1376E 0131D9619DC1376E 5CD54CA83DEF57DA 7A389D10354BD271 0000000000000000
+02 07A1133E4A0B2686 07A1133E4A0B2686 07A1133E4A0B2686 0248D43806F67172 868EBB51CAB4599A 0000000000000000
+03 3849674C2602319E 3849674C2602319E 3849674C2602319E 51454B582DDF440A 7178876E01F19B2A 0000000000000000
+04 04B915BA43FEB5B6 04B915BA43FEB5B6 04B915BA43FEB5B6 42FD443059577FA2 AF37FB421F8C4095 0000000000000000
+05 0113B970FD34F2CE 0113B970FD34F2CE 0113B970FD34F2CE 059B5E0851CF143A 86A560F10EC6D85B 0000000000000000
+06 0170F175468FB5E6 0170F175468FB5E6 0170F175468FB5E6 0756D8E0774761D2 0CD3DA020021DC09 0000000000000000
+07 43297FAD38E373FE 43297FAD38E373FE 43297FAD38E373FE 762514B829BF486A EA676B2CB7DB2B7A 0000000000000000
+08 07A7137045DA2A16 07A7137045DA2A16 07A7137045DA2A16 3BDD119049372802 DFD64A815CAF1A0F 0000000000000000
+09 04689104C2FD3B2F 04689104C2FD3B2F 04689104C2FD3B2F 26955F6835AF609A 5C513C9C4886C088 0000000000000000
+10 37D06BB516CB7546 37D06BB516CB7546 37D06BB516CB7546 164D5E404F275232 0A2AEEAE3FF4AB77 0000000000000000
+11 1F08260D1AC2465E 1F08260D1AC2465E 1F08260D1AC2465E 6B056E18759F5CCA EF1BF03E5DFA575A 0000000000000000
+12 584023641ABA6176 584023641ABA6176 584023641ABA6176 004BD6EF09176062 88BF0DB6D70DEE56 0000000000000000
+13 025816164629B007 025816164629B007 025816164629B007 480D39006EE762F2 A1F9915541020B56 0000000000000000
+14 49793EBC79B3258F 49793EBC79B3258F 49793EBC79B3258F 437540C8698F3CFA 6FBF1CAFCFFD0556 0000000000000000
+15 4FB05E1515AB73A7 4FB05E1515AB73A7 4FB05E1515AB73A7 072D43A077075292 2F22E49BAB7CA1AC 0000000000000000
+16 49E95D6D4CA229BF 49E95D6D4CA229BF 49E95D6D4CA229BF 02FE55778117F12A 5A6B612CC26CCE4A 0000000000000000
+17 018310DC409B26D6 018310DC409B26D6 018310DC409B26D6 1D9D5C5018F728C2 5F4C038ED12B2E41 0000000000000000
+18 1C587F1C13924FEF 1C587F1C13924FEF 1C587F1C13924FEF 305532286D6F295A 63FAC0D034D9F793 0000000000000000
++M BSafe tests - TV3DOFP0
++C These tests are for OFB pipelined
++C Dunno if they are relevant.
++C +M Another IV problem?
++C 01 0123456789ABCDEF 23456789ABCDEF01 456789ABCDEF0123 0000000000055555 6E664F920A9DF1E4E570C563110DA5248AB3D43134FC9101B73C082134D1CE8139F838BBCD2D99AA9EB49AFAA8699D8C 4E6F77206973207468652074696D6520666F7220616C6C20676F6F64206D656E20746F20636F6D6520746F2074686520 
++M BSafe tests - TV3OFBN0
+01 0123456789ABCDEF 23456789ABCDEF01 456789ABCDEF0123 1234567890ABCDEF EE7EC75C1A1013019A8A610002668E0787E28AF9EC26B889 4E6F77206973207468652074696D6520666F7220616C6C20 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/trandom/testdata/3descbc.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,221 @@
++C 3DES CBC Tests
++C Key1............ Key2............ Key3............ Plaintext....... Ciphertext...... IV..............
++M Sample round
+01 10316E028C8F3B4A 10316E028C8F3B4A 10316E028C8F3B4A 0000000000000000 82DCBAFBDEAB6602 0000000000000000
++M Variable Plaintext Known Answer Test
+00 0101010101010101 0101010101010101 0101010101010101 8000000000000000 95F8A5E5DD31D900 0000000000000000
+01 0101010101010101 0101010101010101 0101010101010101 4000000000000000 DD7F121CA5015619 0000000000000000
+02 0101010101010101 0101010101010101 0101010101010101 2000000000000000 2E8653104F3834EA 0000000000000000
+03 0101010101010101 0101010101010101 0101010101010101 1000000000000000 4BD388FF6CD81D4F 0000000000000000
+04 0101010101010101 0101010101010101 0101010101010101 0800000000000000 20B9E767B2FB1456 0000000000000000
+05 0101010101010101 0101010101010101 0101010101010101 0400000000000000 55579380D77138EF 0000000000000000
+06 0101010101010101 0101010101010101 0101010101010101 0200000000000000 6CC5DEFAAF04512F 0000000000000000
+07 0101010101010101 0101010101010101 0101010101010101 0100000000000000 0D9F279BA5D87260 0000000000000000
+08 0101010101010101 0101010101010101 0101010101010101 0080000000000000 D9031B0271BD5A0A 0000000000000000
+09 0101010101010101 0101010101010101 0101010101010101 0040000000000000 424250B37C3DD951 0000000000000000
+10 0101010101010101 0101010101010101 0101010101010101 0020000000000000 B8061B7ECD9A21E5 0000000000000000
+11 0101010101010101 0101010101010101 0101010101010101 0010000000000000 F15D0F286B65BD28 0000000000000000
+12 0101010101010101 0101010101010101 0101010101010101 0008000000000000 ADD0CC8D6E5DEBA1 0000000000000000
+13 0101010101010101 0101010101010101 0101010101010101 0004000000000000 E6D5F82752AD63D1 0000000000000000
+14 0101010101010101 0101010101010101 0101010101010101 0002000000000000 ECBFE3BD3F591A5E 0000000000000000
+15 0101010101010101 0101010101010101 0101010101010101 0001000000000000 F356834379D165CD 0000000000000000
+16 0101010101010101 0101010101010101 0101010101010101 0000800000000000 2B9F982F20037FA9 0000000000000000
+17 0101010101010101 0101010101010101 0101010101010101 0000400000000000 889DE068A16F0BE6 0000000000000000
+18 0101010101010101 0101010101010101 0101010101010101 0000200000000000 E19E275D846A1298 0000000000000000
+19 0101010101010101 0101010101010101 0101010101010101 0000100000000000 329A8ED523D71AEC 0000000000000000
+20 0101010101010101 0101010101010101 0101010101010101 0000080000000000 E7FCE22557D23C97 0000000000000000
+21 0101010101010101 0101010101010101 0101010101010101 0000040000000000 12A9F5817FF2D65D 0000000000000000
+22 0101010101010101 0101010101010101 0101010101010101 0000020000000000 A484C3AD38DC9C19 0000000000000000
+23 0101010101010101 0101010101010101 0101010101010101 0000010000000000 FBE00A8A1EF8AD72 0000000000000000
+24 0101010101010101 0101010101010101 0101010101010101 0000008000000000 750D079407521363 0000000000000000
+25 0101010101010101 0101010101010101 0101010101010101 0000004000000000 64FEED9C724C2FAF 0000000000000000
+26 0101010101010101 0101010101010101 0101010101010101 0000002000000000 F02B263B328E2B60 0000000000000000
+27 0101010101010101 0101010101010101 0101010101010101 0000001000000000 9D64555A9A10B852 0000000000000000
+28 0101010101010101 0101010101010101 0101010101010101 0000000800000000 D106FF0BED5255D7 0000000000000000
+29 0101010101010101 0101010101010101 0101010101010101 0000000400000000 E1652C6B138C64A5 0000000000000000
+30 0101010101010101 0101010101010101 0101010101010101 0000000200000000 E428581186EC8F46 0000000000000000
+31 0101010101010101 0101010101010101 0101010101010101 0000000100000000 AEB5F5EDE22D1A36 0000000000000000
+32 0101010101010101 0101010101010101 0101010101010101 0000000080000000 E943D7568AEC0C5C 0000000000000000
+33 0101010101010101 0101010101010101 0101010101010101 0000000040000000 DF98C8276F54B04B 0000000000000000
+34 0101010101010101 0101010101010101 0101010101010101 0000000020000000 B160E4680F6C696F 0000000000000000
+35 0101010101010101 0101010101010101 0101010101010101 0000000010000000 FA0752B07D9C4AB8 0000000000000000
+36 0101010101010101 0101010101010101 0101010101010101 0000000008000000 CA3A2B036DBC8502 0000000000000000
+37 0101010101010101 0101010101010101 0101010101010101 0000000004000000 5E0905517BB59BCF 0000000000000000
+38 0101010101010101 0101010101010101 0101010101010101 0000000002000000 814EEB3B91D90726 0000000000000000
+39 0101010101010101 0101010101010101 0101010101010101 0000000001000000 4D49DB1532919C9F 0000000000000000
+40 0101010101010101 0101010101010101 0101010101010101 0000000000800000 25EB5FC3F8CF0621 0000000000000000
+41 0101010101010101 0101010101010101 0101010101010101 0000000000400000 AB6A20C0620D1C6F 0000000000000000
+42 0101010101010101 0101010101010101 0101010101010101 0000000000200000 79E90DBC98F92CCA 0000000000000000
+43 0101010101010101 0101010101010101 0101010101010101 0000000000100000 866ECEDD8072BB0E 0000000000000000
+44 0101010101010101 0101010101010101 0101010101010101 0000000000080000 8B54536F2F3E64A8 0000000000000000
+45 0101010101010101 0101010101010101 0101010101010101 0000000000040000 EA51D3975595B86B 0000000000000000
+46 0101010101010101 0101010101010101 0101010101010101 0000000000020000 CAFFC6AC4542DE31 0000000000000000
+47 0101010101010101 0101010101010101 0101010101010101 0000000000010000 8DD45A2DDF90796C 0000000000000000
+48 0101010101010101 0101010101010101 0101010101010101 0000000000008000 1029D55E880EC2D0 0000000000000000
+49 0101010101010101 0101010101010101 0101010101010101 0000000000004000 5D86CB23639DBEA9 0000000000000000
+50 0101010101010101 0101010101010101 0101010101010101 0000000000002000 1D1CA853AE7C0C5F 0000000000000000
+51 0101010101010101 0101010101010101 0101010101010101 0000000000001000 CE332329248F3228 0000000000000000
+52 0101010101010101 0101010101010101 0101010101010101 0000000000000800 8405D1ABE24FB942 0000000000000000
+53 0101010101010101 0101010101010101 0101010101010101 0000000000000400 E643D78090CA4207 0000000000000000
+54 0101010101010101 0101010101010101 0101010101010101 0000000000000200 48221B9937748A23 0000000000000000
+55 0101010101010101 0101010101010101 0101010101010101 0000000000000100 DD7C0BBD61FAFD54 0000000000000000
+56 0101010101010101 0101010101010101 0101010101010101 0000000000000080 2FBC291A570DB5C4 0000000000000000
+57 0101010101010101 0101010101010101 0101010101010101 0000000000000040 E07C30D7E4E26E12 0000000000000000
+58 0101010101010101 0101010101010101 0101010101010101 0000000000000020 0953E2258E8E90A1 0000000000000000
+59 0101010101010101 0101010101010101 0101010101010101 0000000000000010 5B711BC4CEEBF2EE 0000000000000000
+60 0101010101010101 0101010101010101 0101010101010101 0000000000000008 CC083F1E6D9E85F6 0000000000000000
+61 0101010101010101 0101010101010101 0101010101010101 0000000000000004 D2FD8867D50D2DFE 0000000000000000
+62 0101010101010101 0101010101010101 0101010101010101 0000000000000002 06E7EA22CE92708F 0000000000000000
+63 0101010101010101 0101010101010101 0101010101010101 0000000000000001 166B40B44ABA4BD6 0000000000000000
++M Variable Key Known Answer Test
++C Key1............ Key2............ Key3............ Plaintext....... Ciphertext...... IV..............
+00 8001010101010101 8001010101010101 8001010101010101 0000000000000000 95A8D72813DAA94D 0000000000000000
+01 4001010101010101 4001010101010101 4001010101010101 0000000000000000 0EEC1487DD8C26D5 0000000000000000
+02 2001010101010101 2001010101010101 2001010101010101 0000000000000000 7AD16FFB79C45926 0000000000000000
+03 1001010101010101 1001010101010101 1001010101010101 0000000000000000 D3746294CA6A6CF3 0000000000000000
+04 0801010101010101 0801010101010101 0801010101010101 0000000000000000 809F5F873C1FD761 0000000000000000
+05 0401010101010101 0401010101010101 0401010101010101 0000000000000000 C02FAFFEC989D1FC 0000000000000000
+06 0201010101010101 0201010101010101 0201010101010101 0000000000000000 4615AA1D33E72F10 0000000000000000
+07 0180010101010101 0180010101010101 0180010101010101 0000000000000000 2055123350C00858 0000000000000000
+08 0140010101010101 0140010101010101 0140010101010101 0000000000000000 DF3B99D6577397C8 0000000000000000
+09 0120010101010101 0120010101010101 0120010101010101 0000000000000000 31FE17369B5288C9 0000000000000000
+10 0110010101010101 0110010101010101 0110010101010101 0000000000000000 DFDD3CC64DAE1642 0000000000000000
+11 0108010101010101 0108010101010101 0108010101010101 0000000000000000 178C83CE2B399D94 0000000000000000
+12 0104010101010101 0104010101010101 0104010101010101 0000000000000000 50F636324A9B7F80 0000000000000000
+13 0102010101010101 0102010101010101 0102010101010101 0000000000000000 A8468EE3BC18F06D 0000000000000000
+14 0101800101010101 0101800101010101 0101800101010101 0000000000000000 A2DC9E92FD3CDE92 0000000000000000
+15 0101400101010101 0101400101010101 0101400101010101 0000000000000000 CAC09F797D031287 0000000000000000
+16 0101200101010101 0101200101010101 0101200101010101 0000000000000000 90BA680B22AEB525 0000000000000000
+17 0101100101010101 0101100101010101 0101100101010101 0000000000000000 CE7A24F350E280B6 0000000000000000
+18 0101080101010101 0101080101010101 0101080101010101 0000000000000000 882BFF0AA01A0B87 0000000000000000
+19 0101040101010101 0101040101010101 0101040101010101 0000000000000000 25610288924511C2 0000000000000000
+20 0101020101010101 0101020101010101 0101020101010101 0000000000000000 C71516C29C75D170 0000000000000000
+21 0101018001010101 0101018001010101 0101018001010101 0000000000000000 5199C29A52C9F059 0000000000000000
+22 0101014001010101 0101014001010101 0101014001010101 0000000000000000 C22F0A294A71F29F 0000000000000000
+23 0101012001010101 0101012001010101 0101012001010101 0000000000000000 EE371483714C02EA 0000000000000000
+24 0101011001010101 0101011001010101 0101011001010101 0000000000000000 A81FBD448F9E522F 0000000000000000
+25 0101010801010101 0101010801010101 0101010801010101 0000000000000000 4F644C92E192DFED 0000000000000000
+26 0101010401010101 0101010401010101 0101010401010101 0000000000000000 1AFA9A66A6DF92AE 0000000000000000
+27 0101010201010101 0101010201010101 0101010201010101 0000000000000000 B3C1CC715CB879D8 0000000000000000
+28 0101010180010101 0101010180010101 0101010180010101 0000000000000000 19D032E64AB0BD8B 0000000000000000
+29 0101010140010101 0101010140010101 0101010140010101 0000000000000000 3CFAA7A7DC8720DC 0000000000000000
+30 0101010120010101 0101010120010101 0101010120010101 0000000000000000 B7265F7F447AC6F3 0000000000000000
+31 0101010110010101 0101010110010101 0101010110010101 0000000000000000 9DB73B3C0D163F54 0000000000000000
+32 0101010108010101 0101010108010101 0101010108010101 0000000000000000 8181B65BABF4A975 0000000000000000
+33 0101010104010101 0101010104010101 0101010104010101 0000000000000000 93C9B64042EAA240 0000000000000000
+34 0101010102010101 0101010102010101 0101010102010101 0000000000000000 5570530829705592 0000000000000000
+35 0101010101800101 0101010101800101 0101010101800101 0000000000000000 8638809E878787A0 0000000000000000
+36 0101010101400101 0101010101400101 0101010101400101 0000000000000000 41B9A79AF79AC208 0000000000000000
+37 0101010101200101 0101010101200101 0101010101200101 0000000000000000 7A9BE42F2009A892 0000000000000000
+38 0101010101100101 0101010101100101 0101010101100101 0000000000000000 29038D56BA6D2745 0000000000000000
+39 0101010101080101 0101010101080101 0101010101080101 0000000000000000 5495C6ABF1E5DF51 0000000000000000
+40 0101010101040101 0101010101040101 0101010101040101 0000000000000000 AE13DBD561488933 0000000000000000
+41 0101010101020101 0101010101020101 0101010101020101 0000000000000000 024D1FFA8904E389 0000000000000000
+42 0101010101018001 0101010101018001 0101010101018001 0000000000000000 D1399712F99BF02E 0000000000000000
+43 0101010101014001 0101010101014001 0101010101014001 0000000000000000 14C1D7C1CFFEC79E 0000000000000000
+44 0101010101012001 0101010101012001 0101010101012001 0000000000000000 1DE5279DAE3BED6F 0000000000000000
+45 0101010101011001 0101010101011001 0101010101011001 0000000000000000 E941A33F85501303 0000000000000000
+46 0101010101010801 0101010101010801 0101010101010801 0000000000000000 DA99DBBC9A03F379 0000000000000000
+47 0101010101010401 0101010101010401 0101010101010401 0000000000000000 B7FC92F91D8E92E9 0000000000000000
+48 0101010101010201 0101010101010201 0101010101010201 0000000000000000 AE8E5CAA3CA04E85 0000000000000000
+49 0101010101010180 0101010101010180 0101010101010180 0000000000000000 9CC62DF43B6EED74 0000000000000000
+50 0101010101010140 0101010101010140 0101010101010140 0000000000000000 D863DBB5C59A91A0 0000000000000000
+51 0101010101010120 0101010101010120 0101010101010120 0000000000000000 A1AB2190545B91D7 0000000000000000
+52 0101010101010110 0101010101010110 0101010101010110 0000000000000000 0875041E64C570F7 0000000000000000
+53 0101010101010108 0101010101010108 0101010101010108 0000000000000000 5A594528BEBEF1CC 0000000000000000
+54 0101010101010104 0101010101010104 0101010101010104 0000000000000000 FCDB3291DE21F0C0 0000000000000000
+55 0101010101010102 0101010101010102 0101010101010102 0000000000000000 869EFD7F9F265A09 0000000000000000
++M Permutation Operation Known Answer Test
++C Key1............ Key2............ Key3............ Plaintext....... Ciphertext...... IV..............
+00 1046913489980131 1046913489980131 1046913489980131 0000000000000000 88D55E54F54C97B4 0000000000000000
+01 1007103489988020 1007103489988020 1007103489988020 0000000000000000 0C0CC00C83EA48FD 0000000000000000
+02 10071034C8980120 10071034C8980120 10071034C8980120 0000000000000000 83BC8EF3A6570183 0000000000000000
+03 1046103489988020 1046103489988020 1046103489988020 0000000000000000 DF725DCAD94EA2E9 0000000000000000
+04 1086911519190101 1086911519190101 1086911519190101 0000000000000000 E652B53B550BE8B0 0000000000000000
+05 1086911519580101 1086911519580101 1086911519580101 0000000000000000 AF527120C485CBB0 0000000000000000
+06 5107B01519580101 5107B01519580101 5107B01519580101 0000000000000000 0F04CE393DB926D5 0000000000000000
+07 1007B01519190101 1007B01519190101 1007B01519190101 0000000000000000 C9F00FFC74079067 0000000000000000
+08 3107915498080101 3107915498080101 3107915498080101 0000000000000000 7CFD82A593252B4E 0000000000000000
+09 3107919498080101 3107919498080101 3107919498080101 0000000000000000 CB49A2F9E91363E3 0000000000000000
+10 10079115B9080140 10079115B9080140 10079115B9080140 0000000000000000 00B588BE70D23F56 0000000000000000
+11 3107911598080140 3107911598080140 3107911598080140 0000000000000000 406A9A6AB43399AE 0000000000000000
+12 1007D01589980101 1007D01589980101 1007D01589980101 0000000000000000 6CB773611DCA9ADA 0000000000000000
+13 9107911589980101 9107911589980101 9107911589980101 0000000000000000 67FD21C17DBB5D70 0000000000000000
+14 9107D01589190101 9107D01589190101 9107D01589190101 0000000000000000 9592CB4110430787 0000000000000000
+15 1007D01598980120 1007D01598980120 1007D01598980120 0000000000000000 A6B7FF68A318DDD3 0000000000000000
+16 1007940498190101 1007940498190101 1007940498190101 0000000000000000 4D102196C914CA16 0000000000000000
+17 0107910491190401 0107910491190401 0107910491190401 0000000000000000 2DFA9F4573594965 0000000000000000
+18 0107910491190101 0107910491190101 0107910491190101 0000000000000000 B46604816C0E0774 0000000000000000
+19 0107940491190401 0107940491190401 0107940491190401 0000000000000000 6E7E6221A4F34E87 0000000000000000
+20 19079210981A0101 19079210981A0101 19079210981A0101 0000000000000000 AA85E74643233199 0000000000000000
+21 1007911998190801 1007911998190801 1007911998190801 0000000000000000 2E5A19DB4D1962D6 0000000000000000
+22 10079119981A0801 10079119981A0801 10079119981A0801 0000000000000000 23A866A809D30894 0000000000000000
+23 1007921098190101 1007921098190101 1007921098190101 0000000000000000 D812D961F017D320 0000000000000000
+24 100791159819010B 100791159819010B 100791159819010B 0000000000000000 055605816E58608F 0000000000000000
+25 1004801598190101 1004801598190101 1004801598190101 0000000000000000 ABD88E8B1B7716F1 0000000000000000
+26 1004801598190102 1004801598190102 1004801598190102 0000000000000000 537AC95BE69DA1E1 0000000000000000
+27 1004801598190108 1004801598190108 1004801598190108 0000000000000000 AED0F6AE3C25CDD8 0000000000000000
+28 1002911598100104 1002911598100104 1002911598100104 0000000000000000 B3E35A5EE53E7B8D 0000000000000000
+29 1002911598190104 1002911598190104 1002911598190104 0000000000000000 61C79C71921A2EF8 0000000000000000
+30 1002911598100201 1002911598100201 1002911598100201 0000000000000000 E2F5728F0995013C 0000000000000000
+31 1002911698100101 1002911698100101 1002911698100101 0000000000000000 1AEAC39A61F0A464 0000000000000000
++M Substitution Table Known Answer Test 
++C Key1............ Key2............ Key3............ Plaintext....... Ciphertext...... IV..............
+00 7CA110454A1A6E57 7CA110454A1A6E57 7CA110454A1A6E57 01A1D6D039776742 690F5B0D9A26939B 0000000000000000
+01 0131D9619DC1376E 0131D9619DC1376E 0131D9619DC1376E 5CD54CA83DEF57DA 7A389D10354BD271 0000000000000000
+02 07A1133E4A0B2686 07A1133E4A0B2686 07A1133E4A0B2686 0248D43806F67172 868EBB51CAB4599A 0000000000000000
+03 3849674C2602319E 3849674C2602319E 3849674C2602319E 51454B582DDF440A 7178876E01F19B2A 0000000000000000
+04 04B915BA43FEB5B6 04B915BA43FEB5B6 04B915BA43FEB5B6 42FD443059577FA2 AF37FB421F8C4095 0000000000000000
+05 0113B970FD34F2CE 0113B970FD34F2CE 0113B970FD34F2CE 059B5E0851CF143A 86A560F10EC6D85B 0000000000000000
+06 0170F175468FB5E6 0170F175468FB5E6 0170F175468FB5E6 0756D8E0774761D2 0CD3DA020021DC09 0000000000000000
+07 43297FAD38E373FE 43297FAD38E373FE 43297FAD38E373FE 762514B829BF486A EA676B2CB7DB2B7A 0000000000000000
+08 07A7137045DA2A16 07A7137045DA2A16 07A7137045DA2A16 3BDD119049372802 DFD64A815CAF1A0F 0000000000000000
+09 04689104C2FD3B2F 04689104C2FD3B2F 04689104C2FD3B2F 26955F6835AF609A 5C513C9C4886C088 0000000000000000
+10 37D06BB516CB7546 37D06BB516CB7546 37D06BB516CB7546 164D5E404F275232 0A2AEEAE3FF4AB77 0000000000000000
+11 1F08260D1AC2465E 1F08260D1AC2465E 1F08260D1AC2465E 6B056E18759F5CCA EF1BF03E5DFA575A 0000000000000000
+12 584023641ABA6176 584023641ABA6176 584023641ABA6176 004BD6EF09176062 88BF0DB6D70DEE56 0000000000000000
+13 025816164629B007 025816164629B007 025816164629B007 480D39006EE762F2 A1F9915541020B56 0000000000000000
+14 49793EBC79B3258F 49793EBC79B3258F 49793EBC79B3258F 437540C8698F3CFA 6FBF1CAFCFFD0556 0000000000000000
+15 4FB05E1515AB73A7 4FB05E1515AB73A7 4FB05E1515AB73A7 072D43A077075292 2F22E49BAB7CA1AC 0000000000000000
+16 49E95D6D4CA229BF 49E95D6D4CA229BF 49E95D6D4CA229BF 02FE55778117F12A 5A6B612CC26CCE4A 0000000000000000
+17 018310DC409B26D6 018310DC409B26D6 018310DC409B26D6 1D9D5C5018F728C2 5F4C038ED12B2E41 0000000000000000
+18 1C587F1C13924FEF 1C587F1C13924FEF 1C587F1C13924FEF 305532286D6F295A 63FAC0D034D9F793 0000000000000000
++M BSafe test - TV3DCBN0
++C Key1............ Key2............ Key3............ Plaintext....... Ciphertext...... IV..............
+01 0123456789ABCDEF 23456789ABCDEF01 456789ABCDEF0123 4E6F77206973207468652074696D6520666F7220616C6C20 F3C0FF026C023089656FBB169DEF7EDB30BA36075D6F0176 1234567890ABCDEF
++M BSafe test - TFCIV802
+01 1122334455667788 1122334455667788 1122334455667788 000102030405060708091011121314151617181920212223 4C0CE7EA6E1FD7C57284B9D5DE41E8AA00E1F61DD4537842 0011223344556677
+02 1122334455667788 1122334455667788 1122334455667788 000102030405060708091011121314151617181920212223 3BD6E1D301A382E0F6DC9868C7A019EC470F379D9928148D 7766554433221100
++M Bsafe test - TVDS3C00
+01 7CA110454A1A6E57 7CA110454A1A6E57 FEDCBA9876543210 0123456789ABCDEF ED39D950FA74BCC4 0000000000000000
+02 7CA110454A1A6E57 FEDCBA9876543210 FEDCBA9876543210 01A1D6D039776742 690F5B0D9A26939B 0000000000000000
++C 03 7CA110454A1A6E57 FEDCBA9876543210 FEDCBA9876543210 01A1D6D039776742 690F5B0D9A26939B 00A1D6D039776700
++C 03 7CA110454A1A6E57 FEDCBA9876543210 FEDCBA9876543210 0100000000000042 690F5B0D9A26939B 0000000000000000
++C 04 7CA110454A1A6E57 FEDCBA9876543210 01A1D6D039776742 7CA110454A1A6E5701A1D6D039776742690F5B0D9A26939B 03770AC578245790C371A968EFEF33019391DBFA3FC3585D 0000000000000000
++M BSafe test - TV3CBIN0
++C Vectors were extracted from X9.52 standard.
++C This vector is for CBC-interleaved not straight CBC, not implemented.
++C 01 0123456789ABCDEF 23456789ABCDEF01 456789ABCDEF0123 4E6F77206973207468652074696D6520666F7220616C6C20676F6F64206D656E20746F20636F6D6520746F2074686520 0EF198BE0DA40F4D03649EFA6872A717E6B15686748A11401933FB0C744581C10364E942DF9A4B74901E57CCB671CEBC 0000000000055555
++M BSafe test - TV3CBRI0
+01 0123456789ABCDEF 23456789ABCDEF01 456789ABCDEF0123 4E6F77206973207468652074696D6520666F7220616C6C20 F3C0FF026C023089656FBB169DEF7EDB30BA36075D6F0176 1234567890ABCDEF
+02 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 6789ABCDEF012345 FC624960B90F7A7D 00000000EFAB23EF
++M BSafe test - TVDS3P00
+01 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 6789ABCDEF012345 FC624960B90F7A7D 00000000EFAB23EF
+02 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 6789ABCDEF0123450808080808080808 FC624960B90F7A7D2551005F74269110 00000000EFAB23EF
+03 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 010203040506070809101112131415160808080808080808 67D89FDD4DB55CDFE7886E07EBD3B3DF47D8B20E93909B58 00000000EFAB23EF
+04 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 01020304050607080910111213141501 67D89FDD4DB55CDFF52A136D17A87E8F 00000000EFAB23EF
+05 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 01020304050607080910111213140202 67D89FDD4DB55CDF9FF22B5301F5BA69 00000000EFAB23EF
+06 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 01020304050607080910111213030303 67D89FDD4DB55CDF7AC916277CC636EF 00000000EFAB23EF
+07 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 01020304050607080910111204040404 67D89FDD4DB55CDFE204DB2A32A7B8C8 00000000EFAB23EF
+08 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 01020304050607080910110505050505 67D89FDD4DB55CDF287F784D76357583 00000000EFAB23EF
+09 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 01020304050607080910060606060606 67D89FDD4DB55CDF4C58EA5623CD0B5B 00000000EFAB23EF
+10 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 01020304050607080907070707070707 67D89FDD4DB55CDFD784A16124DF7747 00000000EFAB23EF
+11 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 01020304050607080808080808080808 67D89FDD4DB55CDF9A19483ADB5C2975 00000000EFAB23EF
+12 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 0102030405060701 977C3A184FA1E78D 00000000EFAB23EF
+13 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 0102030405060202 D1AEE6C6FAE1828B 00000000EFAB23EF
+14 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 0102030405030303 A5EF9A711DE975CA 00000000EFAB23EF
+15 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 0102030404040404 A429C178F9A65553 00000000EFAB23EF
+16 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 0102030505050505 B53A1C038D1B89CD 00000000EFAB23EF
+17 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 0102060606060606 0D00D9D7CA3C98A4 00000000EFAB23EF
+18 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 0107070707070707 C3F1BA84FB6E4664 00000000EFAB23EF
+19 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 0808080808080808 D470869B58D76FAD 00000000EFAB23EF
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/trandom/testdata/3descfb.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,201 @@
++C Key1............ Key2............ Key3............ IV.............. Ciphertext...... Plaintext....... 
++C Current error
++M Sample round
+01 10316E028C8F3B4A 10316E028C8F3B4A 10316E028C8F3B4A 0000000000000000 82DCBAFBDEAB6602 0000000000000000
++M Variable Plaintext Known Answer Test
+00 0101010101010101 0101010101010101 0101010101010101 8000000000000000 95F8A5E5DD31D900 0000000000000000
+01 0101010101010101 0101010101010101 0101010101010101 4000000000000000 DD7F121CA5015619 0000000000000000
+02 0101010101010101 0101010101010101 0101010101010101 2000000000000000 2E8653104F3834EA 0000000000000000
+03 0101010101010101 0101010101010101 0101010101010101 1000000000000000 4BD388FF6CD81D4F 0000000000000000
+04 0101010101010101 0101010101010101 0101010101010101 0800000000000000 20B9E767B2FB1456 0000000000000000
+05 0101010101010101 0101010101010101 0101010101010101 0400000000000000 55579380D77138EF 0000000000000000
+06 0101010101010101 0101010101010101 0101010101010101 0200000000000000 6CC5DEFAAF04512F 0000000000000000
+07 0101010101010101 0101010101010101 0101010101010101 0100000000000000 0D9F279BA5D87260 0000000000000000
+08 0101010101010101 0101010101010101 0101010101010101 0080000000000000 D9031B0271BD5A0A 0000000000000000
+09 0101010101010101 0101010101010101 0101010101010101 0040000000000000 424250B37C3DD951 0000000000000000
+10 0101010101010101 0101010101010101 0101010101010101 0020000000000000 B8061B7ECD9A21E5 0000000000000000
+11 0101010101010101 0101010101010101 0101010101010101 0010000000000000 F15D0F286B65BD28 0000000000000000
+12 0101010101010101 0101010101010101 0101010101010101 0008000000000000 ADD0CC8D6E5DEBA1 0000000000000000
+13 0101010101010101 0101010101010101 0101010101010101 0004000000000000 E6D5F82752AD63D1 0000000000000000
+14 0101010101010101 0101010101010101 0101010101010101 0002000000000000 ECBFE3BD3F591A5E 0000000000000000
+15 0101010101010101 0101010101010101 0101010101010101 0001000000000000 F356834379D165CD 0000000000000000
+16 0101010101010101 0101010101010101 0101010101010101 0000800000000000 2B9F982F20037FA9 0000000000000000
+17 0101010101010101 0101010101010101 0101010101010101 0000400000000000 889DE068A16F0BE6 0000000000000000
+18 0101010101010101 0101010101010101 0101010101010101 0000200000000000 E19E275D846A1298 0000000000000000
+19 0101010101010101 0101010101010101 0101010101010101 0000100000000000 329A8ED523D71AEC 0000000000000000
+20 0101010101010101 0101010101010101 0101010101010101 0000080000000000 E7FCE22557D23C97 0000000000000000
+21 0101010101010101 0101010101010101 0101010101010101 0000040000000000 12A9F5817FF2D65D 0000000000000000
+22 0101010101010101 0101010101010101 0101010101010101 0000020000000000 A484C3AD38DC9C19 0000000000000000
+23 0101010101010101 0101010101010101 0101010101010101 0000010000000000 FBE00A8A1EF8AD72 0000000000000000
+24 0101010101010101 0101010101010101 0101010101010101 0000008000000000 750D079407521363 0000000000000000
+25 0101010101010101 0101010101010101 0101010101010101 0000004000000000 64FEED9C724C2FAF 0000000000000000
+26 0101010101010101 0101010101010101 0101010101010101 0000002000000000 F02B263B328E2B60 0000000000000000
+27 0101010101010101 0101010101010101 0101010101010101 0000001000000000 9D64555A9A10B852 0000000000000000
+28 0101010101010101 0101010101010101 0101010101010101 0000000800000000 D106FF0BED5255D7 0000000000000000
+29 0101010101010101 0101010101010101 0101010101010101 0000000400000000 E1652C6B138C64A5 0000000000000000
+30 0101010101010101 0101010101010101 0101010101010101 0000000200000000 E428581186EC8F46 0000000000000000
+31 0101010101010101 0101010101010101 0101010101010101 0000000100000000 AEB5F5EDE22D1A36 0000000000000000
+32 0101010101010101 0101010101010101 0101010101010101 0000000080000000 E943D7568AEC0C5C 0000000000000000
+33 0101010101010101 0101010101010101 0101010101010101 0000000040000000 DF98C8276F54B04B 0000000000000000
+34 0101010101010101 0101010101010101 0101010101010101 0000000020000000 B160E4680F6C696F 0000000000000000
+35 0101010101010101 0101010101010101 0101010101010101 0000000010000000 FA0752B07D9C4AB8 0000000000000000
+36 0101010101010101 0101010101010101 0101010101010101 0000000008000000 CA3A2B036DBC8502 0000000000000000
+37 0101010101010101 0101010101010101 0101010101010101 0000000004000000 5E0905517BB59BCF 0000000000000000
+38 0101010101010101 0101010101010101 0101010101010101 0000000002000000 814EEB3B91D90726 0000000000000000
+39 0101010101010101 0101010101010101 0101010101010101 0000000001000000 4D49DB1532919C9F 0000000000000000
+40 0101010101010101 0101010101010101 0101010101010101 0000000000800000 25EB5FC3F8CF0621 0000000000000000
+41 0101010101010101 0101010101010101 0101010101010101 0000000000400000 AB6A20C0620D1C6F 0000000000000000
+42 0101010101010101 0101010101010101 0101010101010101 0000000000200000 79E90DBC98F92CCA 0000000000000000
+43 0101010101010101 0101010101010101 0101010101010101 0000000000100000 866ECEDD8072BB0E 0000000000000000
+44 0101010101010101 0101010101010101 0101010101010101 0000000000080000 8B54536F2F3E64A8 0000000000000000
+45 0101010101010101 0101010101010101 0101010101010101 0000000000040000 EA51D3975595B86B 0000000000000000
+46 0101010101010101 0101010101010101 0101010101010101 0000000000020000 CAFFC6AC4542DE31 0000000000000000
+47 0101010101010101 0101010101010101 0101010101010101 0000000000010000 8DD45A2DDF90796C 0000000000000000
+48 0101010101010101 0101010101010101 0101010101010101 0000000000008000 1029D55E880EC2D0 0000000000000000
+49 0101010101010101 0101010101010101 0101010101010101 0000000000004000 5D86CB23639DBEA9 0000000000000000
+50 0101010101010101 0101010101010101 0101010101010101 0000000000002000 1D1CA853AE7C0C5F 0000000000000000
+51 0101010101010101 0101010101010101 0101010101010101 0000000000001000 CE332329248F3228 0000000000000000
+52 0101010101010101 0101010101010101 0101010101010101 0000000000000800 8405D1ABE24FB942 0000000000000000
+53 0101010101010101 0101010101010101 0101010101010101 0000000000000400 E643D78090CA4207 0000000000000000
+54 0101010101010101 0101010101010101 0101010101010101 0000000000000200 48221B9937748A23 0000000000000000
+55 0101010101010101 0101010101010101 0101010101010101 0000000000000100 DD7C0BBD61FAFD54 0000000000000000
+56 0101010101010101 0101010101010101 0101010101010101 0000000000000080 2FBC291A570DB5C4 0000000000000000
+57 0101010101010101 0101010101010101 0101010101010101 0000000000000040 E07C30D7E4E26E12 0000000000000000
+58 0101010101010101 0101010101010101 0101010101010101 0000000000000020 0953E2258E8E90A1 0000000000000000
+59 0101010101010101 0101010101010101 0101010101010101 0000000000000010 5B711BC4CEEBF2EE 0000000000000000
+60 0101010101010101 0101010101010101 0101010101010101 0000000000000008 CC083F1E6D9E85F6 0000000000000000
+61 0101010101010101 0101010101010101 0101010101010101 0000000000000004 D2FD8867D50D2DFE 0000000000000000
+62 0101010101010101 0101010101010101 0101010101010101 0000000000000002 06E7EA22CE92708F 0000000000000000
+63 0101010101010101 0101010101010101 0101010101010101 0000000000000001 166B40B44ABA4BD6 0000000000000000
++M Variable Key Known Answer Test
++C Key............. Plaintext....... Ciphertext......
+00 8001010101010101 8001010101010101 8001010101010101 0000000000000000 95A8D72813DAA94D 0000000000000000
+01 4001010101010101 4001010101010101 4001010101010101 0000000000000000 0EEC1487DD8C26D5 0000000000000000
+02 2001010101010101 2001010101010101 2001010101010101 0000000000000000 7AD16FFB79C45926 0000000000000000
+03 1001010101010101 1001010101010101 1001010101010101 0000000000000000 D3746294CA6A6CF3 0000000000000000
+04 0801010101010101 0801010101010101 0801010101010101 0000000000000000 809F5F873C1FD761 0000000000000000
+05 0401010101010101 0401010101010101 0401010101010101 0000000000000000 C02FAFFEC989D1FC 0000000000000000
+06 0201010101010101 0201010101010101 0201010101010101 0000000000000000 4615AA1D33E72F10 0000000000000000
+07 0180010101010101 0180010101010101 0180010101010101 0000000000000000 2055123350C00858 0000000000000000
+08 0140010101010101 0140010101010101 0140010101010101 0000000000000000 DF3B99D6577397C8 0000000000000000
+09 0120010101010101 0120010101010101 0120010101010101 0000000000000000 31FE17369B5288C9 0000000000000000
+10 0110010101010101 0110010101010101 0110010101010101 0000000000000000 DFDD3CC64DAE1642 0000000000000000
+11 0108010101010101 0108010101010101 0108010101010101 0000000000000000 178C83CE2B399D94 0000000000000000
+12 0104010101010101 0104010101010101 0104010101010101 0000000000000000 50F636324A9B7F80 0000000000000000
+13 0102010101010101 0102010101010101 0102010101010101 0000000000000000 A8468EE3BC18F06D 0000000000000000
+14 0101800101010101 0101800101010101 0101800101010101 0000000000000000 A2DC9E92FD3CDE92 0000000000000000
+15 0101400101010101 0101400101010101 0101400101010101 0000000000000000 CAC09F797D031287 0000000000000000
+16 0101200101010101 0101200101010101 0101200101010101 0000000000000000 90BA680B22AEB525 0000000000000000
+17 0101100101010101 0101100101010101 0101100101010101 0000000000000000 CE7A24F350E280B6 0000000000000000
+18 0101080101010101 0101080101010101 0101080101010101 0000000000000000 882BFF0AA01A0B87 0000000000000000
+19 0101040101010101 0101040101010101 0101040101010101 0000000000000000 25610288924511C2 0000000000000000
+20 0101020101010101 0101020101010101 0101020101010101 0000000000000000 C71516C29C75D170 0000000000000000
+21 0101018001010101 0101018001010101 0101018001010101 0000000000000000 5199C29A52C9F059 0000000000000000
+22 0101014001010101 0101014001010101 0101014001010101 0000000000000000 C22F0A294A71F29F 0000000000000000
+23 0101012001010101 0101012001010101 0101012001010101 0000000000000000 EE371483714C02EA 0000000000000000
+24 0101011001010101 0101011001010101 0101011001010101 0000000000000000 A81FBD448F9E522F 0000000000000000
+25 0101010801010101 0101010801010101 0101010801010101 0000000000000000 4F644C92E192DFED 0000000000000000
+26 0101010401010101 0101010401010101 0101010401010101 0000000000000000 1AFA9A66A6DF92AE 0000000000000000
+27 0101010201010101 0101010201010101 0101010201010101 0000000000000000 B3C1CC715CB879D8 0000000000000000
+28 0101010180010101 0101010180010101 0101010180010101 0000000000000000 19D032E64AB0BD8B 0000000000000000
+29 0101010140010101 0101010140010101 0101010140010101 0000000000000000 3CFAA7A7DC8720DC 0000000000000000
+30 0101010120010101 0101010120010101 0101010120010101 0000000000000000 B7265F7F447AC6F3 0000000000000000
+31 0101010110010101 0101010110010101 0101010110010101 0000000000000000 9DB73B3C0D163F54 0000000000000000
+32 0101010108010101 0101010108010101 0101010108010101 0000000000000000 8181B65BABF4A975 0000000000000000
+33 0101010104010101 0101010104010101 0101010104010101 0000000000000000 93C9B64042EAA240 0000000000000000
+34 0101010102010101 0101010102010101 0101010102010101 0000000000000000 5570530829705592 0000000000000000
+35 0101010101800101 0101010101800101 0101010101800101 0000000000000000 8638809E878787A0 0000000000000000
+36 0101010101400101 0101010101400101 0101010101400101 0000000000000000 41B9A79AF79AC208 0000000000000000
+37 0101010101200101 0101010101200101 0101010101200101 0000000000000000 7A9BE42F2009A892 0000000000000000
+38 0101010101100101 0101010101100101 0101010101100101 0000000000000000 29038D56BA6D2745 0000000000000000
+39 0101010101080101 0101010101080101 0101010101080101 0000000000000000 5495C6ABF1E5DF51 0000000000000000
+40 0101010101040101 0101010101040101 0101010101040101 0000000000000000 AE13DBD561488933 0000000000000000
+41 0101010101020101 0101010101020101 0101010101020101 0000000000000000 024D1FFA8904E389 0000000000000000
+42 0101010101018001 0101010101018001 0101010101018001 0000000000000000 D1399712F99BF02E 0000000000000000
+43 0101010101014001 0101010101014001 0101010101014001 0000000000000000 14C1D7C1CFFEC79E 0000000000000000
+44 0101010101012001 0101010101012001 0101010101012001 0000000000000000 1DE5279DAE3BED6F 0000000000000000
+45 0101010101011001 0101010101011001 0101010101011001 0000000000000000 E941A33F85501303 0000000000000000
+46 0101010101010801 0101010101010801 0101010101010801 0000000000000000 DA99DBBC9A03F379 0000000000000000
+47 0101010101010401 0101010101010401 0101010101010401 0000000000000000 B7FC92F91D8E92E9 0000000000000000
+48 0101010101010201 0101010101010201 0101010101010201 0000000000000000 AE8E5CAA3CA04E85 0000000000000000
+49 0101010101010180 0101010101010180 0101010101010180 0000000000000000 9CC62DF43B6EED74 0000000000000000
+50 0101010101010140 0101010101010140 0101010101010140 0000000000000000 D863DBB5C59A91A0 0000000000000000
+51 0101010101010120 0101010101010120 0101010101010120 0000000000000000 A1AB2190545B91D7 0000000000000000
+52 0101010101010110 0101010101010110 0101010101010110 0000000000000000 0875041E64C570F7 0000000000000000
+53 0101010101010108 0101010101010108 0101010101010108 0000000000000000 5A594528BEBEF1CC 0000000000000000
+54 0101010101010104 0101010101010104 0101010101010104 0000000000000000 FCDB3291DE21F0C0 0000000000000000
+55 0101010101010102 0101010101010102 0101010101010102 0000000000000000 869EFD7F9F265A09 0000000000000000
++M Permutation Operation Known Answer Test
++C Key............. Plaintext....... Ciphertext......
+00 1046913489980131 1046913489980131 1046913489980131 0000000000000000 88D55E54F54C97B4 0000000000000000
+01 1007103489988020 1007103489988020 1007103489988020 0000000000000000 0C0CC00C83EA48FD 0000000000000000
+02 10071034C8980120 10071034C8980120 10071034C8980120 0000000000000000 83BC8EF3A6570183 0000000000000000
+03 1046103489988020 1046103489988020 1046103489988020 0000000000000000 DF725DCAD94EA2E9 0000000000000000
+04 1086911519190101 1086911519190101 1086911519190101 0000000000000000 E652B53B550BE8B0 0000000000000000
+05 1086911519580101 1086911519580101 1086911519580101 0000000000000000 AF527120C485CBB0 0000000000000000
+06 5107B01519580101 5107B01519580101 5107B01519580101 0000000000000000 0F04CE393DB926D5 0000000000000000
+07 1007B01519190101 1007B01519190101 1007B01519190101 0000000000000000 C9F00FFC74079067 0000000000000000
+08 3107915498080101 3107915498080101 3107915498080101 0000000000000000 7CFD82A593252B4E 0000000000000000
+09 3107919498080101 3107919498080101 3107919498080101 0000000000000000 CB49A2F9E91363E3 0000000000000000
+10 10079115B9080140 10079115B9080140 10079115B9080140 0000000000000000 00B588BE70D23F56 0000000000000000
+11 3107911598080140 3107911598080140 3107911598080140 0000000000000000 406A9A6AB43399AE 0000000000000000
+12 1007D01589980101 1007D01589980101 1007D01589980101 0000000000000000 6CB773611DCA9ADA 0000000000000000
+13 9107911589980101 9107911589980101 9107911589980101 0000000000000000 67FD21C17DBB5D70 0000000000000000
+14 9107D01589190101 9107D01589190101 9107D01589190101 0000000000000000 9592CB4110430787 0000000000000000
+15 1007D01598980120 1007D01598980120 1007D01598980120 0000000000000000 A6B7FF68A318DDD3 0000000000000000
+16 1007940498190101 1007940498190101 1007940498190101 0000000000000000 4D102196C914CA16 0000000000000000
+17 0107910491190401 0107910491190401 0107910491190401 0000000000000000 2DFA9F4573594965 0000000000000000
+18 0107910491190101 0107910491190101 0107910491190101 0000000000000000 B46604816C0E0774 0000000000000000
+19 0107940491190401 0107940491190401 0107940491190401 0000000000000000 6E7E6221A4F34E87 0000000000000000
+20 19079210981A0101 19079210981A0101 19079210981A0101 0000000000000000 AA85E74643233199 0000000000000000
+21 1007911998190801 1007911998190801 1007911998190801 0000000000000000 2E5A19DB4D1962D6 0000000000000000
+22 10079119981A0801 10079119981A0801 10079119981A0801 0000000000000000 23A866A809D30894 0000000000000000
+23 1007921098190101 1007921098190101 1007921098190101 0000000000000000 D812D961F017D320 0000000000000000
+24 100791159819010B 100791159819010B 100791159819010B 0000000000000000 055605816E58608F 0000000000000000
+25 1004801598190101 1004801598190101 1004801598190101 0000000000000000 ABD88E8B1B7716F1 0000000000000000
+26 1004801598190102 1004801598190102 1004801598190102 0000000000000000 537AC95BE69DA1E1 0000000000000000
+27 1004801598190108 1004801598190108 1004801598190108 0000000000000000 AED0F6AE3C25CDD8 0000000000000000
+28 1002911598100104 1002911598100104 1002911598100104 0000000000000000 B3E35A5EE53E7B8D 0000000000000000
+29 1002911598190104 1002911598190104 1002911598190104 0000000000000000 61C79C71921A2EF8 0000000000000000
+30 1002911598100201 1002911598100201 1002911598100201 0000000000000000 E2F5728F0995013C 0000000000000000
+31 1002911698100101 1002911698100101 1002911698100101 0000000000000000 1AEAC39A61F0A464 0000000000000000
++M Substitution Table Known Answer Test 
++C Key............. Plaintext....... Ciphertext......
+00 7CA110454A1A6E57 7CA110454A1A6E57 7CA110454A1A6E57 01A1D6D039776742 690F5B0D9A26939B 0000000000000000
+01 0131D9619DC1376E 0131D9619DC1376E 0131D9619DC1376E 5CD54CA83DEF57DA 7A389D10354BD271 0000000000000000
+02 07A1133E4A0B2686 07A1133E4A0B2686 07A1133E4A0B2686 0248D43806F67172 868EBB51CAB4599A 0000000000000000
+03 3849674C2602319E 3849674C2602319E 3849674C2602319E 51454B582DDF440A 7178876E01F19B2A 0000000000000000
+04 04B915BA43FEB5B6 04B915BA43FEB5B6 04B915BA43FEB5B6 42FD443059577FA2 AF37FB421F8C4095 0000000000000000
+05 0113B970FD34F2CE 0113B970FD34F2CE 0113B970FD34F2CE 059B5E0851CF143A 86A560F10EC6D85B 0000000000000000
+06 0170F175468FB5E6 0170F175468FB5E6 0170F175468FB5E6 0756D8E0774761D2 0CD3DA020021DC09 0000000000000000
+07 43297FAD38E373FE 43297FAD38E373FE 43297FAD38E373FE 762514B829BF486A EA676B2CB7DB2B7A 0000000000000000
+08 07A7137045DA2A16 07A7137045DA2A16 07A7137045DA2A16 3BDD119049372802 DFD64A815CAF1A0F 0000000000000000
+09 04689104C2FD3B2F 04689104C2FD3B2F 04689104C2FD3B2F 26955F6835AF609A 5C513C9C4886C088 0000000000000000
+10 37D06BB516CB7546 37D06BB516CB7546 37D06BB516CB7546 164D5E404F275232 0A2AEEAE3FF4AB77 0000000000000000
+11 1F08260D1AC2465E 1F08260D1AC2465E 1F08260D1AC2465E 6B056E18759F5CCA EF1BF03E5DFA575A 0000000000000000
+12 584023641ABA6176 584023641ABA6176 584023641ABA6176 004BD6EF09176062 88BF0DB6D70DEE56 0000000000000000
+13 025816164629B007 025816164629B007 025816164629B007 480D39006EE762F2 A1F9915541020B56 0000000000000000
+14 49793EBC79B3258F 49793EBC79B3258F 49793EBC79B3258F 437540C8698F3CFA 6FBF1CAFCFFD0556 0000000000000000
+15 4FB05E1515AB73A7 4FB05E1515AB73A7 4FB05E1515AB73A7 072D43A077075292 2F22E49BAB7CA1AC 0000000000000000
+16 49E95D6D4CA229BF 49E95D6D4CA229BF 49E95D6D4CA229BF 02FE55778117F12A 5A6B612CC26CCE4A 0000000000000000
+17 018310DC409B26D6 018310DC409B26D6 018310DC409B26D6 1D9D5C5018F728C2 5F4C038ED12B2E41 0000000000000000
+18 1C587F1C13924FEF 1C587F1C13924FEF 1C587F1C13924FEF 305532286D6F295A 63FAC0D034D9F793 0000000000000000
++M BSafe tests - TV3CFPN2
++C These tests are for CFB 64bit pipelined
++C Dunno if these are relevant
++C +M This shows an IV problem?
++C 01 0123456789ABCDEF 23456789ABCDEF01 456789ABCDEF0123 0000000000055555 6E664F920A9DF1E4E570C563110DA5248AB3D43134FC9101FF8E23D1B73E30543DEAABACDD241043449EED61D7589148 4E6F77206973207468652074696D6520666F7220616C6C20676F6F64206D656E20746F20636F6D6520746F2074686520 
++M BSafe tests - TV3CFPS0
++C These tests are for CFB 8bit pipelined
++C Dunno if these are relevant
++C Not relevant!
++C 01 0123456789ABCDEF 23456789ABCDEF01 456789ABCDEF0123 0000000000055555 6EE29BF123180889FC4C 4E6F7720697320746865 
++M BSafe tests - TV3CFPS1
++C These tests are for CFB 1bit pipelined
++C Dunno if these are relevant (probably not!)
++C Not relevant!
++C 01 0123456789ABCDEF 23456789ABCDEF01 456789ABCDEF0123 0000000000055555 372CD5 4E6F77
++M BSafe tests - TV3DCFN2
++C These tests are for CFB 64 bit pipelined feedback
++C Dunno if they are relevant.
+01 0123456789ABCDEF 23456789ABCDEF01 456789ABCDEF0123 1234567890ABCDEF EE7EC75C1A101301C4AB2F10462E5DD417400B445B5F2A72 4E6F77206973207468652074696D6520666F7220616C6C20 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/trandom/testdata/3desecb.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,184 @@
++C Key1............ Key2............ Key3............ Plaintext....... Ciphertext......
++M Sample round
+01 10316E028C8F3B4A 10316E028C8F3B4A 10316E028C8F3B4A 0000000000000000 82DCBAFBDEAB6602
++M Variable Plaintext Known Answer Test
+00 0101010101010101 0101010101010101 0101010101010101 8000000000000000 95F8A5E5DD31D900
+01 0101010101010101 0101010101010101 0101010101010101 4000000000000000 DD7F121CA5015619
+02 0101010101010101 0101010101010101 0101010101010101 2000000000000000 2E8653104F3834EA
+03 0101010101010101 0101010101010101 0101010101010101 1000000000000000 4BD388FF6CD81D4F
+04 0101010101010101 0101010101010101 0101010101010101 0800000000000000 20B9E767B2FB1456
+05 0101010101010101 0101010101010101 0101010101010101 0400000000000000 55579380D77138EF
+06 0101010101010101 0101010101010101 0101010101010101 0200000000000000 6CC5DEFAAF04512F
+07 0101010101010101 0101010101010101 0101010101010101 0100000000000000 0D9F279BA5D87260
+08 0101010101010101 0101010101010101 0101010101010101 0080000000000000 D9031B0271BD5A0A
+09 0101010101010101 0101010101010101 0101010101010101 0040000000000000 424250B37C3DD951
+10 0101010101010101 0101010101010101 0101010101010101 0020000000000000 B8061B7ECD9A21E5
+11 0101010101010101 0101010101010101 0101010101010101 0010000000000000 F15D0F286B65BD28
+12 0101010101010101 0101010101010101 0101010101010101 0008000000000000 ADD0CC8D6E5DEBA1
+13 0101010101010101 0101010101010101 0101010101010101 0004000000000000 E6D5F82752AD63D1
+14 0101010101010101 0101010101010101 0101010101010101 0002000000000000 ECBFE3BD3F591A5E
+15 0101010101010101 0101010101010101 0101010101010101 0001000000000000 F356834379D165CD
+16 0101010101010101 0101010101010101 0101010101010101 0000800000000000 2B9F982F20037FA9
+17 0101010101010101 0101010101010101 0101010101010101 0000400000000000 889DE068A16F0BE6
+18 0101010101010101 0101010101010101 0101010101010101 0000200000000000 E19E275D846A1298
+19 0101010101010101 0101010101010101 0101010101010101 0000100000000000 329A8ED523D71AEC
+20 0101010101010101 0101010101010101 0101010101010101 0000080000000000 E7FCE22557D23C97
+21 0101010101010101 0101010101010101 0101010101010101 0000040000000000 12A9F5817FF2D65D
+22 0101010101010101 0101010101010101 0101010101010101 0000020000000000 A484C3AD38DC9C19
+23 0101010101010101 0101010101010101 0101010101010101 0000010000000000 FBE00A8A1EF8AD72
+24 0101010101010101 0101010101010101 0101010101010101 0000008000000000 750D079407521363
+25 0101010101010101 0101010101010101 0101010101010101 0000004000000000 64FEED9C724C2FAF
+26 0101010101010101 0101010101010101 0101010101010101 0000002000000000 F02B263B328E2B60
+27 0101010101010101 0101010101010101 0101010101010101 0000001000000000 9D64555A9A10B852
+28 0101010101010101 0101010101010101 0101010101010101 0000000800000000 D106FF0BED5255D7
+29 0101010101010101 0101010101010101 0101010101010101 0000000400000000 E1652C6B138C64A5
+30 0101010101010101 0101010101010101 0101010101010101 0000000200000000 E428581186EC8F46
+31 0101010101010101 0101010101010101 0101010101010101 0000000100000000 AEB5F5EDE22D1A36
+32 0101010101010101 0101010101010101 0101010101010101 0000000080000000 E943D7568AEC0C5C
+33 0101010101010101 0101010101010101 0101010101010101 0000000040000000 DF98C8276F54B04B
+34 0101010101010101 0101010101010101 0101010101010101 0000000020000000 B160E4680F6C696F
+35 0101010101010101 0101010101010101 0101010101010101 0000000010000000 FA0752B07D9C4AB8
+36 0101010101010101 0101010101010101 0101010101010101 0000000008000000 CA3A2B036DBC8502
+37 0101010101010101 0101010101010101 0101010101010101 0000000004000000 5E0905517BB59BCF
+38 0101010101010101 0101010101010101 0101010101010101 0000000002000000 814EEB3B91D90726
+39 0101010101010101 0101010101010101 0101010101010101 0000000001000000 4D49DB1532919C9F
+40 0101010101010101 0101010101010101 0101010101010101 0000000000800000 25EB5FC3F8CF0621
+41 0101010101010101 0101010101010101 0101010101010101 0000000000400000 AB6A20C0620D1C6F
+42 0101010101010101 0101010101010101 0101010101010101 0000000000200000 79E90DBC98F92CCA
+43 0101010101010101 0101010101010101 0101010101010101 0000000000100000 866ECEDD8072BB0E
+44 0101010101010101 0101010101010101 0101010101010101 0000000000080000 8B54536F2F3E64A8
+45 0101010101010101 0101010101010101 0101010101010101 0000000000040000 EA51D3975595B86B
+46 0101010101010101 0101010101010101 0101010101010101 0000000000020000 CAFFC6AC4542DE31
+47 0101010101010101 0101010101010101 0101010101010101 0000000000010000 8DD45A2DDF90796C
+48 0101010101010101 0101010101010101 0101010101010101 0000000000008000 1029D55E880EC2D0
+49 0101010101010101 0101010101010101 0101010101010101 0000000000004000 5D86CB23639DBEA9
+50 0101010101010101 0101010101010101 0101010101010101 0000000000002000 1D1CA853AE7C0C5F
+51 0101010101010101 0101010101010101 0101010101010101 0000000000001000 CE332329248F3228
+52 0101010101010101 0101010101010101 0101010101010101 0000000000000800 8405D1ABE24FB942
+53 0101010101010101 0101010101010101 0101010101010101 0000000000000400 E643D78090CA4207
+54 0101010101010101 0101010101010101 0101010101010101 0000000000000200 48221B9937748A23
+55 0101010101010101 0101010101010101 0101010101010101 0000000000000100 DD7C0BBD61FAFD54
+56 0101010101010101 0101010101010101 0101010101010101 0000000000000080 2FBC291A570DB5C4
+57 0101010101010101 0101010101010101 0101010101010101 0000000000000040 E07C30D7E4E26E12
+58 0101010101010101 0101010101010101 0101010101010101 0000000000000020 0953E2258E8E90A1
+59 0101010101010101 0101010101010101 0101010101010101 0000000000000010 5B711BC4CEEBF2EE
+60 0101010101010101 0101010101010101 0101010101010101 0000000000000008 CC083F1E6D9E85F6
+61 0101010101010101 0101010101010101 0101010101010101 0000000000000004 D2FD8867D50D2DFE
+62 0101010101010101 0101010101010101 0101010101010101 0000000000000002 06E7EA22CE92708F
+63 0101010101010101 0101010101010101 0101010101010101 0000000000000001 166B40B44ABA4BD6
++M Variable Key Known Answer Test
++C Key............. Plaintext....... Ciphertext......
+00 8001010101010101 8001010101010101 8001010101010101 0000000000000000 95A8D72813DAA94D
+01 4001010101010101 4001010101010101 4001010101010101 0000000000000000 0EEC1487DD8C26D5
+02 2001010101010101 2001010101010101 2001010101010101 0000000000000000 7AD16FFB79C45926
+03 1001010101010101 1001010101010101 1001010101010101 0000000000000000 D3746294CA6A6CF3
+04 0801010101010101 0801010101010101 0801010101010101 0000000000000000 809F5F873C1FD761
+05 0401010101010101 0401010101010101 0401010101010101 0000000000000000 C02FAFFEC989D1FC
+06 0201010101010101 0201010101010101 0201010101010101 0000000000000000 4615AA1D33E72F10
+07 0180010101010101 0180010101010101 0180010101010101 0000000000000000 2055123350C00858
+08 0140010101010101 0140010101010101 0140010101010101 0000000000000000 DF3B99D6577397C8
+09 0120010101010101 0120010101010101 0120010101010101 0000000000000000 31FE17369B5288C9
+10 0110010101010101 0110010101010101 0110010101010101 0000000000000000 DFDD3CC64DAE1642
+11 0108010101010101 0108010101010101 0108010101010101 0000000000000000 178C83CE2B399D94
+12 0104010101010101 0104010101010101 0104010101010101 0000000000000000 50F636324A9B7F80
+13 0102010101010101 0102010101010101 0102010101010101 0000000000000000 A8468EE3BC18F06D
+14 0101800101010101 0101800101010101 0101800101010101 0000000000000000 A2DC9E92FD3CDE92
+15 0101400101010101 0101400101010101 0101400101010101 0000000000000000 CAC09F797D031287
+16 0101200101010101 0101200101010101 0101200101010101 0000000000000000 90BA680B22AEB525
+17 0101100101010101 0101100101010101 0101100101010101 0000000000000000 CE7A24F350E280B6
+18 0101080101010101 0101080101010101 0101080101010101 0000000000000000 882BFF0AA01A0B87
+19 0101040101010101 0101040101010101 0101040101010101 0000000000000000 25610288924511C2
+20 0101020101010101 0101020101010101 0101020101010101 0000000000000000 C71516C29C75D170
+21 0101018001010101 0101018001010101 0101018001010101 0000000000000000 5199C29A52C9F059
+22 0101014001010101 0101014001010101 0101014001010101 0000000000000000 C22F0A294A71F29F
+23 0101012001010101 0101012001010101 0101012001010101 0000000000000000 EE371483714C02EA
+24 0101011001010101 0101011001010101 0101011001010101 0000000000000000 A81FBD448F9E522F
+25 0101010801010101 0101010801010101 0101010801010101 0000000000000000 4F644C92E192DFED
+26 0101010401010101 0101010401010101 0101010401010101 0000000000000000 1AFA9A66A6DF92AE
+27 0101010201010101 0101010201010101 0101010201010101 0000000000000000 B3C1CC715CB879D8
+28 0101010180010101 0101010180010101 0101010180010101 0000000000000000 19D032E64AB0BD8B
+29 0101010140010101 0101010140010101 0101010140010101 0000000000000000 3CFAA7A7DC8720DC
+30 0101010120010101 0101010120010101 0101010120010101 0000000000000000 B7265F7F447AC6F3
+31 0101010110010101 0101010110010101 0101010110010101 0000000000000000 9DB73B3C0D163F54
+32 0101010108010101 0101010108010101 0101010108010101 0000000000000000 8181B65BABF4A975
+33 0101010104010101 0101010104010101 0101010104010101 0000000000000000 93C9B64042EAA240
+34 0101010102010101 0101010102010101 0101010102010101 0000000000000000 5570530829705592
+35 0101010101800101 0101010101800101 0101010101800101 0000000000000000 8638809E878787A0
+36 0101010101400101 0101010101400101 0101010101400101 0000000000000000 41B9A79AF79AC208
+37 0101010101200101 0101010101200101 0101010101200101 0000000000000000 7A9BE42F2009A892
+38 0101010101100101 0101010101100101 0101010101100101 0000000000000000 29038D56BA6D2745
+39 0101010101080101 0101010101080101 0101010101080101 0000000000000000 5495C6ABF1E5DF51
+40 0101010101040101 0101010101040101 0101010101040101 0000000000000000 AE13DBD561488933
+41 0101010101020101 0101010101020101 0101010101020101 0000000000000000 024D1FFA8904E389
+42 0101010101018001 0101010101018001 0101010101018001 0000000000000000 D1399712F99BF02E
+43 0101010101014001 0101010101014001 0101010101014001 0000000000000000 14C1D7C1CFFEC79E
+44 0101010101012001 0101010101012001 0101010101012001 0000000000000000 1DE5279DAE3BED6F
+45 0101010101011001 0101010101011001 0101010101011001 0000000000000000 E941A33F85501303
+46 0101010101010801 0101010101010801 0101010101010801 0000000000000000 DA99DBBC9A03F379
+47 0101010101010401 0101010101010401 0101010101010401 0000000000000000 B7FC92F91D8E92E9
+48 0101010101010201 0101010101010201 0101010101010201 0000000000000000 AE8E5CAA3CA04E85
+49 0101010101010180 0101010101010180 0101010101010180 0000000000000000 9CC62DF43B6EED74
+50 0101010101010140 0101010101010140 0101010101010140 0000000000000000 D863DBB5C59A91A0
+51 0101010101010120 0101010101010120 0101010101010120 0000000000000000 A1AB2190545B91D7
+52 0101010101010110 0101010101010110 0101010101010110 0000000000000000 0875041E64C570F7
+53 0101010101010108 0101010101010108 0101010101010108 0000000000000000 5A594528BEBEF1CC
+54 0101010101010104 0101010101010104 0101010101010104 0000000000000000 FCDB3291DE21F0C0
+55 0101010101010102 0101010101010102 0101010101010102 0000000000000000 869EFD7F9F265A09
++M Permutation Operation Known Answer Test
++C Key............. Plaintext....... Ciphertext......
+00 1046913489980131 1046913489980131 1046913489980131 0000000000000000 88D55E54F54C97B4
+01 1007103489988020 1007103489988020 1007103489988020 0000000000000000 0C0CC00C83EA48FD
+02 10071034C8980120 10071034C8980120 10071034C8980120 0000000000000000 83BC8EF3A6570183
+03 1046103489988020 1046103489988020 1046103489988020 0000000000000000 DF725DCAD94EA2E9
+04 1086911519190101 1086911519190101 1086911519190101 0000000000000000 E652B53B550BE8B0
+05 1086911519580101 1086911519580101 1086911519580101 0000000000000000 AF527120C485CBB0
+06 5107B01519580101 5107B01519580101 5107B01519580101 0000000000000000 0F04CE393DB926D5
+07 1007B01519190101 1007B01519190101 1007B01519190101 0000000000000000 C9F00FFC74079067
+08 3107915498080101 3107915498080101 3107915498080101 0000000000000000 7CFD82A593252B4E
+09 3107919498080101 3107919498080101 3107919498080101 0000000000000000 CB49A2F9E91363E3
+10 10079115B9080140 10079115B9080140 10079115B9080140 0000000000000000 00B588BE70D23F56
+11 3107911598080140 3107911598080140 3107911598080140 0000000000000000 406A9A6AB43399AE
+12 1007D01589980101 1007D01589980101 1007D01589980101 0000000000000000 6CB773611DCA9ADA
+13 9107911589980101 9107911589980101 9107911589980101 0000000000000000 67FD21C17DBB5D70
+14 9107D01589190101 9107D01589190101 9107D01589190101 0000000000000000 9592CB4110430787
+15 1007D01598980120 1007D01598980120 1007D01598980120 0000000000000000 A6B7FF68A318DDD3
+16 1007940498190101 1007940498190101 1007940498190101 0000000000000000 4D102196C914CA16
+17 0107910491190401 0107910491190401 0107910491190401 0000000000000000 2DFA9F4573594965
+18 0107910491190101 0107910491190101 0107910491190101 0000000000000000 B46604816C0E0774
+19 0107940491190401 0107940491190401 0107940491190401 0000000000000000 6E7E6221A4F34E87
+20 19079210981A0101 19079210981A0101 19079210981A0101 0000000000000000 AA85E74643233199
+21 1007911998190801 1007911998190801 1007911998190801 0000000000000000 2E5A19DB4D1962D6
+22 10079119981A0801 10079119981A0801 10079119981A0801 0000000000000000 23A866A809D30894
+23 1007921098190101 1007921098190101 1007921098190101 0000000000000000 D812D961F017D320
+24 100791159819010B 100791159819010B 100791159819010B 0000000000000000 055605816E58608F
+25 1004801598190101 1004801598190101 1004801598190101 0000000000000000 ABD88E8B1B7716F1
+26 1004801598190102 1004801598190102 1004801598190102 0000000000000000 537AC95BE69DA1E1
+27 1004801598190108 1004801598190108 1004801598190108 0000000000000000 AED0F6AE3C25CDD8
+28 1002911598100104 1002911598100104 1002911598100104 0000000000000000 B3E35A5EE53E7B8D
+29 1002911598190104 1002911598190104 1002911598190104 0000000000000000 61C79C71921A2EF8
+30 1002911598100201 1002911598100201 1002911598100201 0000000000000000 E2F5728F0995013C
+31 1002911698100101 1002911698100101 1002911698100101 0000000000000000 1AEAC39A61F0A464
++M Substitution Table Known Answer Test
++C Key............. Plaintext....... Ciphertext......
+00 7CA110454A1A6E57 7CA110454A1A6E57 7CA110454A1A6E57 01A1D6D039776742 690F5B0D9A26939B
+01 0131D9619DC1376E 0131D9619DC1376E 0131D9619DC1376E 5CD54CA83DEF57DA 7A389D10354BD271
+02 07A1133E4A0B2686 07A1133E4A0B2686 07A1133E4A0B2686 0248D43806F67172 868EBB51CAB4599A
+03 3849674C2602319E 3849674C2602319E 3849674C2602319E 51454B582DDF440A 7178876E01F19B2A
+04 04B915BA43FEB5B6 04B915BA43FEB5B6 04B915BA43FEB5B6 42FD443059577FA2 AF37FB421F8C4095
+05 0113B970FD34F2CE 0113B970FD34F2CE 0113B970FD34F2CE 059B5E0851CF143A 86A560F10EC6D85B
+06 0170F175468FB5E6 0170F175468FB5E6 0170F175468FB5E6 0756D8E0774761D2 0CD3DA020021DC09
+07 43297FAD38E373FE 43297FAD38E373FE 43297FAD38E373FE 762514B829BF486A EA676B2CB7DB2B7A
+08 07A7137045DA2A16 07A7137045DA2A16 07A7137045DA2A16 3BDD119049372802 DFD64A815CAF1A0F
+09 04689104C2FD3B2F 04689104C2FD3B2F 04689104C2FD3B2F 26955F6835AF609A 5C513C9C4886C088
+10 37D06BB516CB7546 37D06BB516CB7546 37D06BB516CB7546 164D5E404F275232 0A2AEEAE3FF4AB77
+11 1F08260D1AC2465E 1F08260D1AC2465E 1F08260D1AC2465E 6B056E18759F5CCA EF1BF03E5DFA575A
+12 584023641ABA6176 584023641ABA6176 584023641ABA6176 004BD6EF09176062 88BF0DB6D70DEE56
+13 025816164629B007 025816164629B007 025816164629B007 480D39006EE762F2 A1F9915541020B56
+14 49793EBC79B3258F 49793EBC79B3258F 49793EBC79B3258F 437540C8698F3CFA 6FBF1CAFCFFD0556
+15 4FB05E1515AB73A7 4FB05E1515AB73A7 4FB05E1515AB73A7 072D43A077075292 2F22E49BAB7CA1AC
+16 49E95D6D4CA229BF 49E95D6D4CA229BF 49E95D6D4CA229BF 02FE55778117F12A 5A6B612CC26CCE4A
+17 018310DC409B26D6 018310DC409B26D6 018310DC409B26D6 1D9D5C5018F728C2 5F4C038ED12B2E41
+18 1C587F1C13924FEF 1C587F1C13924FEF 1C587F1C13924FEF 305532286D6F295A 63FAC0D034D9F793
++M BSafe test - TV3DECN0
++C Vectors extracted from X9.52
+01 0123456789ABCDEF 23456789ABCDEF01 456789ABCDEF0123 4E6F77206973207468652074696D6520666F7220616C6C20 314F8327FA7A09A84362760CC13BA7DAFF55C5F80FAAAC45
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/trandom/testdata/3desofb.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,188 @@
++C Key............. IV.............. Ciphertext...... Plaintext....... 
++M Sample round
+01 10316E028C8F3B4A 10316E028C8F3B4A 10316E028C8F3B4A 0000000000000000 82DCBAFBDEAB6602 0000000000000000
++M Variable Plaintext Known Answer Test
+00 0101010101010101 0101010101010101 0101010101010101 8000000000000000 95F8A5E5DD31D900 0000000000000000
+01 0101010101010101 0101010101010101 0101010101010101 4000000000000000 DD7F121CA5015619 0000000000000000
+02 0101010101010101 0101010101010101 0101010101010101 2000000000000000 2E8653104F3834EA 0000000000000000
+03 0101010101010101 0101010101010101 0101010101010101 1000000000000000 4BD388FF6CD81D4F 0000000000000000
+04 0101010101010101 0101010101010101 0101010101010101 0800000000000000 20B9E767B2FB1456 0000000000000000
+05 0101010101010101 0101010101010101 0101010101010101 0400000000000000 55579380D77138EF 0000000000000000
+06 0101010101010101 0101010101010101 0101010101010101 0200000000000000 6CC5DEFAAF04512F 0000000000000000
+07 0101010101010101 0101010101010101 0101010101010101 0100000000000000 0D9F279BA5D87260 0000000000000000
+08 0101010101010101 0101010101010101 0101010101010101 0080000000000000 D9031B0271BD5A0A 0000000000000000
+09 0101010101010101 0101010101010101 0101010101010101 0040000000000000 424250B37C3DD951 0000000000000000
+10 0101010101010101 0101010101010101 0101010101010101 0020000000000000 B8061B7ECD9A21E5 0000000000000000
+11 0101010101010101 0101010101010101 0101010101010101 0010000000000000 F15D0F286B65BD28 0000000000000000
+12 0101010101010101 0101010101010101 0101010101010101 0008000000000000 ADD0CC8D6E5DEBA1 0000000000000000
+13 0101010101010101 0101010101010101 0101010101010101 0004000000000000 E6D5F82752AD63D1 0000000000000000
+14 0101010101010101 0101010101010101 0101010101010101 0002000000000000 ECBFE3BD3F591A5E 0000000000000000
+15 0101010101010101 0101010101010101 0101010101010101 0001000000000000 F356834379D165CD 0000000000000000
+16 0101010101010101 0101010101010101 0101010101010101 0000800000000000 2B9F982F20037FA9 0000000000000000
+17 0101010101010101 0101010101010101 0101010101010101 0000400000000000 889DE068A16F0BE6 0000000000000000
+18 0101010101010101 0101010101010101 0101010101010101 0000200000000000 E19E275D846A1298 0000000000000000
+19 0101010101010101 0101010101010101 0101010101010101 0000100000000000 329A8ED523D71AEC 0000000000000000
+20 0101010101010101 0101010101010101 0101010101010101 0000080000000000 E7FCE22557D23C97 0000000000000000
+21 0101010101010101 0101010101010101 0101010101010101 0000040000000000 12A9F5817FF2D65D 0000000000000000
+22 0101010101010101 0101010101010101 0101010101010101 0000020000000000 A484C3AD38DC9C19 0000000000000000
+23 0101010101010101 0101010101010101 0101010101010101 0000010000000000 FBE00A8A1EF8AD72 0000000000000000
+24 0101010101010101 0101010101010101 0101010101010101 0000008000000000 750D079407521363 0000000000000000
+25 0101010101010101 0101010101010101 0101010101010101 0000004000000000 64FEED9C724C2FAF 0000000000000000
+26 0101010101010101 0101010101010101 0101010101010101 0000002000000000 F02B263B328E2B60 0000000000000000
+27 0101010101010101 0101010101010101 0101010101010101 0000001000000000 9D64555A9A10B852 0000000000000000
+28 0101010101010101 0101010101010101 0101010101010101 0000000800000000 D106FF0BED5255D7 0000000000000000
+29 0101010101010101 0101010101010101 0101010101010101 0000000400000000 E1652C6B138C64A5 0000000000000000
+30 0101010101010101 0101010101010101 0101010101010101 0000000200000000 E428581186EC8F46 0000000000000000
+31 0101010101010101 0101010101010101 0101010101010101 0000000100000000 AEB5F5EDE22D1A36 0000000000000000
+32 0101010101010101 0101010101010101 0101010101010101 0000000080000000 E943D7568AEC0C5C 0000000000000000
+33 0101010101010101 0101010101010101 0101010101010101 0000000040000000 DF98C8276F54B04B 0000000000000000
+34 0101010101010101 0101010101010101 0101010101010101 0000000020000000 B160E4680F6C696F 0000000000000000
+35 0101010101010101 0101010101010101 0101010101010101 0000000010000000 FA0752B07D9C4AB8 0000000000000000
+36 0101010101010101 0101010101010101 0101010101010101 0000000008000000 CA3A2B036DBC8502 0000000000000000
+37 0101010101010101 0101010101010101 0101010101010101 0000000004000000 5E0905517BB59BCF 0000000000000000
+38 0101010101010101 0101010101010101 0101010101010101 0000000002000000 814EEB3B91D90726 0000000000000000
+39 0101010101010101 0101010101010101 0101010101010101 0000000001000000 4D49DB1532919C9F 0000000000000000
+40 0101010101010101 0101010101010101 0101010101010101 0000000000800000 25EB5FC3F8CF0621 0000000000000000
+41 0101010101010101 0101010101010101 0101010101010101 0000000000400000 AB6A20C0620D1C6F 0000000000000000
+42 0101010101010101 0101010101010101 0101010101010101 0000000000200000 79E90DBC98F92CCA 0000000000000000
+43 0101010101010101 0101010101010101 0101010101010101 0000000000100000 866ECEDD8072BB0E 0000000000000000
+44 0101010101010101 0101010101010101 0101010101010101 0000000000080000 8B54536F2F3E64A8 0000000000000000
+45 0101010101010101 0101010101010101 0101010101010101 0000000000040000 EA51D3975595B86B 0000000000000000
+46 0101010101010101 0101010101010101 0101010101010101 0000000000020000 CAFFC6AC4542DE31 0000000000000000
+47 0101010101010101 0101010101010101 0101010101010101 0000000000010000 8DD45A2DDF90796C 0000000000000000
+48 0101010101010101 0101010101010101 0101010101010101 0000000000008000 1029D55E880EC2D0 0000000000000000
+49 0101010101010101 0101010101010101 0101010101010101 0000000000004000 5D86CB23639DBEA9 0000000000000000
+50 0101010101010101 0101010101010101 0101010101010101 0000000000002000 1D1CA853AE7C0C5F 0000000000000000
+51 0101010101010101 0101010101010101 0101010101010101 0000000000001000 CE332329248F3228 0000000000000000
+52 0101010101010101 0101010101010101 0101010101010101 0000000000000800 8405D1ABE24FB942 0000000000000000
+53 0101010101010101 0101010101010101 0101010101010101 0000000000000400 E643D78090CA4207 0000000000000000
+54 0101010101010101 0101010101010101 0101010101010101 0000000000000200 48221B9937748A23 0000000000000000
+55 0101010101010101 0101010101010101 0101010101010101 0000000000000100 DD7C0BBD61FAFD54 0000000000000000
+56 0101010101010101 0101010101010101 0101010101010101 0000000000000080 2FBC291A570DB5C4 0000000000000000
+57 0101010101010101 0101010101010101 0101010101010101 0000000000000040 E07C30D7E4E26E12 0000000000000000
+58 0101010101010101 0101010101010101 0101010101010101 0000000000000020 0953E2258E8E90A1 0000000000000000
+59 0101010101010101 0101010101010101 0101010101010101 0000000000000010 5B711BC4CEEBF2EE 0000000000000000
+60 0101010101010101 0101010101010101 0101010101010101 0000000000000008 CC083F1E6D9E85F6 0000000000000000
+61 0101010101010101 0101010101010101 0101010101010101 0000000000000004 D2FD8867D50D2DFE 0000000000000000
+62 0101010101010101 0101010101010101 0101010101010101 0000000000000002 06E7EA22CE92708F 0000000000000000
+63 0101010101010101 0101010101010101 0101010101010101 0000000000000001 166B40B44ABA4BD6 0000000000000000
++M Variable Key Known Answer Test
++C Key............. Plaintext....... Ciphertext......
+00 8001010101010101 8001010101010101 8001010101010101 0000000000000000 95A8D72813DAA94D 0000000000000000
+01 4001010101010101 4001010101010101 4001010101010101 0000000000000000 0EEC1487DD8C26D5 0000000000000000
+02 2001010101010101 2001010101010101 2001010101010101 0000000000000000 7AD16FFB79C45926 0000000000000000
+03 1001010101010101 1001010101010101 1001010101010101 0000000000000000 D3746294CA6A6CF3 0000000000000000
+04 0801010101010101 0801010101010101 0801010101010101 0000000000000000 809F5F873C1FD761 0000000000000000
+05 0401010101010101 0401010101010101 0401010101010101 0000000000000000 C02FAFFEC989D1FC 0000000000000000
+06 0201010101010101 0201010101010101 0201010101010101 0000000000000000 4615AA1D33E72F10 0000000000000000
+07 0180010101010101 0180010101010101 0180010101010101 0000000000000000 2055123350C00858 0000000000000000
+08 0140010101010101 0140010101010101 0140010101010101 0000000000000000 DF3B99D6577397C8 0000000000000000
+09 0120010101010101 0120010101010101 0120010101010101 0000000000000000 31FE17369B5288C9 0000000000000000
+10 0110010101010101 0110010101010101 0110010101010101 0000000000000000 DFDD3CC64DAE1642 0000000000000000
+11 0108010101010101 0108010101010101 0108010101010101 0000000000000000 178C83CE2B399D94 0000000000000000
+12 0104010101010101 0104010101010101 0104010101010101 0000000000000000 50F636324A9B7F80 0000000000000000
+13 0102010101010101 0102010101010101 0102010101010101 0000000000000000 A8468EE3BC18F06D 0000000000000000
+14 0101800101010101 0101800101010101 0101800101010101 0000000000000000 A2DC9E92FD3CDE92 0000000000000000
+15 0101400101010101 0101400101010101 0101400101010101 0000000000000000 CAC09F797D031287 0000000000000000
+16 0101200101010101 0101200101010101 0101200101010101 0000000000000000 90BA680B22AEB525 0000000000000000
+17 0101100101010101 0101100101010101 0101100101010101 0000000000000000 CE7A24F350E280B6 0000000000000000
+18 0101080101010101 0101080101010101 0101080101010101 0000000000000000 882BFF0AA01A0B87 0000000000000000
+19 0101040101010101 0101040101010101 0101040101010101 0000000000000000 25610288924511C2 0000000000000000
+20 0101020101010101 0101020101010101 0101020101010101 0000000000000000 C71516C29C75D170 0000000000000000
+21 0101018001010101 0101018001010101 0101018001010101 0000000000000000 5199C29A52C9F059 0000000000000000
+22 0101014001010101 0101014001010101 0101014001010101 0000000000000000 C22F0A294A71F29F 0000000000000000
+23 0101012001010101 0101012001010101 0101012001010101 0000000000000000 EE371483714C02EA 0000000000000000
+24 0101011001010101 0101011001010101 0101011001010101 0000000000000000 A81FBD448F9E522F 0000000000000000
+25 0101010801010101 0101010801010101 0101010801010101 0000000000000000 4F644C92E192DFED 0000000000000000
+26 0101010401010101 0101010401010101 0101010401010101 0000000000000000 1AFA9A66A6DF92AE 0000000000000000
+27 0101010201010101 0101010201010101 0101010201010101 0000000000000000 B3C1CC715CB879D8 0000000000000000
+28 0101010180010101 0101010180010101 0101010180010101 0000000000000000 19D032E64AB0BD8B 0000000000000000
+29 0101010140010101 0101010140010101 0101010140010101 0000000000000000 3CFAA7A7DC8720DC 0000000000000000
+30 0101010120010101 0101010120010101 0101010120010101 0000000000000000 B7265F7F447AC6F3 0000000000000000
+31 0101010110010101 0101010110010101 0101010110010101 0000000000000000 9DB73B3C0D163F54 0000000000000000
+32 0101010108010101 0101010108010101 0101010108010101 0000000000000000 8181B65BABF4A975 0000000000000000
+33 0101010104010101 0101010104010101 0101010104010101 0000000000000000 93C9B64042EAA240 0000000000000000
+34 0101010102010101 0101010102010101 0101010102010101 0000000000000000 5570530829705592 0000000000000000
+35 0101010101800101 0101010101800101 0101010101800101 0000000000000000 8638809E878787A0 0000000000000000
+36 0101010101400101 0101010101400101 0101010101400101 0000000000000000 41B9A79AF79AC208 0000000000000000
+37 0101010101200101 0101010101200101 0101010101200101 0000000000000000 7A9BE42F2009A892 0000000000000000
+38 0101010101100101 0101010101100101 0101010101100101 0000000000000000 29038D56BA6D2745 0000000000000000
+39 0101010101080101 0101010101080101 0101010101080101 0000000000000000 5495C6ABF1E5DF51 0000000000000000
+40 0101010101040101 0101010101040101 0101010101040101 0000000000000000 AE13DBD561488933 0000000000000000
+41 0101010101020101 0101010101020101 0101010101020101 0000000000000000 024D1FFA8904E389 0000000000000000
+42 0101010101018001 0101010101018001 0101010101018001 0000000000000000 D1399712F99BF02E 0000000000000000
+43 0101010101014001 0101010101014001 0101010101014001 0000000000000000 14C1D7C1CFFEC79E 0000000000000000
+44 0101010101012001 0101010101012001 0101010101012001 0000000000000000 1DE5279DAE3BED6F 0000000000000000
+45 0101010101011001 0101010101011001 0101010101011001 0000000000000000 E941A33F85501303 0000000000000000
+46 0101010101010801 0101010101010801 0101010101010801 0000000000000000 DA99DBBC9A03F379 0000000000000000
+47 0101010101010401 0101010101010401 0101010101010401 0000000000000000 B7FC92F91D8E92E9 0000000000000000
+48 0101010101010201 0101010101010201 0101010101010201 0000000000000000 AE8E5CAA3CA04E85 0000000000000000
+49 0101010101010180 0101010101010180 0101010101010180 0000000000000000 9CC62DF43B6EED74 0000000000000000
+50 0101010101010140 0101010101010140 0101010101010140 0000000000000000 D863DBB5C59A91A0 0000000000000000
+51 0101010101010120 0101010101010120 0101010101010120 0000000000000000 A1AB2190545B91D7 0000000000000000
+52 0101010101010110 0101010101010110 0101010101010110 0000000000000000 0875041E64C570F7 0000000000000000
+53 0101010101010108 0101010101010108 0101010101010108 0000000000000000 5A594528BEBEF1CC 0000000000000000
+54 0101010101010104 0101010101010104 0101010101010104 0000000000000000 FCDB3291DE21F0C0 0000000000000000
+55 0101010101010102 0101010101010102 0101010101010102 0000000000000000 869EFD7F9F265A09 0000000000000000
++M Permutation Operation Known Answer Test
++C Key............. Plaintext....... Ciphertext......
+00 1046913489980131 1046913489980131 1046913489980131 0000000000000000 88D55E54F54C97B4 0000000000000000
+01 1007103489988020 1007103489988020 1007103489988020 0000000000000000 0C0CC00C83EA48FD 0000000000000000
+02 10071034C8980120 10071034C8980120 10071034C8980120 0000000000000000 83BC8EF3A6570183 0000000000000000
+03 1046103489988020 1046103489988020 1046103489988020 0000000000000000 DF725DCAD94EA2E9 0000000000000000
+04 1086911519190101 1086911519190101 1086911519190101 0000000000000000 E652B53B550BE8B0 0000000000000000
+05 1086911519580101 1086911519580101 1086911519580101 0000000000000000 AF527120C485CBB0 0000000000000000
+06 5107B01519580101 5107B01519580101 5107B01519580101 0000000000000000 0F04CE393DB926D5 0000000000000000
+07 1007B01519190101 1007B01519190101 1007B01519190101 0000000000000000 C9F00FFC74079067 0000000000000000
+08 3107915498080101 3107915498080101 3107915498080101 0000000000000000 7CFD82A593252B4E 0000000000000000
+09 3107919498080101 3107919498080101 3107919498080101 0000000000000000 CB49A2F9E91363E3 0000000000000000
+10 10079115B9080140 10079115B9080140 10079115B9080140 0000000000000000 00B588BE70D23F56 0000000000000000
+11 3107911598080140 3107911598080140 3107911598080140 0000000000000000 406A9A6AB43399AE 0000000000000000
+12 1007D01589980101 1007D01589980101 1007D01589980101 0000000000000000 6CB773611DCA9ADA 0000000000000000
+13 9107911589980101 9107911589980101 9107911589980101 0000000000000000 67FD21C17DBB5D70 0000000000000000
+14 9107D01589190101 9107D01589190101 9107D01589190101 0000000000000000 9592CB4110430787 0000000000000000
+15 1007D01598980120 1007D01598980120 1007D01598980120 0000000000000000 A6B7FF68A318DDD3 0000000000000000
+16 1007940498190101 1007940498190101 1007940498190101 0000000000000000 4D102196C914CA16 0000000000000000
+17 0107910491190401 0107910491190401 0107910491190401 0000000000000000 2DFA9F4573594965 0000000000000000
+18 0107910491190101 0107910491190101 0107910491190101 0000000000000000 B46604816C0E0774 0000000000000000
+19 0107940491190401 0107940491190401 0107940491190401 0000000000000000 6E7E6221A4F34E87 0000000000000000
+20 19079210981A0101 19079210981A0101 19079210981A0101 0000000000000000 AA85E74643233199 0000000000000000
+21 1007911998190801 1007911998190801 1007911998190801 0000000000000000 2E5A19DB4D1962D6 0000000000000000
+22 10079119981A0801 10079119981A0801 10079119981A0801 0000000000000000 23A866A809D30894 0000000000000000
+23 1007921098190101 1007921098190101 1007921098190101 0000000000000000 D812D961F017D320 0000000000000000
+24 100791159819010B 100791159819010B 100791159819010B 0000000000000000 055605816E58608F 0000000000000000
+25 1004801598190101 1004801598190101 1004801598190101 0000000000000000 ABD88E8B1B7716F1 0000000000000000
+26 1004801598190102 1004801598190102 1004801598190102 0000000000000000 537AC95BE69DA1E1 0000000000000000
+27 1004801598190108 1004801598190108 1004801598190108 0000000000000000 AED0F6AE3C25CDD8 0000000000000000
+28 1002911598100104 1002911598100104 1002911598100104 0000000000000000 B3E35A5EE53E7B8D 0000000000000000
+29 1002911598190104 1002911598190104 1002911598190104 0000000000000000 61C79C71921A2EF8 0000000000000000
+30 1002911598100201 1002911598100201 1002911598100201 0000000000000000 E2F5728F0995013C 0000000000000000
+31 1002911698100101 1002911698100101 1002911698100101 0000000000000000 1AEAC39A61F0A464 0000000000000000
++M Substitution Table Known Answer Test 
++C Key............. Plaintext....... Ciphertext......
+00 7CA110454A1A6E57 7CA110454A1A6E57 7CA110454A1A6E57 01A1D6D039776742 690F5B0D9A26939B 0000000000000000
+01 0131D9619DC1376E 0131D9619DC1376E 0131D9619DC1376E 5CD54CA83DEF57DA 7A389D10354BD271 0000000000000000
+02 07A1133E4A0B2686 07A1133E4A0B2686 07A1133E4A0B2686 0248D43806F67172 868EBB51CAB4599A 0000000000000000
+03 3849674C2602319E 3849674C2602319E 3849674C2602319E 51454B582DDF440A 7178876E01F19B2A 0000000000000000
+04 04B915BA43FEB5B6 04B915BA43FEB5B6 04B915BA43FEB5B6 42FD443059577FA2 AF37FB421F8C4095 0000000000000000
+05 0113B970FD34F2CE 0113B970FD34F2CE 0113B970FD34F2CE 059B5E0851CF143A 86A560F10EC6D85B 0000000000000000
+06 0170F175468FB5E6 0170F175468FB5E6 0170F175468FB5E6 0756D8E0774761D2 0CD3DA020021DC09 0000000000000000
+07 43297FAD38E373FE 43297FAD38E373FE 43297FAD38E373FE 762514B829BF486A EA676B2CB7DB2B7A 0000000000000000
+08 07A7137045DA2A16 07A7137045DA2A16 07A7137045DA2A16 3BDD119049372802 DFD64A815CAF1A0F 0000000000000000
+09 04689104C2FD3B2F 04689104C2FD3B2F 04689104C2FD3B2F 26955F6835AF609A 5C513C9C4886C088 0000000000000000
+10 37D06BB516CB7546 37D06BB516CB7546 37D06BB516CB7546 164D5E404F275232 0A2AEEAE3FF4AB77 0000000000000000
+11 1F08260D1AC2465E 1F08260D1AC2465E 1F08260D1AC2465E 6B056E18759F5CCA EF1BF03E5DFA575A 0000000000000000
+12 584023641ABA6176 584023641ABA6176 584023641ABA6176 004BD6EF09176062 88BF0DB6D70DEE56 0000000000000000
+13 025816164629B007 025816164629B007 025816164629B007 480D39006EE762F2 A1F9915541020B56 0000000000000000
+14 49793EBC79B3258F 49793EBC79B3258F 49793EBC79B3258F 437540C8698F3CFA 6FBF1CAFCFFD0556 0000000000000000
+15 4FB05E1515AB73A7 4FB05E1515AB73A7 4FB05E1515AB73A7 072D43A077075292 2F22E49BAB7CA1AC 0000000000000000
+16 49E95D6D4CA229BF 49E95D6D4CA229BF 49E95D6D4CA229BF 02FE55778117F12A 5A6B612CC26CCE4A 0000000000000000
+17 018310DC409B26D6 018310DC409B26D6 018310DC409B26D6 1D9D5C5018F728C2 5F4C038ED12B2E41 0000000000000000
+18 1C587F1C13924FEF 1C587F1C13924FEF 1C587F1C13924FEF 305532286D6F295A 63FAC0D034D9F793 0000000000000000
++M BSafe tests - TV3DOFP0
++C These tests are for OFB pipelined
++C Dunno if they are relevant.
++C +M Another IV problem?
++C 01 0123456789ABCDEF 23456789ABCDEF01 456789ABCDEF0123 0000000000055555 6E664F920A9DF1E4E570C563110DA5248AB3D43134FC9101B73C082134D1CE8139F838BBCD2D99AA9EB49AFAA8699D8C 4E6F77206973207468652074696D6520666F7220616C6C20676F6F64206D656E20746F20636F6D6520746F2074686520 
++M BSafe tests - TV3OFBN0
+01 0123456789ABCDEF 23456789ABCDEF01 456789ABCDEF0123 1234567890ABCDEF EE7EC75C1A1013019A8A610002668E0787E28AF9EC26B889 4E6F77206973207468652074696D6520666F7220616C6C20 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/trandom/testdata/bsafetest.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,94 @@
++C This file contains the script for bsafe test vectors
++C The format is:
++C AlgorithmType TestType Algorithm (Variant) (File)
++C 
++C Where:
++C AlgorithmType is Symmetric, Asymmetric or Padding
++C TestType is Function, Vector, OOM, Error, Performance, Problem or UnfixedProblem
++C Algorithm is DES, RC2, RC4, RSA etc 
++C Variant (where applicable) is CFB, OFB, CBC or ECB
++C File is the name of the file where the known vectors can be found
++C
++M Test case: TV111300
++M   Tests AI_RFC1113Recode
++M   Not relevant, this defines base-64 encoding and decoding tests.
++C
++M Test case: TVDHKA01
++M   Tests Diffie-Hellman Key Agreement
++C
++M Test case: TVDHKA02
++M   Tests Diffie-Hellman Key Agreement
++C
++M Test case: TVDHKA03
++M   Tests Diffie-Hellman Key Agreement
++C
++M Test case: TVDHKA04
++M   Tests Diffie-Hellman Key Agreement
++C
++M Test case: TVDHKA05
++M   Tests Diffie-Hellman Key Agreement
++C
++M Test case: TVDHKA06
++M   Tests Diffie-Hellman Key Agreement
++C
++M Test case: TVDHKA07
++M   Tests Diffie-Hellman Key Agreement
++C
++M Test case: TVDHKA08
++M   Tests Diffie-Hellman Key Agreement
++C
++M Test case: TVDHKA09
++M   Tests Diffie-Hellman Key Agreement
++C
++M Test case: TVDHKA10
++M   Tests Diffie-Hellman Key Agreement
++C
++M Test case: TVDHKA11
++M   Tests Diffie-Hellman Key Agreement
++C
++M Test case: TVDHKA12
++M   Tests Diffie-Hellman Key Agreement
++C
++M Test case: TVDHKA13
++M   Tests Diffie-Hellman Key Agreement
++C
++M Test case: TVHMCMD5
++M   Tests HMAC with MD5
++C Key.......................... Data............ Result..........................
+0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b 4869205468657265 9294727a3638bb1c13f48ef8158bfc9d
++C
++M Test case: TVMD2R00
++M   Tests MD2 based random number generator
++M   Not relevant, this defines random number generator tests.
++C
++M Test case: TVMD2RX0
++M   Tests MD2 based random number generator
++M   Not relevant, this defines random number generator tests.
++C
++M Test case: TVMD5R00
++M   Tests MD5 based random number generator
++M   Not relevant, this defines random number generator tests.
++C
++M Test case: TVMD5RX0
++M   Tests MD5 based random number generator
++M   Not relevant, this defines random number generator tests.
++C
++M Test case: TVOAEP01
++M   Tests OAEP padding.
++M   Not relevant, this defines padding tests for unimplemented padding.
++C
++M Test case: TVOAEP02
++M   Tests OAEP padding.
++M   Not relevant, this defines padding tests for unimplemented padding.
++C
++M Test case: TVOAEP03
++M   Tests OAEP padding.
++M   Not relevant, this defines padding tests for unimplemented padding.
++C
++M Test case: TVRC4MAC
++M   Tests RC4 with MAC.
++M   Not relevant, this defines RC4 with MAC tests - an unimplemented algorithm.
++C
++M Test case: TVRKG931
++M   Tests RSA private key generation.
++M   Not relevant, this defines RSA private key generation tests.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/trandom/testdata/des.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,23 @@
++C This file contains the central script for DES test vectors
++C The format is:
++C AlgorithmType TestType Algorithm (Variant) (File)
++C 
++C Where:
++C AlgorithmType is Symmetric, Asymmetric or Padding
++C TestType is Function, Vector, OOM, Error, Performance, Problem or UnfixedProblem
++C Algorithm is DES, RC2, RC4, RSA etc 
++C Variant (where applicable) is CFB, OFB, CBC or ECB
++C File is the name of the file where the known vectors can be found
++C
+Symmetric Vector DES ECB DESECB.DAT
+Symmetric Vector DES CBC DESCBC.DAT
+Symmetric Vector DES OFB DESOFB.DAT
+Symmetric Vector DES CFB DESCFB.DAT
+Symmetric Vector 3DES2 ECB DESECB.DAT
+Symmetric Vector 3DES2 CBC DESCBC.DAT
+Symmetric Vector 3DES2 OFB DESOFB.DAT
+Symmetric Vector 3DES2 CFB DESCFB.DAT
+Symmetric Vector 3DES3 ECB DESECB.DAT
+Symmetric Vector 3DES3 CBC DESCBC.DAT
+Symmetric Vector 3DES3 OFB DESOFB.DAT
+Symmetric Vector 3DES3 CFB DESCFB.DAT
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/trandom/testdata/descbc.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,298 @@
++C Key............. Plaintext....... Ciphertext...... IV..............
++M Current error:
+01 2814B6BB4B0C59B3 1400000C207D982368387F6F737D7FD46EB15EE08DBA43C7D65957A9DBE0CC38642E2CE403030303 1ED349248400C27F61AEDA41B9788D0A12643D4A3925B15E59E0C4DF530E2E21C5DB08260A1DEE55 B3C7EA550015EDEC
++M Sample round
+01 10316E028C8F3B4A 0000000000000000 82DCBAFBDEAB6602 0000000000000000
++M Variable Plaintext Known Answer Test
+00 0101010101010101 8000000000000000 95F8A5E5DD31D900 0000000000000000
+01 0101010101010101 4000000000000000 DD7F121CA5015619 0000000000000000
+02 0101010101010101 2000000000000000 2E8653104F3834EA 0000000000000000
+03 0101010101010101 1000000000000000 4BD388FF6CD81D4F 0000000000000000
+04 0101010101010101 0800000000000000 20B9E767B2FB1456 0000000000000000
+05 0101010101010101 0400000000000000 55579380D77138EF 0000000000000000
+06 0101010101010101 0200000000000000 6CC5DEFAAF04512F 0000000000000000
+07 0101010101010101 0100000000000000 0D9F279BA5D87260 0000000000000000
+08 0101010101010101 0080000000000000 D9031B0271BD5A0A 0000000000000000
+09 0101010101010101 0040000000000000 424250B37C3DD951 0000000000000000
+10 0101010101010101 0020000000000000 B8061B7ECD9A21E5 0000000000000000
+11 0101010101010101 0010000000000000 F15D0F286B65BD28 0000000000000000
+12 0101010101010101 0008000000000000 ADD0CC8D6E5DEBA1 0000000000000000
+13 0101010101010101 0004000000000000 E6D5F82752AD63D1 0000000000000000
+14 0101010101010101 0002000000000000 ECBFE3BD3F591A5E 0000000000000000
+15 0101010101010101 0001000000000000 F356834379D165CD 0000000000000000
+16 0101010101010101 0000800000000000 2B9F982F20037FA9 0000000000000000
+17 0101010101010101 0000400000000000 889DE068A16F0BE6 0000000000000000
+18 0101010101010101 0000200000000000 E19E275D846A1298 0000000000000000
+19 0101010101010101 0000100000000000 329A8ED523D71AEC 0000000000000000
+20 0101010101010101 0000080000000000 E7FCE22557D23C97 0000000000000000
+21 0101010101010101 0000040000000000 12A9F5817FF2D65D 0000000000000000
+22 0101010101010101 0000020000000000 A484C3AD38DC9C19 0000000000000000
+23 0101010101010101 0000010000000000 FBE00A8A1EF8AD72 0000000000000000
+24 0101010101010101 0000008000000000 750D079407521363 0000000000000000
+25 0101010101010101 0000004000000000 64FEED9C724C2FAF 0000000000000000
+26 0101010101010101 0000002000000000 F02B263B328E2B60 0000000000000000
+27 0101010101010101 0000001000000000 9D64555A9A10B852 0000000000000000
+28 0101010101010101 0000000800000000 D106FF0BED5255D7 0000000000000000
+29 0101010101010101 0000000400000000 E1652C6B138C64A5 0000000000000000
+30 0101010101010101 0000000200000000 E428581186EC8F46 0000000000000000
+31 0101010101010101 0000000100000000 AEB5F5EDE22D1A36 0000000000000000
+32 0101010101010101 0000000080000000 E943D7568AEC0C5C 0000000000000000
+33 0101010101010101 0000000040000000 DF98C8276F54B04B 0000000000000000
+34 0101010101010101 0000000020000000 B160E4680F6C696F 0000000000000000
+35 0101010101010101 0000000010000000 FA0752B07D9C4AB8 0000000000000000
+36 0101010101010101 0000000008000000 CA3A2B036DBC8502 0000000000000000
+37 0101010101010101 0000000004000000 5E0905517BB59BCF 0000000000000000
+38 0101010101010101 0000000002000000 814EEB3B91D90726 0000000000000000
+39 0101010101010101 0000000001000000 4D49DB1532919C9F 0000000000000000
+40 0101010101010101 0000000000800000 25EB5FC3F8CF0621 0000000000000000
+41 0101010101010101 0000000000400000 AB6A20C0620D1C6F 0000000000000000
+42 0101010101010101 0000000000200000 79E90DBC98F92CCA 0000000000000000
+43 0101010101010101 0000000000100000 866ECEDD8072BB0E 0000000000000000
+44 0101010101010101 0000000000080000 8B54536F2F3E64A8 0000000000000000
+45 0101010101010101 0000000000040000 EA51D3975595B86B 0000000000000000
+46 0101010101010101 0000000000020000 CAFFC6AC4542DE31 0000000000000000
+47 0101010101010101 0000000000010000 8DD45A2DDF90796C 0000000000000000
+48 0101010101010101 0000000000008000 1029D55E880EC2D0 0000000000000000
+49 0101010101010101 0000000000004000 5D86CB23639DBEA9 0000000000000000
+50 0101010101010101 0000000000002000 1D1CA853AE7C0C5F 0000000000000000
+51 0101010101010101 0000000000001000 CE332329248F3228 0000000000000000
+52 0101010101010101 0000000000000800 8405D1ABE24FB942 0000000000000000
+53 0101010101010101 0000000000000400 E643D78090CA4207 0000000000000000
+54 0101010101010101 0000000000000200 48221B9937748A23 0000000000000000
+55 0101010101010101 0000000000000100 DD7C0BBD61FAFD54 0000000000000000
+56 0101010101010101 0000000000000080 2FBC291A570DB5C4 0000000000000000
+57 0101010101010101 0000000000000040 E07C30D7E4E26E12 0000000000000000
+58 0101010101010101 0000000000000020 0953E2258E8E90A1 0000000000000000
+59 0101010101010101 0000000000000010 5B711BC4CEEBF2EE 0000000000000000
+60 0101010101010101 0000000000000008 CC083F1E6D9E85F6 0000000000000000
+61 0101010101010101 0000000000000004 D2FD8867D50D2DFE 0000000000000000
+62 0101010101010101 0000000000000002 06E7EA22CE92708F 0000000000000000
+63 0101010101010101 0000000000000001 166B40B44ABA4BD6 0000000000000000
++M Variable Key Known Answer Test
++C Key............. Plaintext....... Ciphertext......
+00 8001010101010101 0000000000000000 95A8D72813DAA94D 0000000000000000
+01 4001010101010101 0000000000000000 0EEC1487DD8C26D5 0000000000000000
+02 2001010101010101 0000000000000000 7AD16FFB79C45926 0000000000000000
+03 1001010101010101 0000000000000000 D3746294CA6A6CF3 0000000000000000
+04 0801010101010101 0000000000000000 809F5F873C1FD761 0000000000000000
+05 0401010101010101 0000000000000000 C02FAFFEC989D1FC 0000000000000000
+06 0201010101010101 0000000000000000 4615AA1D33E72F10 0000000000000000
+07 0180010101010101 0000000000000000 2055123350C00858 0000000000000000
+08 0140010101010101 0000000000000000 DF3B99D6577397C8 0000000000000000
+09 0120010101010101 0000000000000000 31FE17369B5288C9 0000000000000000
+10 0110010101010101 0000000000000000 DFDD3CC64DAE1642 0000000000000000
+11 0108010101010101 0000000000000000 178C83CE2B399D94 0000000000000000
+12 0104010101010101 0000000000000000 50F636324A9B7F80 0000000000000000
+13 0102010101010101 0000000000000000 A8468EE3BC18F06D 0000000000000000
+14 0101800101010101 0000000000000000 A2DC9E92FD3CDE92 0000000000000000
+15 0101400101010101 0000000000000000 CAC09F797D031287 0000000000000000
+16 0101200101010101 0000000000000000 90BA680B22AEB525 0000000000000000
+17 0101100101010101 0000000000000000 CE7A24F350E280B6 0000000000000000
+18 0101080101010101 0000000000000000 882BFF0AA01A0B87 0000000000000000
+19 0101040101010101 0000000000000000 25610288924511C2 0000000000000000
+20 0101020101010101 0000000000000000 C71516C29C75D170 0000000000000000
+21 0101018001010101 0000000000000000 5199C29A52C9F059 0000000000000000
+22 0101014001010101 0000000000000000 C22F0A294A71F29F 0000000000000000
+23 0101012001010101 0000000000000000 EE371483714C02EA 0000000000000000
+24 0101011001010101 0000000000000000 A81FBD448F9E522F 0000000000000000
+25 0101010801010101 0000000000000000 4F644C92E192DFED 0000000000000000
+26 0101010401010101 0000000000000000 1AFA9A66A6DF92AE 0000000000000000
+27 0101010201010101 0000000000000000 B3C1CC715CB879D8 0000000000000000
+28 0101010180010101 0000000000000000 19D032E64AB0BD8B 0000000000000000
+29 0101010140010101 0000000000000000 3CFAA7A7DC8720DC 0000000000000000
+30 0101010120010101 0000000000000000 B7265F7F447AC6F3 0000000000000000
+31 0101010110010101 0000000000000000 9DB73B3C0D163F54 0000000000000000
+32 0101010108010101 0000000000000000 8181B65BABF4A975 0000000000000000
+33 0101010104010101 0000000000000000 93C9B64042EAA240 0000000000000000
+34 0101010102010101 0000000000000000 5570530829705592 0000000000000000
+35 0101010101800101 0000000000000000 8638809E878787A0 0000000000000000
+36 0101010101400101 0000000000000000 41B9A79AF79AC208 0000000000000000
+37 0101010101200101 0000000000000000 7A9BE42F2009A892 0000000000000000
+38 0101010101100101 0000000000000000 29038D56BA6D2745 0000000000000000
+39 0101010101080101 0000000000000000 5495C6ABF1E5DF51 0000000000000000
+40 0101010101040101 0000000000000000 AE13DBD561488933 0000000000000000
+41 0101010101020101 0000000000000000 024D1FFA8904E389 0000000000000000
+42 0101010101018001 0000000000000000 D1399712F99BF02E 0000000000000000
+43 0101010101014001 0000000000000000 14C1D7C1CFFEC79E 0000000000000000
+44 0101010101012001 0000000000000000 1DE5279DAE3BED6F 0000000000000000
+45 0101010101011001 0000000000000000 E941A33F85501303 0000000000000000
+46 0101010101010801 0000000000000000 DA99DBBC9A03F379 0000000000000000
+47 0101010101010401 0000000000000000 B7FC92F91D8E92E9 0000000000000000
+48 0101010101010201 0000000000000000 AE8E5CAA3CA04E85 0000000000000000
+49 0101010101010180 0000000000000000 9CC62DF43B6EED74 0000000000000000
+50 0101010101010140 0000000000000000 D863DBB5C59A91A0 0000000000000000
+51 0101010101010120 0000000000000000 A1AB2190545B91D7 0000000000000000
+52 0101010101010110 0000000000000000 0875041E64C570F7 0000000000000000
+53 0101010101010108 0000000000000000 5A594528BEBEF1CC 0000000000000000
+54 0101010101010104 0000000000000000 FCDB3291DE21F0C0 0000000000000000
+55 0101010101010102 0000000000000000 869EFD7F9F265A09 0000000000000000
++M Permutation Operation Known Answer Test
++C Key............. Plaintext....... Ciphertext......
+00 1046913489980131 0000000000000000 88D55E54F54C97B4 0000000000000000
+01 1007103489988020 0000000000000000 0C0CC00C83EA48FD 0000000000000000
+02 10071034C8980120 0000000000000000 83BC8EF3A6570183 0000000000000000
+03 1046103489988020 0000000000000000 DF725DCAD94EA2E9 0000000000000000
+04 1086911519190101 0000000000000000 E652B53B550BE8B0 0000000000000000
+05 1086911519580101 0000000000000000 AF527120C485CBB0 0000000000000000
+06 5107B01519580101 0000000000000000 0F04CE393DB926D5 0000000000000000
+07 1007B01519190101 0000000000000000 C9F00FFC74079067 0000000000000000
+08 3107915498080101 0000000000000000 7CFD82A593252B4E 0000000000000000
+09 3107919498080101 0000000000000000 CB49A2F9E91363E3 0000000000000000
+10 10079115B9080140 0000000000000000 00B588BE70D23F56 0000000000000000
+11 3107911598080140 0000000000000000 406A9A6AB43399AE 0000000000000000
+12 1007D01589980101 0000000000000000 6CB773611DCA9ADA 0000000000000000
+13 9107911589980101 0000000000000000 67FD21C17DBB5D70 0000000000000000
+14 9107D01589190101 0000000000000000 9592CB4110430787 0000000000000000
+15 1007D01598980120 0000000000000000 A6B7FF68A318DDD3 0000000000000000
+16 1007940498190101 0000000000000000 4D102196C914CA16 0000000000000000
+17 0107910491190401 0000000000000000 2DFA9F4573594965 0000000000000000
+18 0107910491190101 0000000000000000 B46604816C0E0774 0000000000000000
+19 0107940491190401 0000000000000000 6E7E6221A4F34E87 0000000000000000
+20 19079210981A0101 0000000000000000 AA85E74643233199 0000000000000000
+21 1007911998190801 0000000000000000 2E5A19DB4D1962D6 0000000000000000
+22 10079119981A0801 0000000000000000 23A866A809D30894 0000000000000000
+23 1007921098190101 0000000000000000 D812D961F017D320 0000000000000000
+24 100791159819010B 0000000000000000 055605816E58608F 0000000000000000
+25 1004801598190101 0000000000000000 ABD88E8B1B7716F1 0000000000000000
+26 1004801598190102 0000000000000000 537AC95BE69DA1E1 0000000000000000
+27 1004801598190108 0000000000000000 AED0F6AE3C25CDD8 0000000000000000
+28 1002911598100104 0000000000000000 B3E35A5EE53E7B8D 0000000000000000
+29 1002911598190104 0000000000000000 61C79C71921A2EF8 0000000000000000
+30 1002911598100201 0000000000000000 E2F5728F0995013C 0000000000000000
+31 1002911698100101 0000000000000000 1AEAC39A61F0A464 0000000000000000
++M Substitution Table Known Answer Test 
++C Key............. Plaintext....... Ciphertext......
+00 7CA110454A1A6E57 01A1D6D039776742 690F5B0D9A26939B 0000000000000000
+01 0131D9619DC1376E 5CD54CA83DEF57DA 7A389D10354BD271 0000000000000000
+02 07A1133E4A0B2686 0248D43806F67172 868EBB51CAB4599A 0000000000000000
+03 3849674C2602319E 51454B582DDF440A 7178876E01F19B2A 0000000000000000
+04 04B915BA43FEB5B6 42FD443059577FA2 AF37FB421F8C4095 0000000000000000
+05 0113B970FD34F2CE 059B5E0851CF143A 86A560F10EC6D85B 0000000000000000
+06 0170F175468FB5E6 0756D8E0774761D2 0CD3DA020021DC09 0000000000000000
+07 43297FAD38E373FE 762514B829BF486A EA676B2CB7DB2B7A 0000000000000000
+08 07A7137045DA2A16 3BDD119049372802 DFD64A815CAF1A0F 0000000000000000
+09 04689104C2FD3B2F 26955F6835AF609A 5C513C9C4886C088 0000000000000000
+10 37D06BB516CB7546 164D5E404F275232 0A2AEEAE3FF4AB77 0000000000000000
+11 1F08260D1AC2465E 6B056E18759F5CCA EF1BF03E5DFA575A 0000000000000000
+12 584023641ABA6176 004BD6EF09176062 88BF0DB6D70DEE56 0000000000000000
+13 025816164629B007 480D39006EE762F2 A1F9915541020B56 0000000000000000
+14 49793EBC79B3258F 437540C8698F3CFA 6FBF1CAFCFFD0556 0000000000000000
+15 4FB05E1515AB73A7 072D43A077075292 2F22E49BAB7CA1AC 0000000000000000
+16 49E95D6D4CA229BF 02FE55778117F12A 5A6B612CC26CCE4A 0000000000000000
+17 018310DC409B26D6 1D9D5C5018F728C2 5F4C038ED12B2E41 0000000000000000
+18 1C587F1C13924FEF 305532286D6F295A 63FAC0D034D9F793 0000000000000000
++M BSafe tests TVDSCBP0
++C Key............. Plaintext....... Ciphertext......
+01 0123456789ABCDEF 6789ABCDEF012345 FC624960B90F7A7D 00000000EFAB23EF
++C There is another test in this test case but I'm not sure I understand it...
+02 0123456789ABCDEF 010203040506070809101112131415160808080808080808 67D89FDD4DB55CDFE7886E07EBD3B3DF47D8B20E93909B58 00000000EFAB23EF
+03 0123456789ABCDEF 01020304050607080910111213141501 67D89FDD4DB55CDFF52A136D17A87E8F 00000000EFAB23EF
+04 0123456789ABCDEF 01020304050607080910111213140202 67D89FDD4DB55CDF9FF22B5301F5BA69 00000000EFAB23EF
+05 0123456789ABCDEF 01020304050607080910111213030303 67D89FDD4DB55CDF7AC916277CC636EF 00000000EFAB23EF
+06 0123456789ABCDEF 01020304050607080910111204040404 67D89FDD4DB55CDFE204DB2A32A7B8C8 00000000EFAB23EF
+07 0123456789ABCDEF 01020304050607080910110505050505 67D89FDD4DB55CDF287F784D76357583 00000000EFAB23EF
+08 0123456789ABCDEF 01020304050607080910060606060606 67D89FDD4DB55CDF4C58EA5623CD0B5B 00000000EFAB23EF
+09 0123456789ABCDEF 01020304050607080907070707070707 67D89FDD4DB55CDFD784A16124DF7747 00000000EFAB23EF
+10 0123456789ABCDEF 01020304050607080808080808080808 67D89FDD4DB55CDF9A19483ADB5C2975 00000000EFAB23EF
+11 0123456789ABCDEF 0102030405060701 977C3A184FA1E78D 00000000EFAB23EF
+12 0123456789ABCDEF 0102030405060202 D1AEE6C6FAE1828B 00000000EFAB23EF
+13 0123456789ABCDEF 0102030405030303 A5EF9A711DE975CA 00000000EFAB23EF
+14 0123456789ABCDEF 0102030404040404 A429C178F9A65553 00000000EFAB23EF
+15 0123456789ABCDEF 0102030505050505 B53A1C038D1B89CD 00000000EFAB23EF
+16 0123456789ABCDEF 0102060606060606 0D00D9D7CA3C98A4 00000000EFAB23EF
+17 0123456789ABCDEF 0107070707070707 C3F1BA84FB6E4664 00000000EFAB23EF
+18 0123456789ABCDEF 0808080808080808 D470869B58D76FAD 00000000EFAB23EF
++M BSafe tests TFCIV800
++C Case 1
++C This kinda misses the point of the test outlined in the RSA document
++C but it will do no harm to test these numbers anyway...
++C Their test is designed to test the setting and resetting of the IV on
++C a created key object, that should probably form part of the test code
++C and doesn't really fit in this kind of crude test script.
+01 1234567890123456 000102030405060708091011121314151617181920212223 5363CDC050BC40E578A1F1C5C3B8D9E39960A03EC7DED8EF 0011223344556677
+02 1234567890123456 000102030405060708091011121314151617181920212223 EE213F0EB081E4F0DFFBFF5462293364779769731295AA59 7766554433221100
++C 03 1234567890123456 000102030405060708091011121314151617181920212223301106052B0E03020704087766554433221100 EE213F0EB081E4F0DFFBFF5462293364779769731295AA591301F0C351157311 7766554433221100
++C 04 1234567890123456 000102030405060708091011121314151617181920212223301106052B0E03020704087766554433221100 5363CDC050BC40E578A1F1C5C3B8D9E39960A03EC7DED8EF4256B062C4DD9FDE 0011223344556677
++M BSafe test TFDESC00
++C This test should test intermediate blocking...
++C Key............. Plaintext....... Ciphertext......
+01 0123456789ABCDEF 1110010110010100 17668DFC7292532D 0001101001101011
+02 0123456789ABCDEF 88BCA90E90875A7F 7B9A60072946F295 456789ABCDEF0123
++C 03 0123456789ABCDEF 0F79C384627BAFB2 75D6C6AC805C5A23 456789ABCDEF0123
++C 04 0123456789ABCDEF 16F80A6F85920584 0D91B1830C8D1142 456789ABCDEF0123
++C 05 0123456789ABCDEF 1122334455667788 0E75051BB4870F36 456789ABCDEF0123
++C 06 0123456789ABCDEF 1122334455667788AA11223344556677 0E75051BB4870F36DEC089C77D3D3BA3 456789ABCDEF0123
+07 0123456789ABCDEF 1122334455667788AA1122334455667788AA112233445566 0E75051BB4870F36DEC089C77D3D3BA3AFFD94870F492273 456789ABCDEF0123
++C 08 0123456789ABCDEF 1122334455667788 BA3A677D27E39FEB 456789ABCDEF0123
++C 09 0123456789ABCDEF 1122334455667788AA11223344556677 BA3A677D27E39FEB433C6D6B428A430A 456789ABCDEF0123
++C 10 0123456789ABCDEF 1122334455667788AA1122334455667788AA112233445566 BA3A677D27E39FEB433C6D6B428A430AA2ECC6CBBA99F6E3 456789ABCDEF0123
++M BSafe test TFDESC01
++C this test covers a number of different blocking scenarios, they're not really relevant
++M BSafe test TFDESC02
++C This test includes vectors already included in TVDSCBP0
++M Bsafe test - TVDS3C00
+01 FEDCBA9876543210 0123456789ABCDEF ED39D950FA74BCC4 0000000000000000
+02 7CA110454A1A6E57 01A1D6D039776742 690F5B0D9A26939B 0000000000000000
++M Problem report EDNPGAL-4H9K4G
+01 2814B6BB4B0C59B3 1400000C207D982368387F6F737D7FD46EB15EE08DBA43C7D65957A9DBE0CC38642E2CE403030303 1ED349248400C27F61AEDA41B9788D0A12643D4A3925B15E59E0C4DF530E2E21C5DB08260A1DEE55 B3C7EA550015EDEC
+02 CEB8483AF483D7E0 1400000CDA43EE9DFD89B6CD2269C3E72675C92B267427257F0FDD42515EBE611F44FEC003030303 F9CDE248D0E2AB0BF73FA984E5D072496C5BC442CD18BB1D1DB6768C45E9EFCB6F4A13D512A5A62C A5212A20FD0DA44F
++M BSafe test - TVDES101
+01 0123456789ABCDEF 6789ABCDEF012345 753016DE2F239D93 0000000000000000
+02 0123456789ABCDEF 6789ABCDEF0123450808080808080808 753016DE2F239D9324F13C63A5C4B43F 0000000000000000
+03 0123456789ABCDEF 010203040506070809101112131415160808080808080808 E68F791BAB16D4E63F14635B44DDDD93DBC4565943176B63 0000000000000000
+04 0123456789ABCDEF 01020304050607080910111213141501 E68F791BAB16D4E6CE9C520AE5C59BEE 0000000000000000
+05 0123456789ABCDEF 01020304050607080910111213140202 E68F791BAB16D4E64C3143FA858D570A 0000000000000000
+06 0123456789ABCDEF 01020304050607080910111213030303 E68F791BAB16D4E6028EB48443CAFD5C 0000000000000000
+07 0123456789ABCDEF 01020304050607080910111204040404 E68F791BAB16D4E6557CFD5B4E9B04FE 0000000000000000
+08 0123456789ABCDEF 01020304050607080910110505050505 E68F791BAB16D4E68AE23A9DDBEB105E 0000000000000000
+09 0123456789ABCDEF 01020304050607080910060606060606 E68F791BAB16D4E66C6A5DDFE5281FBB 0000000000000000
+10 0123456789ABCDEF 01020304050607080907070707070707 E68F791BAB16D4E6A1D8BDD18E03ADA1 0000000000000000
+11 0123456789ABCDEF 01020304050607080808080808080808 E68F791BAB16D4E60E5940AE3E4ADFE4 0000000000000000
+12 0123456789ABCDEF 0102030405060701 DF2458C7395177E0 0000000000000000
+13 0123456789ABCDEF 0102030405060202 2E43C041BD6550B6 0000000000000000
+14 0123456789ABCDEF 0102030405030303 A5480DDE17504CA1 0000000000000000
+15 0123456789ABCDEF 0102030404040404 EFBAAD6414727499 0000000000000000
+16 0123456789ABCDEF 0102030505050505 98C640C8AADF724E 0000000000000000
+17 0123456789ABCDEF 0102060606060606 473FDEDE878C9542 0000000000000000
+18 0123456789ABCDEF 0107070707070707 F2AB1C9E707DCC92 0000000000000000
+19 0123456789ABCDEF 0808080808080808 086F9A1D74C94D4E 0000000000000000
++M BSafe test - TVDES102
+01 0123456789ABCDEF 6789ABCDEF012345 753016DE2F239D93 0000000000000000
+02 0123456789ABCDEF 6789ABCDEF012345030303C29E83F1E0 753016DE2F239D933CC9307C475E9E13 0000000000000000
+03 0123456789ABCDEF 01020304050607080910111213141516030303FC25672FFD E68F791BAB16D4E63F14635B44DDDD935BAEDF6CB59B9B7A 0000000000000000
+04 0123456789ABCDEF 01020304050607080910111213141504040404FC376028FA E68F791BAB16D4E63DA6882D8AD4B04E889F7364C41D2590 0000000000000000
+05 0123456789ABCDEF 01020304050607080910111213140505050505EC36612948 E68F791BAB16D4E6F5B704DC0C54D1809E3BB6125A10731D 0000000000000000
+06 0123456789ABCDEF 01020304050607080910111213060606060606EF3562321C E68F791BAB16D4E630DD4864C3D1F24B2659ABBCAF8C4E0F 0000000000000000
+07 0123456789ABCDEF 01020304050607080910111207070707070707EE346E581D E68F791BAB16D4E621910AAF609E1897D5E1095B33FDFA36 0000000000000000
+08 0123456789ABCDEF 01020304050607080910110808080808080808E143655712 E68F791BAB16D4E6DEB681133527F065007686EEB3DAC45A 0000000000000000
+09 0123456789ABCDEF 0102030405060708091001512219F51E E68F791BAB16D4E60B40D8A42A323B36 0000000000000000
+10 0123456789ABCDEF 0102030405060708090202512219E71D E68F791BAB16D4E632685F3B1C5FEF10 0000000000000000
+11 0123456789ABCDEF 0102030405060708030303512213E61C E68F791BAB16D4E6060CE6B7659E1587 0000000000000000
+12 0123456789ABCDEF 0102030405060704040404512E14E11B 16C1BFBAD83789A006D367DAC1C82582 0000000000000000
+13 0123456789ABCDEF 0102030405060505050505532F15E05B 7153288EA2931B6A19CDD2612B9BEC36 0000000000000000
+14 0123456789ABCDEF 0102030405060606060606502C16E3AB 972DAF48242E2231FA94CA92E0E3C065 0000000000000000
+15 0123456789ABCDEF 0102030407070707070707512D43C5AA C231688E85A483C7A8C3C6D4734A9A68 0000000000000000
+16 0123456789ABCDEF 01020308080808080808085E9489CAA5 46C6DA43666C1B4B05DABA108E995EE8 0000000000000000
+17 0123456789ABCDEF 0102010000BCBFBC E99CADBEA169C19D 0000000000000000
+18 0123456789ABCDEF 0102020000BCBFBF D9318F7F636BE06B 0000000000000000
+19 0123456789ABCDEF 0303030000BEBEBE D84D6726D810A206 0000000000000000
++M BSafe test - TVDESP00
+01 0123456789ABCDEF 6789ABCDEF012345 FC624960B90F7A7D 00000000EFAB23EF
+02 0123456789ABCDEF 6789ABCDEF0123450808080808080808 FC624960B90F7A7D2551005F74269110 00000000EFAB23EF
+03 0123456789ABCDEF 010203040506070809101112131415160808080808080808 67D89FDD4DB55CDFE7886E07EBD3B3DF47D8B20E93909B58 00000000EFAB23EF
+04 0123456789ABCDEF 01020304050607080910111213141501 67D89FDD4DB55CDFF52A136D17A87E8F 00000000EFAB23EF
+05 0123456789ABCDEF 01020304050607080910111213140202 67D89FDD4DB55CDF9FF22B5301F5BA69 00000000EFAB23EF
+06 0123456789ABCDEF 01020304050607080910111213030303 67D89FDD4DB55CDF7AC916277CC636EF 00000000EFAB23EF
+07 0123456789ABCDEF 01020304050607080910111204040404 67D89FDD4DB55CDFE204DB2A32A7B8C8 00000000EFAB23EF
+08 0123456789ABCDEF 01020304050607080910110505050505 67D89FDD4DB55CDF287F784D76357583 00000000EFAB23EF
+09 0123456789ABCDEF 01020304050607080910060606060606 67D89FDD4DB55CDF4C58EA5623CD0B5B 00000000EFAB23EF
+10 0123456789ABCDEF 01020304050607080907070707070707 67D89FDD4DB55CDFD784A16124DF7747 00000000EFAB23EF
+11 0123456789ABCDEF 01020304050607080808080808080808 67D89FDD4DB55CDF9A19483ADB5C2975 00000000EFAB23EF
+12 0123456789ABCDEF 0102030405060701 977C3A184FA1E78D 00000000EFAB23EF
+13 0123456789ABCDEF 0102030405060202 D1AEE6C6FAE1828B 00000000EFAB23EF
+14 0123456789ABCDEF 0102030405030303 A5EF9A711DE975CA 00000000EFAB23EF
+15 0123456789ABCDEF 0102030404040404 A429C178F9A65553 00000000EFAB23EF
+16 0123456789ABCDEF 0102030505050505 B53A1C038D1B89CD 00000000EFAB23EF
+17 0123456789ABCDEF 0102060606060606 0D00D9D7CA3C98A4 00000000EFAB23EF
+18 0123456789ABCDEF 0107070707070707 C3F1BA84FB6E4664 00000000EFAB23EF
+19 0123456789ABCDEF 0808080808080808 D470869B58D76FAD 00000000EFAB23EF
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/trandom/testdata/descfb.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,181 @@
++C Key............. IV.............. Ciphertext...... Plaintext....... 
++M Sample round
+01 10316E028C8F3B4A 0000000000000000 82DCBAFBDEAB6602 0000000000000000
++M Variable Plaintext Known Answer Test
+00 0101010101010101 8000000000000000 95F8A5E5DD31D900 0000000000000000
+01 0101010101010101 4000000000000000 DD7F121CA5015619 0000000000000000
+02 0101010101010101 2000000000000000 2E8653104F3834EA 0000000000000000
+03 0101010101010101 1000000000000000 4BD388FF6CD81D4F 0000000000000000
+04 0101010101010101 0800000000000000 20B9E767B2FB1456 0000000000000000
+05 0101010101010101 0400000000000000 55579380D77138EF 0000000000000000
+06 0101010101010101 0200000000000000 6CC5DEFAAF04512F 0000000000000000
+07 0101010101010101 0100000000000000 0D9F279BA5D87260 0000000000000000
+08 0101010101010101 0080000000000000 D9031B0271BD5A0A 0000000000000000
+09 0101010101010101 0040000000000000 424250B37C3DD951 0000000000000000
+10 0101010101010101 0020000000000000 B8061B7ECD9A21E5 0000000000000000
+11 0101010101010101 0010000000000000 F15D0F286B65BD28 0000000000000000
+12 0101010101010101 0008000000000000 ADD0CC8D6E5DEBA1 0000000000000000
+13 0101010101010101 0004000000000000 E6D5F82752AD63D1 0000000000000000
+14 0101010101010101 0002000000000000 ECBFE3BD3F591A5E 0000000000000000
+15 0101010101010101 0001000000000000 F356834379D165CD 0000000000000000
+16 0101010101010101 0000800000000000 2B9F982F20037FA9 0000000000000000
+17 0101010101010101 0000400000000000 889DE068A16F0BE6 0000000000000000
+18 0101010101010101 0000200000000000 E19E275D846A1298 0000000000000000
+19 0101010101010101 0000100000000000 329A8ED523D71AEC 0000000000000000
+20 0101010101010101 0000080000000000 E7FCE22557D23C97 0000000000000000
+21 0101010101010101 0000040000000000 12A9F5817FF2D65D 0000000000000000
+22 0101010101010101 0000020000000000 A484C3AD38DC9C19 0000000000000000
+23 0101010101010101 0000010000000000 FBE00A8A1EF8AD72 0000000000000000
+24 0101010101010101 0000008000000000 750D079407521363 0000000000000000
+25 0101010101010101 0000004000000000 64FEED9C724C2FAF 0000000000000000
+26 0101010101010101 0000002000000000 F02B263B328E2B60 0000000000000000
+27 0101010101010101 0000001000000000 9D64555A9A10B852 0000000000000000
+28 0101010101010101 0000000800000000 D106FF0BED5255D7 0000000000000000
+29 0101010101010101 0000000400000000 E1652C6B138C64A5 0000000000000000
+30 0101010101010101 0000000200000000 E428581186EC8F46 0000000000000000
+31 0101010101010101 0000000100000000 AEB5F5EDE22D1A36 0000000000000000
+32 0101010101010101 0000000080000000 E943D7568AEC0C5C 0000000000000000
+33 0101010101010101 0000000040000000 DF98C8276F54B04B 0000000000000000
+34 0101010101010101 0000000020000000 B160E4680F6C696F 0000000000000000
+35 0101010101010101 0000000010000000 FA0752B07D9C4AB8 0000000000000000
+36 0101010101010101 0000000008000000 CA3A2B036DBC8502 0000000000000000
+37 0101010101010101 0000000004000000 5E0905517BB59BCF 0000000000000000
+38 0101010101010101 0000000002000000 814EEB3B91D90726 0000000000000000
+39 0101010101010101 0000000001000000 4D49DB1532919C9F 0000000000000000
+40 0101010101010101 0000000000800000 25EB5FC3F8CF0621 0000000000000000
+41 0101010101010101 0000000000400000 AB6A20C0620D1C6F 0000000000000000
+42 0101010101010101 0000000000200000 79E90DBC98F92CCA 0000000000000000
+43 0101010101010101 0000000000100000 866ECEDD8072BB0E 0000000000000000
+44 0101010101010101 0000000000080000 8B54536F2F3E64A8 0000000000000000
+45 0101010101010101 0000000000040000 EA51D3975595B86B 0000000000000000
+46 0101010101010101 0000000000020000 CAFFC6AC4542DE31 0000000000000000
+47 0101010101010101 0000000000010000 8DD45A2DDF90796C 0000000000000000
+48 0101010101010101 0000000000008000 1029D55E880EC2D0 0000000000000000
+49 0101010101010101 0000000000004000 5D86CB23639DBEA9 0000000000000000
+50 0101010101010101 0000000000002000 1D1CA853AE7C0C5F 0000000000000000
+51 0101010101010101 0000000000001000 CE332329248F3228 0000000000000000
+52 0101010101010101 0000000000000800 8405D1ABE24FB942 0000000000000000
+53 0101010101010101 0000000000000400 E643D78090CA4207 0000000000000000
+54 0101010101010101 0000000000000200 48221B9937748A23 0000000000000000
+55 0101010101010101 0000000000000100 DD7C0BBD61FAFD54 0000000000000000
+56 0101010101010101 0000000000000080 2FBC291A570DB5C4 0000000000000000
+57 0101010101010101 0000000000000040 E07C30D7E4E26E12 0000000000000000
+58 0101010101010101 0000000000000020 0953E2258E8E90A1 0000000000000000
+59 0101010101010101 0000000000000010 5B711BC4CEEBF2EE 0000000000000000
+60 0101010101010101 0000000000000008 CC083F1E6D9E85F6 0000000000000000
+61 0101010101010101 0000000000000004 D2FD8867D50D2DFE 0000000000000000
+62 0101010101010101 0000000000000002 06E7EA22CE92708F 0000000000000000
+63 0101010101010101 0000000000000001 166B40B44ABA4BD6 0000000000000000
++M Variable Key Known Answer Test
++C Key............. Plaintext....... Ciphertext......
+00 8001010101010101 0000000000000000 95A8D72813DAA94D 0000000000000000
+01 4001010101010101 0000000000000000 0EEC1487DD8C26D5 0000000000000000
+02 2001010101010101 0000000000000000 7AD16FFB79C45926 0000000000000000
+03 1001010101010101 0000000000000000 D3746294CA6A6CF3 0000000000000000
+04 0801010101010101 0000000000000000 809F5F873C1FD761 0000000000000000
+05 0401010101010101 0000000000000000 C02FAFFEC989D1FC 0000000000000000
+06 0201010101010101 0000000000000000 4615AA1D33E72F10 0000000000000000
+07 0180010101010101 0000000000000000 2055123350C00858 0000000000000000
+08 0140010101010101 0000000000000000 DF3B99D6577397C8 0000000000000000
+09 0120010101010101 0000000000000000 31FE17369B5288C9 0000000000000000
+10 0110010101010101 0000000000000000 DFDD3CC64DAE1642 0000000000000000
+11 0108010101010101 0000000000000000 178C83CE2B399D94 0000000000000000
+12 0104010101010101 0000000000000000 50F636324A9B7F80 0000000000000000
+13 0102010101010101 0000000000000000 A8468EE3BC18F06D 0000000000000000
+14 0101800101010101 0000000000000000 A2DC9E92FD3CDE92 0000000000000000
+15 0101400101010101 0000000000000000 CAC09F797D031287 0000000000000000
+16 0101200101010101 0000000000000000 90BA680B22AEB525 0000000000000000
+17 0101100101010101 0000000000000000 CE7A24F350E280B6 0000000000000000
+18 0101080101010101 0000000000000000 882BFF0AA01A0B87 0000000000000000
+19 0101040101010101 0000000000000000 25610288924511C2 0000000000000000
+20 0101020101010101 0000000000000000 C71516C29C75D170 0000000000000000
+21 0101018001010101 0000000000000000 5199C29A52C9F059 0000000000000000
+22 0101014001010101 0000000000000000 C22F0A294A71F29F 0000000000000000
+23 0101012001010101 0000000000000000 EE371483714C02EA 0000000000000000
+24 0101011001010101 0000000000000000 A81FBD448F9E522F 0000000000000000
+25 0101010801010101 0000000000000000 4F644C92E192DFED 0000000000000000
+26 0101010401010101 0000000000000000 1AFA9A66A6DF92AE 0000000000000000
+27 0101010201010101 0000000000000000 B3C1CC715CB879D8 0000000000000000
+28 0101010180010101 0000000000000000 19D032E64AB0BD8B 0000000000000000
+29 0101010140010101 0000000000000000 3CFAA7A7DC8720DC 0000000000000000
+30 0101010120010101 0000000000000000 B7265F7F447AC6F3 0000000000000000
+31 0101010110010101 0000000000000000 9DB73B3C0D163F54 0000000000000000
+32 0101010108010101 0000000000000000 8181B65BABF4A975 0000000000000000
+33 0101010104010101 0000000000000000 93C9B64042EAA240 0000000000000000
+34 0101010102010101 0000000000000000 5570530829705592 0000000000000000
+35 0101010101800101 0000000000000000 8638809E878787A0 0000000000000000
+36 0101010101400101 0000000000000000 41B9A79AF79AC208 0000000000000000
+37 0101010101200101 0000000000000000 7A9BE42F2009A892 0000000000000000
+38 0101010101100101 0000000000000000 29038D56BA6D2745 0000000000000000
+39 0101010101080101 0000000000000000 5495C6ABF1E5DF51 0000000000000000
+40 0101010101040101 0000000000000000 AE13DBD561488933 0000000000000000
+41 0101010101020101 0000000000000000 024D1FFA8904E389 0000000000000000
+42 0101010101018001 0000000000000000 D1399712F99BF02E 0000000000000000
+43 0101010101014001 0000000000000000 14C1D7C1CFFEC79E 0000000000000000
+44 0101010101012001 0000000000000000 1DE5279DAE3BED6F 0000000000000000
+45 0101010101011001 0000000000000000 E941A33F85501303 0000000000000000
+46 0101010101010801 0000000000000000 DA99DBBC9A03F379 0000000000000000
+47 0101010101010401 0000000000000000 B7FC92F91D8E92E9 0000000000000000
+48 0101010101010201 0000000000000000 AE8E5CAA3CA04E85 0000000000000000
+49 0101010101010180 0000000000000000 9CC62DF43B6EED74 0000000000000000
+50 0101010101010140 0000000000000000 D863DBB5C59A91A0 0000000000000000
+51 0101010101010120 0000000000000000 A1AB2190545B91D7 0000000000000000
+52 0101010101010110 0000000000000000 0875041E64C570F7 0000000000000000
+53 0101010101010108 0000000000000000 5A594528BEBEF1CC 0000000000000000
+54 0101010101010104 0000000000000000 FCDB3291DE21F0C0 0000000000000000
+55 0101010101010102 0000000000000000 869EFD7F9F265A09 0000000000000000
++M Permutation Operation Known Answer Test
++C Key............. Plaintext....... Ciphertext......
+00 1046913489980131 0000000000000000 88D55E54F54C97B4 0000000000000000
+01 1007103489988020 0000000000000000 0C0CC00C83EA48FD 0000000000000000
+02 10071034C8980120 0000000000000000 83BC8EF3A6570183 0000000000000000
+03 1046103489988020 0000000000000000 DF725DCAD94EA2E9 0000000000000000
+04 1086911519190101 0000000000000000 E652B53B550BE8B0 0000000000000000
+05 1086911519580101 0000000000000000 AF527120C485CBB0 0000000000000000
+06 5107B01519580101 0000000000000000 0F04CE393DB926D5 0000000000000000
+07 1007B01519190101 0000000000000000 C9F00FFC74079067 0000000000000000
+08 3107915498080101 0000000000000000 7CFD82A593252B4E 0000000000000000
+09 3107919498080101 0000000000000000 CB49A2F9E91363E3 0000000000000000
+10 10079115B9080140 0000000000000000 00B588BE70D23F56 0000000000000000
+11 3107911598080140 0000000000000000 406A9A6AB43399AE 0000000000000000
+12 1007D01589980101 0000000000000000 6CB773611DCA9ADA 0000000000000000
+13 9107911589980101 0000000000000000 67FD21C17DBB5D70 0000000000000000
+14 9107D01589190101 0000000000000000 9592CB4110430787 0000000000000000
+15 1007D01598980120 0000000000000000 A6B7FF68A318DDD3 0000000000000000
+16 1007940498190101 0000000000000000 4D102196C914CA16 0000000000000000
+17 0107910491190401 0000000000000000 2DFA9F4573594965 0000000000000000
+18 0107910491190101 0000000000000000 B46604816C0E0774 0000000000000000
+19 0107940491190401 0000000000000000 6E7E6221A4F34E87 0000000000000000
+20 19079210981A0101 0000000000000000 AA85E74643233199 0000000000000000
+21 1007911998190801 0000000000000000 2E5A19DB4D1962D6 0000000000000000
+22 10079119981A0801 0000000000000000 23A866A809D30894 0000000000000000
+23 1007921098190101 0000000000000000 D812D961F017D320 0000000000000000
+24 100791159819010B 0000000000000000 055605816E58608F 0000000000000000
+25 1004801598190101 0000000000000000 ABD88E8B1B7716F1 0000000000000000
+26 1004801598190102 0000000000000000 537AC95BE69DA1E1 0000000000000000
+27 1004801598190108 0000000000000000 AED0F6AE3C25CDD8 0000000000000000
+28 1002911598100104 0000000000000000 B3E35A5EE53E7B8D 0000000000000000
+29 1002911598190104 0000000000000000 61C79C71921A2EF8 0000000000000000
+30 1002911598100201 0000000000000000 E2F5728F0995013C 0000000000000000
+31 1002911698100101 0000000000000000 1AEAC39A61F0A464 0000000000000000
++M Substitution Table Known Answer Test 
++C Key............. Plaintext....... Ciphertext......
+00 7CA110454A1A6E57 01A1D6D039776742 690F5B0D9A26939B 0000000000000000
+01 0131D9619DC1376E 5CD54CA83DEF57DA 7A389D10354BD271 0000000000000000
+02 07A1133E4A0B2686 0248D43806F67172 868EBB51CAB4599A 0000000000000000
+03 3849674C2602319E 51454B582DDF440A 7178876E01F19B2A 0000000000000000
+04 04B915BA43FEB5B6 42FD443059577FA2 AF37FB421F8C4095 0000000000000000
+05 0113B970FD34F2CE 059B5E0851CF143A 86A560F10EC6D85B 0000000000000000
+06 0170F175468FB5E6 0756D8E0774761D2 0CD3DA020021DC09 0000000000000000
+07 43297FAD38E373FE 762514B829BF486A EA676B2CB7DB2B7A 0000000000000000
+08 07A7137045DA2A16 3BDD119049372802 DFD64A815CAF1A0F 0000000000000000
+09 04689104C2FD3B2F 26955F6835AF609A 5C513C9C4886C088 0000000000000000
+10 37D06BB516CB7546 164D5E404F275232 0A2AEEAE3FF4AB77 0000000000000000
+11 1F08260D1AC2465E 6B056E18759F5CCA EF1BF03E5DFA575A 0000000000000000
+12 584023641ABA6176 004BD6EF09176062 88BF0DB6D70DEE56 0000000000000000
+13 025816164629B007 480D39006EE762F2 A1F9915541020B56 0000000000000000
+14 49793EBC79B3258F 437540C8698F3CFA 6FBF1CAFCFFD0556 0000000000000000
+15 4FB05E1515AB73A7 072D43A077075292 2F22E49BAB7CA1AC 0000000000000000
+16 49E95D6D4CA229BF 02FE55778117F12A 5A6B612CC26CCE4A 0000000000000000
+17 018310DC409B26D6 1D9D5C5018F728C2 5F4C038ED12B2E41 0000000000000000
+18 1C587F1C13924FEF 305532286D6F295A 63FAC0D034D9F793 0000000000000000
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/trandom/testdata/desecb.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,217 @@
++C Key............. Plaintext....... Ciphertext......
++M Sample round
+01 10316E028C8F3B4A 0000000000000000 82DCBAFBDEAB6602
++M Variable Plaintext Known Answer Test
+00 0101010101010101 8000000000000000 95F8A5E5DD31D900
+01 0101010101010101 4000000000000000 DD7F121CA5015619
+02 0101010101010101 2000000000000000 2E8653104F3834EA
+03 0101010101010101 1000000000000000 4BD388FF6CD81D4F
+04 0101010101010101 0800000000000000 20B9E767B2FB1456
+05 0101010101010101 0400000000000000 55579380D77138EF
+06 0101010101010101 0200000000000000 6CC5DEFAAF04512F
+07 0101010101010101 0100000000000000 0D9F279BA5D87260
+08 0101010101010101 0080000000000000 D9031B0271BD5A0A
+09 0101010101010101 0040000000000000 424250B37C3DD951
+10 0101010101010101 0020000000000000 B8061B7ECD9A21E5
+11 0101010101010101 0010000000000000 F15D0F286B65BD28
+12 0101010101010101 0008000000000000 ADD0CC8D6E5DEBA1
+13 0101010101010101 0004000000000000 E6D5F82752AD63D1
+14 0101010101010101 0002000000000000 ECBFE3BD3F591A5E
+15 0101010101010101 0001000000000000 F356834379D165CD
+16 0101010101010101 0000800000000000 2B9F982F20037FA9
+17 0101010101010101 0000400000000000 889DE068A16F0BE6
+18 0101010101010101 0000200000000000 E19E275D846A1298
+19 0101010101010101 0000100000000000 329A8ED523D71AEC
+20 0101010101010101 0000080000000000 E7FCE22557D23C97
+21 0101010101010101 0000040000000000 12A9F5817FF2D65D
+22 0101010101010101 0000020000000000 A484C3AD38DC9C19
+23 0101010101010101 0000010000000000 FBE00A8A1EF8AD72
+24 0101010101010101 0000008000000000 750D079407521363
+25 0101010101010101 0000004000000000 64FEED9C724C2FAF
+26 0101010101010101 0000002000000000 F02B263B328E2B60
+27 0101010101010101 0000001000000000 9D64555A9A10B852
+28 0101010101010101 0000000800000000 D106FF0BED5255D7
+29 0101010101010101 0000000400000000 E1652C6B138C64A5
+30 0101010101010101 0000000200000000 E428581186EC8F46
+31 0101010101010101 0000000100000000 AEB5F5EDE22D1A36
+32 0101010101010101 0000000080000000 E943D7568AEC0C5C
+33 0101010101010101 0000000040000000 DF98C8276F54B04B
+34 0101010101010101 0000000020000000 B160E4680F6C696F
+35 0101010101010101 0000000010000000 FA0752B07D9C4AB8
+36 0101010101010101 0000000008000000 CA3A2B036DBC8502
+37 0101010101010101 0000000004000000 5E0905517BB59BCF
+38 0101010101010101 0000000002000000 814EEB3B91D90726
+39 0101010101010101 0000000001000000 4D49DB1532919C9F
+40 0101010101010101 0000000000800000 25EB5FC3F8CF0621
+41 0101010101010101 0000000000400000 AB6A20C0620D1C6F
+42 0101010101010101 0000000000200000 79E90DBC98F92CCA
+43 0101010101010101 0000000000100000 866ECEDD8072BB0E
+44 0101010101010101 0000000000080000 8B54536F2F3E64A8
+45 0101010101010101 0000000000040000 EA51D3975595B86B
+46 0101010101010101 0000000000020000 CAFFC6AC4542DE31
+47 0101010101010101 0000000000010000 8DD45A2DDF90796C
+48 0101010101010101 0000000000008000 1029D55E880EC2D0
+49 0101010101010101 0000000000004000 5D86CB23639DBEA9
+50 0101010101010101 0000000000002000 1D1CA853AE7C0C5F
+51 0101010101010101 0000000000001000 CE332329248F3228
+52 0101010101010101 0000000000000800 8405D1ABE24FB942
+53 0101010101010101 0000000000000400 E643D78090CA4207
+54 0101010101010101 0000000000000200 48221B9937748A23
+55 0101010101010101 0000000000000100 DD7C0BBD61FAFD54
+56 0101010101010101 0000000000000080 2FBC291A570DB5C4
+57 0101010101010101 0000000000000040 E07C30D7E4E26E12
+58 0101010101010101 0000000000000020 0953E2258E8E90A1
+59 0101010101010101 0000000000000010 5B711BC4CEEBF2EE
+60 0101010101010101 0000000000000008 CC083F1E6D9E85F6
+61 0101010101010101 0000000000000004 D2FD8867D50D2DFE
+62 0101010101010101 0000000000000002 06E7EA22CE92708F
+63 0101010101010101 0000000000000001 166B40B44ABA4BD6
++M Variable Key Known Answer Test
++C Key............. Plaintext....... Ciphertext......
+00 8001010101010101 0000000000000000 95A8D72813DAA94D
+01 4001010101010101 0000000000000000 0EEC1487DD8C26D5
+02 2001010101010101 0000000000000000 7AD16FFB79C45926
+03 1001010101010101 0000000000000000 D3746294CA6A6CF3
+04 0801010101010101 0000000000000000 809F5F873C1FD761
+05 0401010101010101 0000000000000000 C02FAFFEC989D1FC
+06 0201010101010101 0000000000000000 4615AA1D33E72F10
+07 0180010101010101 0000000000000000 2055123350C00858
+08 0140010101010101 0000000000000000 DF3B99D6577397C8
+09 0120010101010101 0000000000000000 31FE17369B5288C9
+10 0110010101010101 0000000000000000 DFDD3CC64DAE1642
+11 0108010101010101 0000000000000000 178C83CE2B399D94
+12 0104010101010101 0000000000000000 50F636324A9B7F80
+13 0102010101010101 0000000000000000 A8468EE3BC18F06D
+14 0101800101010101 0000000000000000 A2DC9E92FD3CDE92
+15 0101400101010101 0000000000000000 CAC09F797D031287
+16 0101200101010101 0000000000000000 90BA680B22AEB525
+17 0101100101010101 0000000000000000 CE7A24F350E280B6
+18 0101080101010101 0000000000000000 882BFF0AA01A0B87
+19 0101040101010101 0000000000000000 25610288924511C2
+20 0101020101010101 0000000000000000 C71516C29C75D170
+21 0101018001010101 0000000000000000 5199C29A52C9F059
+22 0101014001010101 0000000000000000 C22F0A294A71F29F
+23 0101012001010101 0000000000000000 EE371483714C02EA
+24 0101011001010101 0000000000000000 A81FBD448F9E522F
+25 0101010801010101 0000000000000000 4F644C92E192DFED
+26 0101010401010101 0000000000000000 1AFA9A66A6DF92AE
+27 0101010201010101 0000000000000000 B3C1CC715CB879D8
+28 0101010180010101 0000000000000000 19D032E64AB0BD8B
+29 0101010140010101 0000000000000000 3CFAA7A7DC8720DC
+30 0101010120010101 0000000000000000 B7265F7F447AC6F3
+31 0101010110010101 0000000000000000 9DB73B3C0D163F54
+32 0101010108010101 0000000000000000 8181B65BABF4A975
+33 0101010104010101 0000000000000000 93C9B64042EAA240
+34 0101010102010101 0000000000000000 5570530829705592
+35 0101010101800101 0000000000000000 8638809E878787A0
+36 0101010101400101 0000000000000000 41B9A79AF79AC208
+37 0101010101200101 0000000000000000 7A9BE42F2009A892
+38 0101010101100101 0000000000000000 29038D56BA6D2745
+39 0101010101080101 0000000000000000 5495C6ABF1E5DF51
+40 0101010101040101 0000000000000000 AE13DBD561488933
+41 0101010101020101 0000000000000000 024D1FFA8904E389
+42 0101010101018001 0000000000000000 D1399712F99BF02E
+43 0101010101014001 0000000000000000 14C1D7C1CFFEC79E
+44 0101010101012001 0000000000000000 1DE5279DAE3BED6F
+45 0101010101011001 0000000000000000 E941A33F85501303
+46 0101010101010801 0000000000000000 DA99DBBC9A03F379
+47 0101010101010401 0000000000000000 B7FC92F91D8E92E9
+48 0101010101010201 0000000000000000 AE8E5CAA3CA04E85
+49 0101010101010180 0000000000000000 9CC62DF43B6EED74
+50 0101010101010140 0000000000000000 D863DBB5C59A91A0
+51 0101010101010120 0000000000000000 A1AB2190545B91D7
+52 0101010101010110 0000000000000000 0875041E64C570F7
+53 0101010101010108 0000000000000000 5A594528BEBEF1CC
+54 0101010101010104 0000000000000000 FCDB3291DE21F0C0
+55 0101010101010102 0000000000000000 869EFD7F9F265A09
++M Permutation Operation Known Answer Test
++C Key............. Plaintext....... Ciphertext......
+00 1046913489980131 0000000000000000 88D55E54F54C97B4
+01 1007103489988020 0000000000000000 0C0CC00C83EA48FD
+02 10071034C8980120 0000000000000000 83BC8EF3A6570183
+03 1046103489988020 0000000000000000 DF725DCAD94EA2E9
+04 1086911519190101 0000000000000000 E652B53B550BE8B0
+05 1086911519580101 0000000000000000 AF527120C485CBB0
+06 5107B01519580101 0000000000000000 0F04CE393DB926D5
+07 1007B01519190101 0000000000000000 C9F00FFC74079067
+08 3107915498080101 0000000000000000 7CFD82A593252B4E
+09 3107919498080101 0000000000000000 CB49A2F9E91363E3
+10 10079115B9080140 0000000000000000 00B588BE70D23F56
+11 3107911598080140 0000000000000000 406A9A6AB43399AE
+12 1007D01589980101 0000000000000000 6CB773611DCA9ADA
+13 9107911589980101 0000000000000000 67FD21C17DBB5D70
+14 9107D01589190101 0000000000000000 9592CB4110430787
+15 1007D01598980120 0000000000000000 A6B7FF68A318DDD3
+16 1007940498190101 0000000000000000 4D102196C914CA16
+17 0107910491190401 0000000000000000 2DFA9F4573594965
+18 0107910491190101 0000000000000000 B46604816C0E0774
+19 0107940491190401 0000000000000000 6E7E6221A4F34E87
+20 19079210981A0101 0000000000000000 AA85E74643233199
+21 1007911998190801 0000000000000000 2E5A19DB4D1962D6
+22 10079119981A0801 0000000000000000 23A866A809D30894
+23 1007921098190101 0000000000000000 D812D961F017D320
+24 100791159819010B 0000000000000000 055605816E58608F
+25 1004801598190101 0000000000000000 ABD88E8B1B7716F1
+26 1004801598190102 0000000000000000 537AC95BE69DA1E1
+27 1004801598190108 0000000000000000 AED0F6AE3C25CDD8
+28 1002911598100104 0000000000000000 B3E35A5EE53E7B8D
+29 1002911598190104 0000000000000000 61C79C71921A2EF8
+30 1002911598100201 0000000000000000 E2F5728F0995013C
+31 1002911698100101 0000000000000000 1AEAC39A61F0A464
++M Substitution Table Known Answer Test
++C Key............. Plaintext....... Ciphertext......
+00 7CA110454A1A6E57 01A1D6D039776742 690F5B0D9A26939B
+01 0131D9619DC1376E 5CD54CA83DEF57DA 7A389D10354BD271
+02 07A1133E4A0B2686 0248D43806F67172 868EBB51CAB4599A
+03 3849674C2602319E 51454B582DDF440A 7178876E01F19B2A
+04 04B915BA43FEB5B6 42FD443059577FA2 AF37FB421F8C4095
+05 0113B970FD34F2CE 059B5E0851CF143A 86A560F10EC6D85B
+06 0170F175468FB5E6 0756D8E0774761D2 0CD3DA020021DC09
+07 43297FAD38E373FE 762514B829BF486A EA676B2CB7DB2B7A
+08 07A7137045DA2A16 3BDD119049372802 DFD64A815CAF1A0F
+09 04689104C2FD3B2F 26955F6835AF609A 5C513C9C4886C088
+10 37D06BB516CB7546 164D5E404F275232 0A2AEEAE3FF4AB77
+11 1F08260D1AC2465E 6B056E18759F5CCA EF1BF03E5DFA575A
+12 584023641ABA6176 004BD6EF09176062 88BF0DB6D70DEE56
+13 025816164629B007 480D39006EE762F2 A1F9915541020B56
+14 49793EBC79B3258F 437540C8698F3CFA 6FBF1CAFCFFD0556
+15 4FB05E1515AB73A7 072D43A077075292 2F22E49BAB7CA1AC
+16 49E95D6D4CA229BF 02FE55778117F12A 5A6B612CC26CCE4A
+17 018310DC409B26D6 1D9D5C5018F728C2 5F4C038ED12B2E41
+18 1C587F1C13924FEF 305532286D6F295A 63FAC0D034D9F793
++M BSafe test - TVDSECN0 / TVDES100 / TVDESC00
++C NIST test vectors 
+00 0000000000000000 0000000000000000 8CA64DE9C1B123A7
+01 FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF 7359B2163E4EDC58
+02 3000000000000000 1000000000000001 958E6E627A05557B
+03 1111111111111111 1111111111111111 F40379AB9E0EC533
+04 0123456789ABCDEF 1111111111111111 17668DFC7292532D
+05 1111111111111111 0123456789ABCDEF 8A5AE1F81AB8F2DD
+06 0000000000000000 0000000000000000 8CA64DE9C1B123A7
+07 FEDCBA9876543210 0123456789ABCDEF ED39D950FA74BCC4
+08 7CA110454A1A6E57 01A1D6D039776742 690F5B0D9A26939B
+09 0131D9619DC1376E 5CD54CA83DEF57DA 7A389D10354BD271
+10 07A1133E4A0B2686 0248D43806F67172 868EBB51CAB4599A
+11 3849674C2602319E 51454B582DDF440A 7178876E01F19B2A
+12 04B915BA43FEB5B6 42FD443059577FA2 AF37FB421F8C4095
+13 0113B970FD34F2CE 059B5E0851CF143A 86A560F10EC6D85B
+14 0170F175468FB5E6 0756D8E0774761D2 0CD3DA020021DC09
+15 43297FAD38E373FE 762514B829BF486A EA676B2CB7DB2B7A
+16 07A7137045DA2A16 3BDD119049372802 DFD64A815CAF1A0F
+17 04689104C2FD3B2F 26955F6835AF609A 5C513C9C4886C088
+18 37D06BB516CB7546 164D5E404F275232 0A2AEEAE3FF4AB77
+19 1F08260D1AC2465E 6B056E18759F5CCA EF1BF03E5DFA575A
+20 584023641ABA6176 004BD6EF09176062 88BF0DB6D70DEE56
+21 025816164629B007 480D39006EE762F2 A1F9915541020B56
+22 49793EBC79B3258F 437540C8698F3CFA 6FBF1CAFCFFD0556
+23 4FB05E1515AB73A7 072D43A077075292 2F22E49BAB7CA1AC
+24 49E95D6D4CA229BF 02FE55778117F12A 5A6B612CC26CCE4A
+25 018310DC409B26D6 1D9D5C5018F728C2 5F4C038ED12B2E41
+26 1C587F1C13924FEF 305532286D6F295A 63FAC0D034D9F793
+27 0101010101010101 0123456789ABCDEF 617B3A0CE8F07100
+28 1F1F1F1F0E0E0E0E 0123456789ABCDEF DB958605F8C8C606
+29 E0FEE0FEF1FEF1FE 0123456789ABCDEF EDBFD1C66C29CCC7
+30 0000000000000000 FFFFFFFFFFFFFFFF 355550B2150E2451
+31 FFFFFFFFFFFFFFFF 0000000000000000 CAAAAF4DEAF1DBAE
+32 0123456789ABCDEF 0000000000000000 D5D44FF720683D0D
+33 FEDCBA9876543210 FFFFFFFFFFFFFFFF 2A2BB008DF97C2F2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/trandom/testdata/desofb.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,181 @@
++C Key............. IV.............. Ciphertext...... Plaintext....... 
++M Sample round
+01 10316E028C8F3B4A 0000000000000000 82DCBAFBDEAB6602 0000000000000000
++M Variable Plaintext Known Answer Test
+00 0101010101010101 8000000000000000 95F8A5E5DD31D900 0000000000000000
+01 0101010101010101 4000000000000000 DD7F121CA5015619 0000000000000000
+02 0101010101010101 2000000000000000 2E8653104F3834EA 0000000000000000
+03 0101010101010101 1000000000000000 4BD388FF6CD81D4F 0000000000000000
+04 0101010101010101 0800000000000000 20B9E767B2FB1456 0000000000000000
+05 0101010101010101 0400000000000000 55579380D77138EF 0000000000000000
+06 0101010101010101 0200000000000000 6CC5DEFAAF04512F 0000000000000000
+07 0101010101010101 0100000000000000 0D9F279BA5D87260 0000000000000000
+08 0101010101010101 0080000000000000 D9031B0271BD5A0A 0000000000000000
+09 0101010101010101 0040000000000000 424250B37C3DD951 0000000000000000
+10 0101010101010101 0020000000000000 B8061B7ECD9A21E5 0000000000000000
+11 0101010101010101 0010000000000000 F15D0F286B65BD28 0000000000000000
+12 0101010101010101 0008000000000000 ADD0CC8D6E5DEBA1 0000000000000000
+13 0101010101010101 0004000000000000 E6D5F82752AD63D1 0000000000000000
+14 0101010101010101 0002000000000000 ECBFE3BD3F591A5E 0000000000000000
+15 0101010101010101 0001000000000000 F356834379D165CD 0000000000000000
+16 0101010101010101 0000800000000000 2B9F982F20037FA9 0000000000000000
+17 0101010101010101 0000400000000000 889DE068A16F0BE6 0000000000000000
+18 0101010101010101 0000200000000000 E19E275D846A1298 0000000000000000
+19 0101010101010101 0000100000000000 329A8ED523D71AEC 0000000000000000
+20 0101010101010101 0000080000000000 E7FCE22557D23C97 0000000000000000
+21 0101010101010101 0000040000000000 12A9F5817FF2D65D 0000000000000000
+22 0101010101010101 0000020000000000 A484C3AD38DC9C19 0000000000000000
+23 0101010101010101 0000010000000000 FBE00A8A1EF8AD72 0000000000000000
+24 0101010101010101 0000008000000000 750D079407521363 0000000000000000
+25 0101010101010101 0000004000000000 64FEED9C724C2FAF 0000000000000000
+26 0101010101010101 0000002000000000 F02B263B328E2B60 0000000000000000
+27 0101010101010101 0000001000000000 9D64555A9A10B852 0000000000000000
+28 0101010101010101 0000000800000000 D106FF0BED5255D7 0000000000000000
+29 0101010101010101 0000000400000000 E1652C6B138C64A5 0000000000000000
+30 0101010101010101 0000000200000000 E428581186EC8F46 0000000000000000
+31 0101010101010101 0000000100000000 AEB5F5EDE22D1A36 0000000000000000
+32 0101010101010101 0000000080000000 E943D7568AEC0C5C 0000000000000000
+33 0101010101010101 0000000040000000 DF98C8276F54B04B 0000000000000000
+34 0101010101010101 0000000020000000 B160E4680F6C696F 0000000000000000
+35 0101010101010101 0000000010000000 FA0752B07D9C4AB8 0000000000000000
+36 0101010101010101 0000000008000000 CA3A2B036DBC8502 0000000000000000
+37 0101010101010101 0000000004000000 5E0905517BB59BCF 0000000000000000
+38 0101010101010101 0000000002000000 814EEB3B91D90726 0000000000000000
+39 0101010101010101 0000000001000000 4D49DB1532919C9F 0000000000000000
+40 0101010101010101 0000000000800000 25EB5FC3F8CF0621 0000000000000000
+41 0101010101010101 0000000000400000 AB6A20C0620D1C6F 0000000000000000
+42 0101010101010101 0000000000200000 79E90DBC98F92CCA 0000000000000000
+43 0101010101010101 0000000000100000 866ECEDD8072BB0E 0000000000000000
+44 0101010101010101 0000000000080000 8B54536F2F3E64A8 0000000000000000
+45 0101010101010101 0000000000040000 EA51D3975595B86B 0000000000000000
+46 0101010101010101 0000000000020000 CAFFC6AC4542DE31 0000000000000000
+47 0101010101010101 0000000000010000 8DD45A2DDF90796C 0000000000000000
+48 0101010101010101 0000000000008000 1029D55E880EC2D0 0000000000000000
+49 0101010101010101 0000000000004000 5D86CB23639DBEA9 0000000000000000
+50 0101010101010101 0000000000002000 1D1CA853AE7C0C5F 0000000000000000
+51 0101010101010101 0000000000001000 CE332329248F3228 0000000000000000
+52 0101010101010101 0000000000000800 8405D1ABE24FB942 0000000000000000
+53 0101010101010101 0000000000000400 E643D78090CA4207 0000000000000000
+54 0101010101010101 0000000000000200 48221B9937748A23 0000000000000000
+55 0101010101010101 0000000000000100 DD7C0BBD61FAFD54 0000000000000000
+56 0101010101010101 0000000000000080 2FBC291A570DB5C4 0000000000000000
+57 0101010101010101 0000000000000040 E07C30D7E4E26E12 0000000000000000
+58 0101010101010101 0000000000000020 0953E2258E8E90A1 0000000000000000
+59 0101010101010101 0000000000000010 5B711BC4CEEBF2EE 0000000000000000
+60 0101010101010101 0000000000000008 CC083F1E6D9E85F6 0000000000000000
+61 0101010101010101 0000000000000004 D2FD8867D50D2DFE 0000000000000000
+62 0101010101010101 0000000000000002 06E7EA22CE92708F 0000000000000000
+63 0101010101010101 0000000000000001 166B40B44ABA4BD6 0000000000000000
++M Variable Key Known Answer Test
++C Key............. Plaintext....... Ciphertext......
+00 8001010101010101 0000000000000000 95A8D72813DAA94D 0000000000000000
+01 4001010101010101 0000000000000000 0EEC1487DD8C26D5 0000000000000000
+02 2001010101010101 0000000000000000 7AD16FFB79C45926 0000000000000000
+03 1001010101010101 0000000000000000 D3746294CA6A6CF3 0000000000000000
+04 0801010101010101 0000000000000000 809F5F873C1FD761 0000000000000000
+05 0401010101010101 0000000000000000 C02FAFFEC989D1FC 0000000000000000
+06 0201010101010101 0000000000000000 4615AA1D33E72F10 0000000000000000
+07 0180010101010101 0000000000000000 2055123350C00858 0000000000000000
+08 0140010101010101 0000000000000000 DF3B99D6577397C8 0000000000000000
+09 0120010101010101 0000000000000000 31FE17369B5288C9 0000000000000000
+10 0110010101010101 0000000000000000 DFDD3CC64DAE1642 0000000000000000
+11 0108010101010101 0000000000000000 178C83CE2B399D94 0000000000000000
+12 0104010101010101 0000000000000000 50F636324A9B7F80 0000000000000000
+13 0102010101010101 0000000000000000 A8468EE3BC18F06D 0000000000000000
+14 0101800101010101 0000000000000000 A2DC9E92FD3CDE92 0000000000000000
+15 0101400101010101 0000000000000000 CAC09F797D031287 0000000000000000
+16 0101200101010101 0000000000000000 90BA680B22AEB525 0000000000000000
+17 0101100101010101 0000000000000000 CE7A24F350E280B6 0000000000000000
+18 0101080101010101 0000000000000000 882BFF0AA01A0B87 0000000000000000
+19 0101040101010101 0000000000000000 25610288924511C2 0000000000000000
+20 0101020101010101 0000000000000000 C71516C29C75D170 0000000000000000
+21 0101018001010101 0000000000000000 5199C29A52C9F059 0000000000000000
+22 0101014001010101 0000000000000000 C22F0A294A71F29F 0000000000000000
+23 0101012001010101 0000000000000000 EE371483714C02EA 0000000000000000
+24 0101011001010101 0000000000000000 A81FBD448F9E522F 0000000000000000
+25 0101010801010101 0000000000000000 4F644C92E192DFED 0000000000000000
+26 0101010401010101 0000000000000000 1AFA9A66A6DF92AE 0000000000000000
+27 0101010201010101 0000000000000000 B3C1CC715CB879D8 0000000000000000
+28 0101010180010101 0000000000000000 19D032E64AB0BD8B 0000000000000000
+29 0101010140010101 0000000000000000 3CFAA7A7DC8720DC 0000000000000000
+30 0101010120010101 0000000000000000 B7265F7F447AC6F3 0000000000000000
+31 0101010110010101 0000000000000000 9DB73B3C0D163F54 0000000000000000
+32 0101010108010101 0000000000000000 8181B65BABF4A975 0000000000000000
+33 0101010104010101 0000000000000000 93C9B64042EAA240 0000000000000000
+34 0101010102010101 0000000000000000 5570530829705592 0000000000000000
+35 0101010101800101 0000000000000000 8638809E878787A0 0000000000000000
+36 0101010101400101 0000000000000000 41B9A79AF79AC208 0000000000000000
+37 0101010101200101 0000000000000000 7A9BE42F2009A892 0000000000000000
+38 0101010101100101 0000000000000000 29038D56BA6D2745 0000000000000000
+39 0101010101080101 0000000000000000 5495C6ABF1E5DF51 0000000000000000
+40 0101010101040101 0000000000000000 AE13DBD561488933 0000000000000000
+41 0101010101020101 0000000000000000 024D1FFA8904E389 0000000000000000
+42 0101010101018001 0000000000000000 D1399712F99BF02E 0000000000000000
+43 0101010101014001 0000000000000000 14C1D7C1CFFEC79E 0000000000000000
+44 0101010101012001 0000000000000000 1DE5279DAE3BED6F 0000000000000000
+45 0101010101011001 0000000000000000 E941A33F85501303 0000000000000000
+46 0101010101010801 0000000000000000 DA99DBBC9A03F379 0000000000000000
+47 0101010101010401 0000000000000000 B7FC92F91D8E92E9 0000000000000000
+48 0101010101010201 0000000000000000 AE8E5CAA3CA04E85 0000000000000000
+49 0101010101010180 0000000000000000 9CC62DF43B6EED74 0000000000000000
+50 0101010101010140 0000000000000000 D863DBB5C59A91A0 0000000000000000
+51 0101010101010120 0000000000000000 A1AB2190545B91D7 0000000000000000
+52 0101010101010110 0000000000000000 0875041E64C570F7 0000000000000000
+53 0101010101010108 0000000000000000 5A594528BEBEF1CC 0000000000000000
+54 0101010101010104 0000000000000000 FCDB3291DE21F0C0 0000000000000000
+55 0101010101010102 0000000000000000 869EFD7F9F265A09 0000000000000000
++M Permutation Operation Known Answer Test
++C Key............. Plaintext....... Ciphertext......
+00 1046913489980131 0000000000000000 88D55E54F54C97B4 0000000000000000
+01 1007103489988020 0000000000000000 0C0CC00C83EA48FD 0000000000000000
+02 10071034C8980120 0000000000000000 83BC8EF3A6570183 0000000000000000
+03 1046103489988020 0000000000000000 DF725DCAD94EA2E9 0000000000000000
+04 1086911519190101 0000000000000000 E652B53B550BE8B0 0000000000000000
+05 1086911519580101 0000000000000000 AF527120C485CBB0 0000000000000000
+06 5107B01519580101 0000000000000000 0F04CE393DB926D5 0000000000000000
+07 1007B01519190101 0000000000000000 C9F00FFC74079067 0000000000000000
+08 3107915498080101 0000000000000000 7CFD82A593252B4E 0000000000000000
+09 3107919498080101 0000000000000000 CB49A2F9E91363E3 0000000000000000
+10 10079115B9080140 0000000000000000 00B588BE70D23F56 0000000000000000
+11 3107911598080140 0000000000000000 406A9A6AB43399AE 0000000000000000
+12 1007D01589980101 0000000000000000 6CB773611DCA9ADA 0000000000000000
+13 9107911589980101 0000000000000000 67FD21C17DBB5D70 0000000000000000
+14 9107D01589190101 0000000000000000 9592CB4110430787 0000000000000000
+15 1007D01598980120 0000000000000000 A6B7FF68A318DDD3 0000000000000000
+16 1007940498190101 0000000000000000 4D102196C914CA16 0000000000000000
+17 0107910491190401 0000000000000000 2DFA9F4573594965 0000000000000000
+18 0107910491190101 0000000000000000 B46604816C0E0774 0000000000000000
+19 0107940491190401 0000000000000000 6E7E6221A4F34E87 0000000000000000
+20 19079210981A0101 0000000000000000 AA85E74643233199 0000000000000000
+21 1007911998190801 0000000000000000 2E5A19DB4D1962D6 0000000000000000
+22 10079119981A0801 0000000000000000 23A866A809D30894 0000000000000000
+23 1007921098190101 0000000000000000 D812D961F017D320 0000000000000000
+24 100791159819010B 0000000000000000 055605816E58608F 0000000000000000
+25 1004801598190101 0000000000000000 ABD88E8B1B7716F1 0000000000000000
+26 1004801598190102 0000000000000000 537AC95BE69DA1E1 0000000000000000
+27 1004801598190108 0000000000000000 AED0F6AE3C25CDD8 0000000000000000
+28 1002911598100104 0000000000000000 B3E35A5EE53E7B8D 0000000000000000
+29 1002911598190104 0000000000000000 61C79C71921A2EF8 0000000000000000
+30 1002911598100201 0000000000000000 E2F5728F0995013C 0000000000000000
+31 1002911698100101 0000000000000000 1AEAC39A61F0A464 0000000000000000
++M Substitution Table Known Answer Test 
++C Key............. Plaintext....... Ciphertext......
+00 7CA110454A1A6E57 01A1D6D039776742 690F5B0D9A26939B 0000000000000000
+01 0131D9619DC1376E 5CD54CA83DEF57DA 7A389D10354BD271 0000000000000000
+02 07A1133E4A0B2686 0248D43806F67172 868EBB51CAB4599A 0000000000000000
+03 3849674C2602319E 51454B582DDF440A 7178876E01F19B2A 0000000000000000
+04 04B915BA43FEB5B6 42FD443059577FA2 AF37FB421F8C4095 0000000000000000
+05 0113B970FD34F2CE 059B5E0851CF143A 86A560F10EC6D85B 0000000000000000
+06 0170F175468FB5E6 0756D8E0774761D2 0CD3DA020021DC09 0000000000000000
+07 43297FAD38E373FE 762514B829BF486A EA676B2CB7DB2B7A 0000000000000000
+08 07A7137045DA2A16 3BDD119049372802 DFD64A815CAF1A0F 0000000000000000
+09 04689104C2FD3B2F 26955F6835AF609A 5C513C9C4886C088 0000000000000000
+10 37D06BB516CB7546 164D5E404F275232 0A2AEEAE3FF4AB77 0000000000000000
+11 1F08260D1AC2465E 6B056E18759F5CCA EF1BF03E5DFA575A 0000000000000000
+12 584023641ABA6176 004BD6EF09176062 88BF0DB6D70DEE56 0000000000000000
+13 025816164629B007 480D39006EE762F2 A1F9915541020B56 0000000000000000
+14 49793EBC79B3258F 437540C8698F3CFA 6FBF1CAFCFFD0556 0000000000000000
+15 4FB05E1515AB73A7 072D43A077075292 2F22E49BAB7CA1AC 0000000000000000
+16 49E95D6D4CA229BF 02FE55778117F12A 5A6B612CC26CCE4A 0000000000000000
+17 018310DC409B26D6 1D9D5C5018F728C2 5F4C038ED12B2E41 0000000000000000
+18 1C587F1C13924FEF 305532286D6F295A 63FAC0D034D9F793 0000000000000000
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/trandom/testdata/function.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,68 @@
++C This file contains a script for testing the functionality of algorithms.
++C The format is:
++C AlgorithmType TestType Algorithm (Variant) (File)
++C 
++C Where:
++C AlgorithmType is Symmetric, Asymmetric or Padding
++C TestType is Function, Vector, OOM, Error, Performance, Problem or UnfixedProblem
++C Algorithm is DES, RC2, RC4, RSA etc 
++C Variant (where applicable) is CFB, OFB, CBC or ECB
++C File is the name of the file where the known vectors can be found
++M Currently testing
++C Symmetric Function RC2 CBC Variable
++M Functionality tests
++M Null cipher tests
+Symmetric Function Null
++M DES Tests
+Symmetric Function DES ECB Variable
+Symmetric Function DES CBC Variable
+Symmetric Function DES CFB Variable
+Symmetric Function DES OFB Variable
++C Symmetric Function DES ECB Modes
++C Symmetric Function DES CBC Modes
++C Symmetric Function DES CFB Modes
++C Symmetric Function DES OFB Modes
++M 3DES Tests
+Symmetric Function 3DES2 ECB Variable
+Symmetric Function 3DES2 CBC Variable
+Symmetric Function 3DES2 CFB Variable
+Symmetric Function 3DES2 OFB Variable
+Symmetric Function 3DES3 ECB Variable
+Symmetric Function 3DES3 CBC Variable
+Symmetric Function 3DES3 CFB Variable
+Symmetric Function 3DES3 OFB Variable
++C Symmetric Function 3DES ECB Modes
++C Symmetric Function 3DES CBC Modes
++C Symmetric Function 3DES CFB Modes
++C Symmetric Function 3DES OFB Modes
++M RC2 Tests
+Symmetric Function RC2 CFB Variable
+Symmetric Function RC2 ECB Variable
+Symmetric Function RC2 CBC Variable
+Symmetric Function RC2 OFB Variable
++C Symmetric Function RC2 ECB Modes
++C Symmetric Function RC2 CBC Modes
++C Symmetric Function RC2 CFB Modes
++C Symmetric Function RC2 OFB Modes
++M RC4 Tests
+Symmetric Function RC4  
++M RC5 Tests
+Symmetric Function RC5 ECB Variable
+Symmetric Function RC5 CBC Variable
+Symmetric Function RC5 CFB Variable
+Symmetric Function RC5 OFB Variable
++C Symmetric Function RC5 ECB Modes
++C Symmetric Function RC5 CBC Modes
++C Symmetric Function RC5 CFB Modes
++C Symmetric Function RC5 OFB Modes
++M RSA Tests
+Asymmetric Function RSA
++M DH Tests
++M ***Diffie hellman functionality tests broken?
++C Asymmetric Function DH
++M DSA Tests
+Asymmetric Function DSA
++M Padding tests
+Padding Function NoPadding
+Padding Function SSLPadding
+Padding Function PKCS1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/trandom/testdata/hmacmd5.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,8 @@
++M HMAC-MD5 tests
++C This file contains test vectors for the HMAC-MD5 algorithm...
+4869205468657265 0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B 9294727A3638BB1C13F48EF8158BFC9D
++C 0000000000000000000000000000000000000000000000000000000000000000 0123456789ABCDEF132435475768798A9BACBDCEDF112233 E7068E5EF979B0BC871917375EC1B241771EA5C4
++C 0123456789ABCDEF132435475768798A9BACBDCEDF112233 0123456789ABCDEF132435475768798A9BACBDCEDF112233 9858A7B8978C760324B603B13A3685B38BF4D21A
++C 4869205468657265 0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B B617318655057264E28BC0B6FB378C8EF146BE00
++C 7768617420646F2079612077616E7420666F72206E6F7468696E673F 4A656665 EFFCDF6AE5EB2FA2D27416D5F184DF9C259A7C79
++C DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD 41414141414141414141414141414141414141414141414141414141414141414141414141414141 125D7342B9AC11CD91A39AF48AA17B4F63F175D3
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/trandom/testdata/hmacsha1.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,8 @@
++M HMAC-SHA1 tests
++C This file contains test vectors for the HMAC-SHA1 algorithm...
++C 4869205468657265 0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B 9294727A3638BB1C13F48EF8158BFC9D
+0000000000000000000000000000000000000000000000000000000000000000 0123456789ABCDEF132435475768798A9BACBDCEDF112233 E7068E5EF979B0BC871917375EC1B241771EA5C4
+0123456789ABCDEF132435475768798A9BACBDCEDF112233 0123456789ABCDEF132435475768798A9BACBDCEDF112233 9858A7B8978C760324B603B13A3685B38BF4D21A
+4869205468657265 0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B B617318655057264E28BC0B6FB378C8EF146BE00
+7768617420646F2079612077616E7420666F72206E6F7468696E673F 4A656665 EFFCDF6AE5EB2FA2D27416D5F184DF9C259A7C79
++C DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD 41414141414141414141414141414141414141414141414141414141414141414141414141414141 125D7342B9AC11CD91A39AF48AA17B4F63F175D3
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/trandom/testdata/md2.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,9 @@
++M MD2 tests
++C This file contains test vectors for the MD2 algorithm...
++M   RFC 1319 Test Vectors
+61 32EC01EC4A6DAC72C0AB96FB34C0B5D1
+616263 DA853B0D3F88D99B30283A69E6DED6BB
+6D65737361676520646967657374 AB4F496BFB2A530B219FF33031FE06B0
+6162636465666768696A6B6C6D6E6F707172737475767778797A 4E8DDFF3650292AB5A4108C3AA47940B
+4142434445464748494A4B4C4D4E4F505152535455565758595A6162636465666768696A6B6C6D6E6F707172737475767778797A30313233343536373839 DA33DEF2A42DF13975352846C30338CD
+3132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930 D5976F79D83D3A0DC9806C3C66F3EFD8
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/trandom/testdata/md5.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,9 @@
++M MD5 tests
++C This file contains test vectors for the MD5 algorithm...
++M   RFC 1321 Test Vectors
+61 0CC175B9C0F1B6A831C399E269772661
+616263 900150983CD24FB0D6963F7D28E17F72
+6D65737361676520646967657374 F96B697D7CB7938D525A2F31AAF161D0
+6162636465666768696A6B6C6D6E6F707172737475767778797A C3FCD3D76192E4007DFB496CCA67E13B
+4142434445464748494A4B4C4D4E4F505152535455565758595A6162636465666768696A6B6C6D6E6F707172737475767778797A30313233343536373839 D174AB98D277D9F5A5611C2C9F419D9F
+3132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930 57EDF4A22BE3C955AC49DA2E2107B67A
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/trandom/testdata/oom.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,26 @@
++C This file collects together all the out of memory tests
++C for cryptalg
++M Out of memory tests
+Symmetric OOM RC2 ECB
+Symmetric OOM RC2 CBC
+Symmetric OOM RC2 CFB
+Symmetric OOM RC2 OFB
+Symmetric OOM RC4
+Symmetric OOM RC5 ECB
+Symmetric OOM RC5 CBC
+Symmetric OOM RC5 CFB
+Symmetric OOM RC5 OFB
+Symmetric OOM DES ECB
+Symmetric OOM DES CBC
+Symmetric OOM DES CFB
++C Symmetric OOM DES2 OFB
+Symmetric OOM 3DES2 ECB
+Symmetric OOM 3DES2 CBC
+Symmetric OOM 3DES2 CFB
++C Symmetric OOM DES3 OFB
+Symmetric OOM 3DES3 ECB
+Symmetric OOM 3DES3 CBC
+Symmetric OOM 3DES3 CFB
++C Symmetric OOM 3DES OFB
+Asymmetric OOM DSA
+Asymmetric OOM RSA
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/trandom/testdata/rc2cbc.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,82 @@
++M RC2 CBC tests
++M BSafe tests - TVR2CBN0
++C Key............. Plaintext....... Ciphertext...... IV..............
+01 0000000000000000 0000000000000000 EBB773F993278EFF 0000000000000000
++M BSafe tests - TFCIV801
++M These appear not to be correct vectors...? 
++M They are from partial encrypt tests
++M Actually, the problem is the number of effective bits, these are marked as 
++M 32 effective bits in the BSafe test vector file and give the correct 
++M answers if they are initialised with 32 effective bits.
++C 01 1234567890123456 0001020304050607 ADA134F25BA7E028 7766554433221100
++C 01 1234567890123456 00010203040506070809101112131415 ADA134F25BA7E0281CBE461F05491F1C 7766554433221100
++C 01 1234567890123456 000102030405060708091011121314151617181920212223 ADA134F25BA7E0281CBE461F05491F1CC08E67D3AEA1F190 7766554433221100
++C 02 1234567890123456 0001020304050607 D08502E791F56B76 0011223344556677
++C 02 1234567890123456 00010203040506070809101112131415 D08502E791F56B76535055800911B4D6 0011223344556677
++C 02 1234567890123456 000102030405060708091011121314151617181920212223 D08502E791F56B76535055800911B4D6724ECD8EE3E3443B 0011223344556677
++M BSafe tests - TFRC2C00
+01 0123456789ABCDEF 1110010110010100 83919A5CBDDA91E8 0001101001101011
+02 0123456789ABCDEF 0001101001101011 83919A5CBDDA91E8 1110010110010100
+03 0123456789ABCDEF 88BCA90E90875A7F B0E5CDDD09CB4581 456789ABCDEF0123
+04 0123456789ABCDEF 0F79C384627BAFB2 B20420ABB639D2BE B0E5CDDD09CB4581
+05 0123456789ABCDEF 16F80A6F85920584 0BB613FC9B702A66 B20420ABB639D2BE
+06 0123456789ABCDEF 88BCA90E90875A7F0F79C384627BAFB216F80A6F85920584 B0E5CDDD09CB4581B20420ABB639D2BE0BB613FC9B702A66 456789ABCDEF0123
++M BSafe tests - TFRC2C01
++M This vector also appears broken, it is from partial encrypt tests
++C 01 0123456789ABCDEF 1011121314151617181920212223242526272829303132333435363738394041 D41F760B7391926552423C5B3204DFEECBDC9D7E6B8366FA397CDF48A2E359DC 0000000000000000
+02 0123456789ABCDEF 1122334455667788 560788C117EC3BF0 0000000000000000
+03 0123456789ABCDEF 1122334455667788AA11223344556677 560788C117EC3BF028D552DB234B64C5 0000000000000000
+04 0123456789ABCDEF 1122334455667788AA1122334455667788AA112233445566 560788C117EC3BF028D552DB234B64C58E0C5D57AF03D760 0000000000000000
++M BSafe tests - TVRC2C00
+01 FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF 278B27E42E2F0D49 0000000000000000
+02 3000000000000000 1000000000000001 30649EDF9BE7D2C2 0000000000000000
+03 1111111111111111 1111111111111111 08BA6FFA24CD2448 0000000000000000
+04 0123456789ABCDEF 1111111111111111 83919A5CBDDA91E8 0000000000000000
+05 1111111111111111 0123456789ABCDEF 715D05DCBAD0A52D 0000000000000000
+06 FEDCBA9876543210 0123456789ABCDEF AFF61F28ADB8F992 0000000000000000
+07 7CA110454A1A6E57 01A1D6D039776742 E6C72BD91A8317DA 0000000000000000
+08 0131D9619DC1376E 5CD54CA83DEF57DA 5DEC877636C097F4 0000000000000000
+09 07A1133E4A0B2686 0248D43806F67172 F6A678D160B219E1 0000000000000000
+10 3849674C2602319E 51454B582DDF440A F10947AADA21CC24 0000000000000000
+11 04B915BA43FEB5B6 42FD443059577FA2 2F999B72BFE16FA7 0000000000000000
+12 0113B970FD34F2CE 059B5E0851CF143A 35783A7937FC0786 0000000000000000
+13 0170F175468FB5E6 0756D8E0774761D2 4BE2541E1F1E9AE9 0000000000000000
+14 43297FAD38E373FE 762514B829BF486A 0D827AB91CBE6B81 0000000000000000
+15 07A7137045DA2A16 3BDD119049372802 0E4D330B57B01F64 0000000000000000
+16 04689104C2FD3B2F 26955F6835AF609A 0F89859336A2BB56 0000000000000000
+17 37D06BB516CB7546 164D5E404F275232 CC22A66F79417445 0000000000000000
+18 1F08260D1AC2465E 6B056E18759F5CCA 9A9FA77A5CE073A0 0000000000000000
+19 584023641ABA6176 004BD6EF09176062 D896266223671934 0000000000000000
+20 025816164629B007 480D39006EE762F2 4DF89CF7EE3D5B40 0000000000000000
+21 49793EBC79B3258F 437540C8698F3CFA 141F405CA84C25C4 0000000000000000
+22 4FB05E1515AB73A7 072D43A077075292 3F0558B19B018711 0000000000000000
+23 49E95D6D4CA229BF 02FE55778117F12A 585FE24017619CCF 0000000000000000
+24 018310DC409B26D6 1D9D5C5018F728C2 7963042382F61893 0000000000000000
+25 1C587F1C13924FEF 305532286D6F295A B3073BCAE8912B3B 0000000000000000
+26 0101010101010101 0123456789ABCDEF 927B508FF3609651 0000000000000000
+27 1F1F1F1F0E0E0E0E 0123456789ABCDEF D8E4684DCE864C3B 0000000000000000
+28 E0FEE0FEF1FEF1FE 0123456789ABCDEF AF317F8DB5F2B33C 0000000000000000
+29 0000000000000000 FFFFFFFFFFFFFFFF 0770C3EB6DC04678 0000000000000000
+30 FFFFFFFFFFFFFFFF 0000000000000000 A3A112654F81C5CD 0000000000000000
+31 0123456789ABCDEF 0000000000000000 A9F36E0F75C4D4E7 0000000000000000
+32 FEDCBA9876543210 FFFFFFFFFFFFFFFF 285155EE09767F79 0000000000000000
++M BSafe tests - TVRC2P00
+01 0123456789ABCDEF 6789ABCDEF012345 8AB9812A157EFA87 00000000EFAB23EF
+02 0123456789ABCDEF 6789ABCDEF0123450808080808080808 8AB9812A157EFA8791CF42833556FB07 00000000EFAB23EF
+03 0123456789ABCDEF 010203040506070809101112131415160808080808080808 2DEF62E545A755DEABB588A36AF7E2A11F65064B843373D0 00000000EFAB23EF
+04 0123456789ABCDEF 01020304050607080910111213141501 2DEF62E545A755DE377B2C5382276EC1 00000000EFAB23EF
+05 0123456789ABCDEF 01020304050607080910111213140202 2DEF62E545A755DE558B258C5E98416A 00000000EFAB23EF
+06 0123456789ABCDEF 01020304050607080910111213030303 2DEF62E545A755DE61202489EE7BA71D 00000000EFAB23EF
+07 0123456789ABCDEF 01020304050607080910111204040404 2DEF62E545A755DEE88E29056AE9DA70 00000000EFAB23EF
+08 0123456789ABCDEF 01020304050607080910110505050505 2DEF62E545A755DE3C07D96F3A786265 00000000EFAB23EF
+09 0123456789ABCDEF 01020304050607080910060606060606 2DEF62E545A755DEB44C5090B8835C81 00000000EFAB23EF
+10 0123456789ABCDEF 01020304050607080907070707070707 2DEF62E545A755DECC05EF7692F2C516 00000000EFAB23EF
+11 0123456789ABCDEF 01020304050607080808080808080808 2DEF62E545A755DEC6D72BD46DB0B596 00000000EFAB23EF
+12 0123456789ABCDEF 0102030405060701 BC833CE2076E664D 00000000EFAB23EF
+13 0123456789ABCDEF 0102030405060202 3A6906738CCCC62F 00000000EFAB23EF
+14 0123456789ABCDEF 0102030405030303 8C7CDFD20A4A6E28 00000000EFAB23EF
+15 0123456789ABCDEF 0102030404040404 7BC7D4549A008837 00000000EFAB23EF
+16 0123456789ABCDEF 0102030505050505 EB777B0CDB21B583 00000000EFAB23EF
+17 0123456789ABCDEF 0102060606060606 AD39A96DCDFA9702 00000000EFAB23EF
+18 0123456789ABCDEF 0107070707070707 7C57FF01CCB66C58 00000000EFAB23EF
+19 0123456789ABCDEF 0808080808080808 2F9C162C976D4D2E 00000000EFAB23EF
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/trandom/testdata/rc2cfb.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,78 @@
+01 FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFF 278B27E42E2F0D49 0000000000000000
++M RC2 CFB tests
++M These tests are taken from RC2 CBC tests, the results should 
++M be the same for the first block at least - they are not directly 
++M specified as part of the BSafe tests
++M BSafe tests - TVR2CBN0
++C Key............. Plaintext....... Ciphertext...... IV..............
++C 01 0000000000000000 0000000000000000 EBB773F993278EFF 0000000000000000
++M BSafe tests - TFCIV801
++M These appear not to be correct vectors...? They are from partial encrypt tests
++C 01 1234567890123456 000102030405060708091011121314151617181920212223 ADA134F25BA7E0281CBE461F05491F1CC08E67D3AEA1F190 0011223344556677
++C 02 1234567890123456 000102030405060708091011121314151617181920212223 D08502E791F56B76535055800911B4D6724ECD8EE3E3443B 7766554433221100
++M BSafe tests - TFRC2C00
+01 0123456789ABCDEF 1110010110010100 83919A5CBDDA91E8 0001101001101011
+02 0123456789ABCDEF 0001101001101011 83919A5CBDDA91E8 1110010110010100
+03 0123456789ABCDEF 88BCA90E90875A7F B0E5CDDD09CB4581 456789ABCDEF0123
+04 0123456789ABCDEF 0F79C384627BAFB2 B20420ABB639D2BE B0E5CDDD09CB4581
+05 0123456789ABCDEF 16F80A6F85920584 0BB613FC9B702A66 B20420ABB639D2BE
+06 0123456789ABCDEF 88BCA90E90875A7F0F79C384627BAFB216F80A6F85920584 B0E5CDDD09CB4581B20420ABB639D2BE0BB613FC9B702A66 456789ABCDEF0123
++M BSafe tests - TFRC2C01
++M This vector also appears broken, it is from partial encrypt tests
++C 01 0123456789ABCDEF 1011121314151617181920212223242526272829303132333435363738394041 D41F760B7391926552423C5B3204DFEECBDC9D7E6B8366FA397CDF48A2E359DC 0000000000000000
+02 0123456789ABCDEF 1122334455667788 560788C117EC3BF0 0000000000000000
+03 0123456789ABCDEF 1122334455667788AA11223344556677 560788C117EC3BF028D552DB234B64C5 0000000000000000
+04 0123456789ABCDEF 1122334455667788AA1122334455667788AA112233445566 560788C117EC3BF028D552DB234B64C58E0C5D57AF03D760 0000000000000000
++M BSafe tests - TVRC2C00
+01 FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF 278B27E42E2F0D49 0000000000000000
+02 3000000000000000 1000000000000001 30649EDF9BE7D2C2 0000000000000000
+03 1111111111111111 1111111111111111 08BA6FFA24CD2448 0000000000000000
+04 0123456789ABCDEF 1111111111111111 83919A5CBDDA91E8 0000000000000000
+05 1111111111111111 0123456789ABCDEF 715D05DCBAD0A52D 0000000000000000
+06 FEDCBA9876543210 0123456789ABCDEF AFF61F28ADB8F992 0000000000000000
+07 7CA110454A1A6E57 01A1D6D039776742 E6C72BD91A8317DA 0000000000000000
+08 0131D9619DC1376E 5CD54CA83DEF57DA 5DEC877636C097F4 0000000000000000
+09 07A1133E4A0B2686 0248D43806F67172 F6A678D160B219E1 0000000000000000
+10 3849674C2602319E 51454B582DDF440A F10947AADA21CC24 0000000000000000
+11 04B915BA43FEB5B6 42FD443059577FA2 2F999B72BFE16FA7 0000000000000000
+12 0113B970FD34F2CE 059B5E0851CF143A 35783A7937FC0786 0000000000000000
+13 0170F175468FB5E6 0756D8E0774761D2 4BE2541E1F1E9AE9 0000000000000000
+14 43297FAD38E373FE 762514B829BF486A 0D827AB91CBE6B81 0000000000000000
+15 07A7137045DA2A16 3BDD119049372802 0E4D330B57B01F64 0000000000000000
+16 04689104C2FD3B2F 26955F6835AF609A 0F89859336A2BB56 0000000000000000
+17 37D06BB516CB7546 164D5E404F275232 CC22A66F79417445 0000000000000000
+18 1F08260D1AC2465E 6B056E18759F5CCA 9A9FA77A5CE073A0 0000000000000000
+19 584023641ABA6176 004BD6EF09176062 D896266223671934 0000000000000000
+20 025816164629B007 480D39006EE762F2 4DF89CF7EE3D5B40 0000000000000000
+21 49793EBC79B3258F 437540C8698F3CFA 141F405CA84C25C4 0000000000000000
+22 4FB05E1515AB73A7 072D43A077075292 3F0558B19B018711 0000000000000000
+23 49E95D6D4CA229BF 02FE55778117F12A 585FE24017619CCF 0000000000000000
+24 018310DC409B26D6 1D9D5C5018F728C2 7963042382F61893 0000000000000000
+25 1C587F1C13924FEF 305532286D6F295A B3073BCAE8912B3B 0000000000000000
+26 0101010101010101 0123456789ABCDEF 927B508FF3609651 0000000000000000
+27 1F1F1F1F0E0E0E0E 0123456789ABCDEF D8E4684DCE864C3B 0000000000000000
+28 E0FEE0FEF1FEF1FE 0123456789ABCDEF AF317F8DB5F2B33C 0000000000000000
+29 0000000000000000 FFFFFFFFFFFFFFFF 0770C3EB6DC04678 0000000000000000
+30 FFFFFFFFFFFFFFFF 0000000000000000 A3A112654F81C5CD 0000000000000000
+31 0123456789ABCDEF 0000000000000000 A9F36E0F75C4D4E7 0000000000000000
+32 FEDCBA9876543210 FFFFFFFFFFFFFFFF 285155EE09767F79 0000000000000000
++M BSafe tests - TVRC2P00
+01 0123456789ABCDEF 6789ABCDEF012345 8AB9812A157EFA87 00000000EFAB23EF
+02 0123456789ABCDEF 6789ABCDEF0123450808080808080808 8AB9812A157EFA8791CF42833556FB07 00000000EFAB23EF
+03 0123456789ABCDEF 010203040506070809101112131415160808080808080808 2DEF62E545A755DEABB588A36AF7E2A11F65064B843373D0 00000000EFAB23EF
+04 0123456789ABCDEF 01020304050607080910111213141501 2DEF62E545A755DE377B2C5382276EC1 00000000EFAB23EF
+05 0123456789ABCDEF 01020304050607080910111213140202 2DEF62E545A755DE558B258C5E98416A 00000000EFAB23EF
+06 0123456789ABCDEF 01020304050607080910111213030303 2DEF62E545A755DE61202489EE7BA71D 00000000EFAB23EF
+07 0123456789ABCDEF 01020304050607080910111204040404 2DEF62E545A755DEE88E29056AE9DA70 00000000EFAB23EF
+08 0123456789ABCDEF 01020304050607080910110505050505 2DEF62E545A755DE3C07D96F3A786265 00000000EFAB23EF
+09 0123456789ABCDEF 01020304050607080910060606060606 2DEF62E545A755DEB44C5090B8835C81 00000000EFAB23EF
+10 0123456789ABCDEF 01020304050607080907070707070707 2DEF62E545A755DECC05EF7692F2C516 00000000EFAB23EF
+11 0123456789ABCDEF 01020304050607080808080808080808 2DEF62E545A755DEC6D72BD46DB0B596 00000000EFAB23EF
+12 0123456789ABCDEF 0102030405060701 BC833CE2076E664D 00000000EFAB23EF
+13 0123456789ABCDEF 0102030405060202 3A6906738CCCC62F 00000000EFAB23EF
+14 0123456789ABCDEF 0102030405030303 8C7CDFD20A4A6E28 00000000EFAB23EF
+15 0123456789ABCDEF 0102030404040404 7BC7D4549A008837 00000000EFAB23EF
+16 0123456789ABCDEF 0102030505050505 EB777B0CDB21B583 00000000EFAB23EF
+17 0123456789ABCDEF 0102060606060606 AD39A96DCDFA9702 00000000EFAB23EF
+18 0123456789ABCDEF 0107070707070707 7C57FF01CCB66C58 00000000EFAB23EF
+19 0123456789ABCDEF 0808080808080808 2F9C162C976D4D2E 00000000EFAB23EF
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/trandom/testdata/rc2ecb.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,52 @@
++M RC2 ECB tests
++M These tests are taken from RC2 CBC tests, the results should 
++M be the same for the first block when the IV consists only of
++M zeros - they are not directly specified as part of the BSafe 
++M tests
++M RFC 2268 tests
+01 88 0000000000000000 61A8A244ADACCCF0
+02 88BCA90E90875A 0000000000000000 6CCF4308974C267F
+03 88BCA90E90875A7F0F79C384627BAFB2 0000000000000000 1A807D272BBE5DB1
++M The following vector will fail as we only support 64 bit effective
++M key size and this will give the correct result for 128 bit 
++M effective key size.
++C 04 88BCA90E90875A7F0F79C384627BAFB2 0000000000000000 2269552AB0F85CA6
++C 05 88BCA90E90875A7F0F79C384627BAFB216F80A6F85920584C42FCEB0BE255DAF1E 0000000000000000 5B78D3A43DFFF1F1
++M BSafe tests - TVR2CBN0
++C Key............. Plaintext....... Ciphertext......
+01 0000000000000000 0000000000000000 EBB773F993278EFF
++M BSafe tests - TFRC2C01
+02 0123456789ABCDEF 1122334455667788 560788C117EC3BF0
++M BSafe tests - TVRC2C00
+01 FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF 278B27E42E2F0D49
+02 3000000000000000 1000000000000001 30649EDF9BE7D2C2
+03 1111111111111111 1111111111111111 08BA6FFA24CD2448
+04 0123456789ABCDEF 1111111111111111 83919A5CBDDA91E8
+05 1111111111111111 0123456789ABCDEF 715D05DCBAD0A52D
+06 FEDCBA9876543210 0123456789ABCDEF AFF61F28ADB8F992
+07 7CA110454A1A6E57 01A1D6D039776742 E6C72BD91A8317DA
+08 0131D9619DC1376E 5CD54CA83DEF57DA 5DEC877636C097F4
+09 07A1133E4A0B2686 0248D43806F67172 F6A678D160B219E1
+10 3849674C2602319E 51454B582DDF440A F10947AADA21CC24
+11 04B915BA43FEB5B6 42FD443059577FA2 2F999B72BFE16FA7
+12 0113B970FD34F2CE 059B5E0851CF143A 35783A7937FC0786
+13 0170F175468FB5E6 0756D8E0774761D2 4BE2541E1F1E9AE9
+14 43297FAD38E373FE 762514B829BF486A 0D827AB91CBE6B81
+15 07A7137045DA2A16 3BDD119049372802 0E4D330B57B01F64
+16 04689104C2FD3B2F 26955F6835AF609A 0F89859336A2BB56
+17 37D06BB516CB7546 164D5E404F275232 CC22A66F79417445
+18 1F08260D1AC2465E 6B056E18759F5CCA 9A9FA77A5CE073A0
+19 584023641ABA6176 004BD6EF09176062 D896266223671934
+20 025816164629B007 480D39006EE762F2 4DF89CF7EE3D5B40
+21 49793EBC79B3258F 437540C8698F3CFA 141F405CA84C25C4
+22 4FB05E1515AB73A7 072D43A077075292 3F0558B19B018711
+23 49E95D6D4CA229BF 02FE55778117F12A 585FE24017619CCF
+24 018310DC409B26D6 1D9D5C5018F728C2 7963042382F61893
+25 1C587F1C13924FEF 305532286D6F295A B3073BCAE8912B3B
+26 0101010101010101 0123456789ABCDEF 927B508FF3609651
+27 1F1F1F1F0E0E0E0E 0123456789ABCDEF D8E4684DCE864C3B
+28 E0FEE0FEF1FEF1FE 0123456789ABCDEF AF317F8DB5F2B33C
+29 0000000000000000 FFFFFFFFFFFFFFFF 0770C3EB6DC04678
+30 FFFFFFFFFFFFFFFF 0000000000000000 A3A112654F81C5CD
+31 0123456789ABCDEF 0000000000000000 A9F36E0F75C4D4E7
+32 FEDCBA9876543210 FFFFFFFFFFFFFFFF 285155EE09767F79
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/trandom/testdata/rc2ofb.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,77 @@
++M RC2 OFB tests
++M These tests are taken from RC2 CBC tests, the results should 
++M be the same for the first block at least - they are not directly 
++M specified as part of the BSafe tests
++M BSafe tests - TVR2CBN0
++C Key............. Plaintext....... Ciphertext...... IV..............
+01 0000000000000000 0000000000000000 EBB773F993278EFF 0000000000000000
++M BSafe tests - TFCIV801
++M These appear not to be correct vectors...? They are from partial encrypt tests
++C 01 1234567890123456 000102030405060708091011121314151617181920212223 ADA134F25BA7E0281CBE461F05491F1CC08E67D3AEA1F190 0011223344556677
++C 02 1234567890123456 000102030405060708091011121314151617181920212223 D08502E791F56B76535055800911B4D6724ECD8EE3E3443B 7766554433221100
++M BSafe tests - TFRC2C00
+01 0123456789ABCDEF 1110010110010100 83919A5CBDDA91E8 0001101001101011
+02 0123456789ABCDEF 0001101001101011 83919A5CBDDA91E8 1110010110010100
+03 0123456789ABCDEF 88BCA90E90875A7F B0E5CDDD09CB4581 456789ABCDEF0123
+04 0123456789ABCDEF 0F79C384627BAFB2 B20420ABB639D2BE B0E5CDDD09CB4581
+05 0123456789ABCDEF 16F80A6F85920584 0BB613FC9B702A66 B20420ABB639D2BE
+06 0123456789ABCDEF 88BCA90E90875A7F0F79C384627BAFB216F80A6F85920584 B0E5CDDD09CB4581B20420ABB639D2BE0BB613FC9B702A66 456789ABCDEF0123
++M BSafe tests - TFRC2C01
++M This vector also appears broken, it is from partial encrypt tests
++C 01 0123456789ABCDEF 1011121314151617181920212223242526272829303132333435363738394041 D41F760B7391926552423C5B3204DFEECBDC9D7E6B8366FA397CDF48A2E359DC 0000000000000000
+02 0123456789ABCDEF 1122334455667788 560788C117EC3BF0 0000000000000000
+03 0123456789ABCDEF 1122334455667788AA11223344556677 560788C117EC3BF028D552DB234B64C5 0000000000000000
+04 0123456789ABCDEF 1122334455667788AA1122334455667788AA112233445566 560788C117EC3BF028D552DB234B64C58E0C5D57AF03D760 0000000000000000
++M BSafe tests - TVRC2C00
+01 FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF 278B27E42E2F0D49 0000000000000000
+02 3000000000000000 1000000000000001 30649EDF9BE7D2C2 0000000000000000
+03 1111111111111111 1111111111111111 08BA6FFA24CD2448 0000000000000000
+04 0123456789ABCDEF 1111111111111111 83919A5CBDDA91E8 0000000000000000
+05 1111111111111111 0123456789ABCDEF 715D05DCBAD0A52D 0000000000000000
+06 FEDCBA9876543210 0123456789ABCDEF AFF61F28ADB8F992 0000000000000000
+07 7CA110454A1A6E57 01A1D6D039776742 E6C72BD91A8317DA 0000000000000000
+08 0131D9619DC1376E 5CD54CA83DEF57DA 5DEC877636C097F4 0000000000000000
+09 07A1133E4A0B2686 0248D43806F67172 F6A678D160B219E1 0000000000000000
+10 3849674C2602319E 51454B582DDF440A F10947AADA21CC24 0000000000000000
+11 04B915BA43FEB5B6 42FD443059577FA2 2F999B72BFE16FA7 0000000000000000
+12 0113B970FD34F2CE 059B5E0851CF143A 35783A7937FC0786 0000000000000000
+13 0170F175468FB5E6 0756D8E0774761D2 4BE2541E1F1E9AE9 0000000000000000
+14 43297FAD38E373FE 762514B829BF486A 0D827AB91CBE6B81 0000000000000000
+15 07A7137045DA2A16 3BDD119049372802 0E4D330B57B01F64 0000000000000000
+16 04689104C2FD3B2F 26955F6835AF609A 0F89859336A2BB56 0000000000000000
+17 37D06BB516CB7546 164D5E404F275232 CC22A66F79417445 0000000000000000
+18 1F08260D1AC2465E 6B056E18759F5CCA 9A9FA77A5CE073A0 0000000000000000
+19 584023641ABA6176 004BD6EF09176062 D896266223671934 0000000000000000
+20 025816164629B007 480D39006EE762F2 4DF89CF7EE3D5B40 0000000000000000
+21 49793EBC79B3258F 437540C8698F3CFA 141F405CA84C25C4 0000000000000000
+22 4FB05E1515AB73A7 072D43A077075292 3F0558B19B018711 0000000000000000
+23 49E95D6D4CA229BF 02FE55778117F12A 585FE24017619CCF 0000000000000000
+24 018310DC409B26D6 1D9D5C5018F728C2 7963042382F61893 0000000000000000
+25 1C587F1C13924FEF 305532286D6F295A B3073BCAE8912B3B 0000000000000000
+26 0101010101010101 0123456789ABCDEF 927B508FF3609651 0000000000000000
+27 1F1F1F1F0E0E0E0E 0123456789ABCDEF D8E4684DCE864C3B 0000000000000000
+28 E0FEE0FEF1FEF1FE 0123456789ABCDEF AF317F8DB5F2B33C 0000000000000000
+29 0000000000000000 FFFFFFFFFFFFFFFF 0770C3EB6DC04678 0000000000000000
+30 FFFFFFFFFFFFFFFF 0000000000000000 A3A112654F81C5CD 0000000000000000
+31 0123456789ABCDEF 0000000000000000 A9F36E0F75C4D4E7 0000000000000000
+32 FEDCBA9876543210 FFFFFFFFFFFFFFFF 285155EE09767F79 0000000000000000
++M BSafe tests - TVRC2P00
+01 0123456789ABCDEF 6789ABCDEF012345 8AB9812A157EFA87 00000000EFAB23EF
+02 0123456789ABCDEF 6789ABCDEF0123450808080808080808 8AB9812A157EFA8791CF42833556FB07 00000000EFAB23EF
+03 0123456789ABCDEF 010203040506070809101112131415160808080808080808 2DEF62E545A755DEABB588A36AF7E2A11F65064B843373D0 00000000EFAB23EF
+04 0123456789ABCDEF 01020304050607080910111213141501 2DEF62E545A755DE377B2C5382276EC1 00000000EFAB23EF
+05 0123456789ABCDEF 01020304050607080910111213140202 2DEF62E545A755DE558B258C5E98416A 00000000EFAB23EF
+06 0123456789ABCDEF 01020304050607080910111213030303 2DEF62E545A755DE61202489EE7BA71D 00000000EFAB23EF
+07 0123456789ABCDEF 01020304050607080910111204040404 2DEF62E545A755DEE88E29056AE9DA70 00000000EFAB23EF
+08 0123456789ABCDEF 01020304050607080910110505050505 2DEF62E545A755DE3C07D96F3A786265 00000000EFAB23EF
+09 0123456789ABCDEF 01020304050607080910060606060606 2DEF62E545A755DEB44C5090B8835C81 00000000EFAB23EF
+10 0123456789ABCDEF 01020304050607080907070707070707 2DEF62E545A755DECC05EF7692F2C516 00000000EFAB23EF
+11 0123456789ABCDEF 01020304050607080808080808080808 2DEF62E545A755DEC6D72BD46DB0B596 00000000EFAB23EF
+12 0123456789ABCDEF 0102030405060701 BC833CE2076E664D 00000000EFAB23EF
+13 0123456789ABCDEF 0102030405060202 3A6906738CCCC62F 00000000EFAB23EF
+14 0123456789ABCDEF 0102030405030303 8C7CDFD20A4A6E28 00000000EFAB23EF
+15 0123456789ABCDEF 0102030404040404 7BC7D4549A008837 00000000EFAB23EF
+16 0123456789ABCDEF 0102030505050505 EB777B0CDB21B583 00000000EFAB23EF
+17 0123456789ABCDEF 0102060606060606 AD39A96DCDFA9702 00000000EFAB23EF
+18 0123456789ABCDEF 0107070707070707 7C57FF01CCB66C58 00000000EFAB23EF
+19 0123456789ABCDEF 0808080808080808 2F9C162C976D4D2E 00000000EFAB23EF
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/trandom/testdata/rc4.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,13 @@
++C Key............. Plaintext....................... Ciphertext......................
++C 01 FEDCBA9876543210 0123456789ABCDEFFEDCBA9876543210 DAE10FB4E886C6671003CB322806393D
++C 02 7554537A544B4361 1400000CC385724820366F8131FDAB5DFE5F2D14ED688CFB59E2904F79ED6FA7 310A5741F57FF354A2986C580A4F6D82A0A603898C94242B1D3BAFE42CC9B059
++C 03 7554537A54 1400000CC385724820366F8131FDAB5DFE5F2D14ED688CFB59E2904F79ED6FA7 310A5741F57FF354A2986C580A4F6D82A0A603898C94242B1D3BAFE42CC9B059
++C 04 0123456789ABCDEF 0123456789ABCDEF 75B7878099E0C596 
++C 05 0123456789ABCDEF 0000000000000000 7494C2E7104B0879 
++C 06 0000000000000000 0000000000000000 DE188941A3375D3A 
++C 07 EF012345 00000000000000000000 D6A141A7EC3C38DFBD61 
+01 70E40040838C10495A4B31551D2A18EF 9017E9CEB5ECDD634860A86C1BB51663A5244CED6125B0359DAE984EDE35C86D 1400000C12C873074727389C1041B96E3BF94260A8772A294823ACA42EF21651
++C 
++M Test case 1 - RC4, 128
+02 022F0FFA3CB41D904C9D8A5EB98FC953 1400000CED47F2AC3869DAEA1E2A05F51BAACEA8885D0FECCAE2A4E9A9419C6B 09B6024ACDDAB55A0CE3D306A70467D39F1190C27280664153F7B713B0F61AC2
++C 8B79D448AF287802625D22E0C97A1A3E555EE2F263FE649DE7A0AA66AF4A6A53
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/trandom/testdata/rc5cbc.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,35 @@
++C Rounds Key IV Plaintext Ciphertext
++C Our implementation only supports RC5 with 8, 12 or 16 rounds.
++C All other test vectors removed.
++C 01 00 00 0000000000000000 0000000000000000 7A7BBA4D79111D1E
++C 02 00 00 0000000000000000 FFFFFFFFFFFFFFFF 797BBA4D78111D1E
++C 03 00 00 0000000000000001 0000000000000000 7A7BBA4D79111D1F
++C 04 00 00 0000000000000000 0000000000000001 7A7BBA4D79111D1F
++C 05 00 00 0102030405060708 1020304050607080 8B9DED91CE7794A6
++C 06 01 11 0000000000000000 0000000000000000 2F759FE7AD86A378
++C 07 02 00 0000000000000000 0000000000000000 DCA2694BF40E0788
++C 08 02 00000000 0000000000000000 0000000000000000 DCA2694BF40E0788
+09 08 00 0000000000000000 0000000000000000 DCFE098577ECA5FF
+10 08 00 0102030405060708 1020304050607080 9646FB77638F9CA8
+11 12 00 0102030405060708 1020304050607080 B2B3209DB6594DA4
+12 16 00 0102030405060708 1020304050607080 545F7F32A5FC3836
+13 08 01020304 0000000000000000 FFFFFFFFFFFFFFFF 8285E7C1B5BC7402
+14 12 01020304 0000000000000000 FFFFFFFFFFFFFFFF FC586F92F7080934
+15 16 01020304 0000000000000000 FFFFFFFFFFFFFFFF CF270EF9717FF7C4
+16 12 0102030405060708 0000000000000000 FFFFFFFFFFFFFFFF E493F1C1BB4D6E8C
+17 08 0102030405060708 0102030405060708 1020304050607080 5C4C041E0F217AC3
+18 12 0102030405060708 0102030405060708 1020304050607080 921F12485373B4F7
+19 16 0102030405060708 0102030405060708 1020304050607080 5BA0CA6BBE7F5FAD
+20 08 01020304050607081020304050607080 0102030405060708 1020304050607080 C533771CD0110E63
+21 12 01020304050607081020304050607080 0102030405060708 1020304050607080 294DDB46B3278D60
+22 16 01020304050607081020304050607080 0102030405060708 1020304050607080 DAD6BDA9DFE8F7E8
+23 12 0102030405 0000000000000000 FFFFFFFFFFFFFFFF 97E0787837ED317F
+24 08 0102030405 0000000000000000 FFFFFFFFFFFFFFFF 7875DBF6738C6478
+25 08 0102030405 7875DBF6738C6478 0808080808080808 8F34C3C681C99695
+26 08 0102030405 0000000000000000 0000000000000000 7CB3F1DF34F94811
+27 08 0102030405 7CB3F1DF34F94811 1122334455667701 7FD1A023A5BBA217
++M BSafe tests - TVR5CBN0
+01 12 00000000000000000000000000000000 0000000000000000 0000000000000000 21A5DBEE154B8F6D
++M BSafe tests - TFCIV804
+01 12 1234567890123456 0011223344556677 000102030405060708091011121314151617181920212223 53DECC19EE94E6D0FB497EE707BFFF094DBA7E93EBE17981
+02 12 1234567890123456 7766554433221100 000102030405060708091011121314151617181920212223 211394F772F9B728A2649D018DE1D2AEE8C3EE063507136F
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/trandom/testdata/rc5cfb.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,1 @@
++C This file contains test vectors for the RC5 CFB algorithm
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/trandom/testdata/rc5ecb.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,11 @@
++C RC5 test code
++M RC5 BSafe test TVR5WECB
++C Rounds Key Plaintext Ciphertext
+01 12 00000000000000000000000000000000 00000000000000000000000000000000 039C8D97D421151DE99813BC908B09DF
+02 12 000102030405060708090A0B0C0D0E0F 00000000000000000000000000000000 ED3BCE26F32ADF4141F88B1905D31B50
+03 12 00000000000000000000000000000000 000102030405060708090A0B0C0D0E0F DBCCD45C6DE1CAF3183C2DFD04A82FA9
+04 12 000102030405060708090A0B0C0D0E0F 000102030405060708090A0B0C0D0E0F 75DA0D750094184E218622C0BFC16DF0
+05 12 00000000000000000000000000000000 92F836DDB75BD33A247F93805AB485CD C24ADF7F7A46747020C35C65EA29E7E0
+06 12 CE9E07193FD8D69C9BAB24B1686D7565 37983EEE84DEC31157AEC92EAE3B3388 0130CE147E8E611698E0610D1B6A5BC3
+07 12 37983EEE84DEC31157AEC92EAE3B3388 ED3BCE26F32ADF4141F88B1905D31B50 CE9E07193FD8D69C9BAB24B1686D7565
+08 12 ED3BCE26F32ADF4141F88B1905D31B50 000102030405060708090A0B0C0D0E0F 37983EEE84DEC31157AEC92EAE3B3388
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/trandom/testdata/rc5ofb.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,1 @@
++C This file contains test vectors for the RC5 CFB algorithm
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/trandom/testdata/rsa.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,18 @@
++C This file contains test data for a number of RSA test cases.
++C Each is split into a different section, with Modulus, Public exponent,
++C Input and Output lines, each containing a number for the test.
+Start testcase1
++C This test case doesn't work, it comes from some of Philippes data
+Type Decrypt
+Modulus 01AFF1BFA898E4656DC06F97F5CDA85345E4813A92E57C39A72F277A4DFEAAD685507241F61B0C5E744A2BF12EE2B162D7674C8DE231BEDBF3AF349BF92199D2E97C735033C39E109FAC775D12EBDAED0132EE1E9125816F8099C84B93F946379CB7
+PublicExponent 010001
+Input 0192BB944584995809F6414D0EC12D8A64356CBDC7A21CCCCD3C09F3A0C49DAED0F2731C6B16368346F5DD46F065292461AACA8CF1F5D862D43E97C0502498478BE39A44E512698E3B0CF7DB816914D328DEC9D5728A63AE906514E8FD493B08F219
+Output 10CAE34DDAF234B5FEEDD98AC544E0279AE2C5C14D1EC835FEB6F48AEB26414B
+End testcase1
+Start testcase2
+Type Decrypt
+Modulus DA0EE6998DCEA3E34F8A7EFBF18B83256BEA481FF12AB0B9951104BDF063D1E26766CF1CDDCF1B482BEE8D898E9AAF298065ABE9C72D12CBAB1C4C7007A13D0A30CD158D4FF8DDD48C50151CEF50EEC42EF7FCE952F2917DE06DD535308E5E4373F241E9D56AE3B2893A5639386F063C88695B2A4DC5A754B86C89CC9BF93CCAE5FD89F5123C927896D6DC746E934461D18DC746B2750E86E8198AD56D6CD5781695A2E9C80A38EBF224134F73549313853A1BBC1E34B58B058CB9778BB1DB1F2091AB09536E90CE7B3774B97047912251631679AEB1AE412608C8192BD146AA48D6642AD78334FF2C2AC16C19434A0785E7D37CF62168EFEAF2529F7F9390CF
+PublicExponent 010001
+Input AEAA9FFCB7D2CB1F5F392928189E34C96C4F6F1AF064A2704A4F13869B60289EE88149987D0ABBE5B09D3D36DB8F0551FF09312A1FDD89779E0F2E6C9504ED86CBB4003F84024D806A2A2D780BAE6F2BA28344831FCD50824C24AFBDF7A5B4C85A0FF4E7475E498E3796FE9A88053AD9C0DB2987E6199647A73AA68C8B3C77FE4663A753DA21D1AC7E49A24BE6C367592FB38A0EBB2CBDA9AA427C35C1D87FD5A7313A4E634339AF08B061348CD398A94334F60F87293B9DC256589877C3F71BACF69DF83EAAA75445F0F5F9D53165FE6B589C71B31ED752EA3217FC40601DC97924B2F66CFDA8660E82DD98CBDAC2444F2EA07BF2F76B2C761184468A78A3E3
+Output F904CF7410706034554285462CF063C6
+End testcase2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/trandom/testdata/script.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,54 @@
++C This file contains the central script for test vectors
++C The format is:
++C AlgorithmType TestType Algorithm (Variant) (File)
++C 
++C Where:
++C AlgorithmType is Symmetric, Asymmetric or Padding
++C TestType is Function, Vector, OOM, Error, Performance, Problem or UnfixedProblem
++C Algorithm is DES, RC2, RC4, RSA etc 
++C Variant (where applicable) is CFB, OFB, CBC or ECB
++C File is the name of the file where the known vectors can be found
++M Functionality Testing
+Symmetric Performance 3DES2 ECB
+Symmetric Performance 3DES3 ECB
+Symmetric Performance RC2 ECB
+Asymmetric Performance RSA
+Asymmetric Performance DH
+Symmetric Performance RC5 ECB
+Symmetric Performance DES ECB
+Quit
+Symmetric Vector RC5 CBC RC5CBC.DAT
+Symmetric Vector RC5 CFB RC5CFB.DAT
+Symmetric Vector RC5 OFB RC5OFB.DAT
+Quit
+Symmetric Vector DES ECB DESECB.DAT
+Symmetric Vector DES CBC DESCBC.DAT
+Symmetric Vector DES CFB DESCFB.DAT
+Symmetric Vector DES OFB DESOFB.DAT
+Symmetric Vector 3DES2 ECB 3DESECB.DAT
+Symmetric Vector 3DES2 CBC 3DESCBC.DAT
+Symmetric Vector 3DES2 CFB 3DESCFB.DAT
+Symmetric Vector 3DES2 OFB 3DESOFB.DAT
+Symmetric Vector 3DES3 ECB 3DESECB.DAT
+Symmetric Vector 3DES3 CBC 3DESCBC.DAT
+Symmetric Vector 3DES3 CFB 3DESCFB.DAT
+Symmetric Vector 3DES3 OFB 3DESOFB.DAT
+Symmetric Function DES ECB Modes
+Symmetric Function DES ECB Variable
+Symmetric Function RC2 ECB
+Symmetric Function RC4 
+Symmetric Function RC5 ECB
+Asymmetric Function RSA
+Asymmetric Function DH
+Asymmetric Function DSA
++M Padding tests
+Padding Function NoPadding
+Padding Function SSLPadding
+Padding Vector NoPadding
+Padding OOM NoPadding
+Padding Error NoPadding
+Padding Performance NoPadding
+Padding Problem NoPadding
+Padding UnfixedProblem NoPadding
+Padding Spurious NoPadding
+ 
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/trandom/testdata/sha.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,3 @@
++M SHA tests
++C This file contains test vectors for the SHA algorithm...
++M   FIPS 180: SHA vectors test
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/trandom/testdata/sha1.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,5 @@
++M SHA1 tests
++C This file contains test vectors for the SHA1 algorithm...
++M   FIPS 180-1: SHA1 vectors test
+616263 A9993E364706816ABA3E25717850C26C9CD0D89D
+6162636462636465636465666465666765666768666768696768696A68696A6B696A6B6C6A6B6C6D6B6C6D6E6C6D6E6F6D6E6F706E6F7071 84983E441C3BD26EBAAE4AA1F95129E5E54670F1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/trandom/testdata/vector.dat	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,31 @@
++M Vector test file
++M RC2 tests
+Symmetric Vector RC2 ECB RC2ECB.DAT
+Symmetric Vector RC2 CBC RC2CBC.DAT
++C CFB/OFB not working? - no test vectors
+Symmetric Vector RC2 CFB RC2CFB.DAT
+Symmetric Vector RC2 OFB RC2OFB.DAT
++M RC4 tests
+Symmetric Vector RC4 RC4.DAT
++M RC5 tests
++C RC5 ECB not working
+Symmetric Vector RC5 ECB RC5ECB.DAT
+Symmetric Vector RC5 CBC RC5CBC.DAT
++C No vectors available right now
++C Symmetric Vector RC5 CFB RC5CFB.DAT
++C No vectors available right now
++C Symmetric Vector RC5 OFB RC5OFB.DAT
++M DES tests
+Symmetric Vector DES ECB DESECB.DAT
+Symmetric Vector DES CBC DESCBC.DAT
+Symmetric Vector DES CFB DESCFB.DAT
+Symmetric Vector DES OFB DESOFB.DAT
++M 3DES tests
+Symmetric Vector 3DES2 ECB 3DES2ECB.DAT
+Symmetric Vector 3DES2 CBC 3DES2CBC.DAT
+Symmetric Vector 3DES2 CFB 3DES2CFB.DAT
+Symmetric Vector 3DES2 OFB 3DES2OFB.DAT
+Symmetric Vector 3DES3 ECB 3DES3ECB.DAT
+Symmetric Vector 3DES3 CBC 3DES3CBC.DAT
+Symmetric Vector 3DES3 CFB 3DES3CFB.DAT
+Symmetric Vector 3DES3 OFB 3DES3OFB.DAT
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tsymmetric/cryptotestaction.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,282 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include "cryptotestaction.h"
+#include <securityerr.h>
+#include <cryptostrength.h>
+#include "../common/inlines.h"
+#include "t_output.h"
+
+CCryptoTestAction::CCryptoTestAction(RFs& aFs, CConsoleBase& aConsole, Output& aOut)
+:	CTestAction(aConsole, aOut), iFs(aFs), iEffectiveKeyLen(128)
+{}
+
+CCryptoTestAction::~CCryptoTestAction()
+{
+	delete iBody;
+}
+
+void CCryptoTestAction::ConstructL(const TTestActionSpec& aTestActionSpec)
+{
+	CTestAction::ConstructL(aTestActionSpec);
+	iBody = HBufC8::NewL(aTestActionSpec.iActionBody.Length());
+	iBody->Des().Copy(aTestActionSpec.iActionBody);	
+}
+
+void CCryptoTestAction::DoPerformPrerequisite(TRequestStatus& aStatus)
+{
+	TRequestStatus* status = &aStatus;
+	
+	TRAPD(r, DoPerformPrerequisiteL());
+	if ((r != iExpectedWeakResult) && (TCrypto::Strength() == TCrypto::EWeak))
+		{
+		r = KErrUnknown;
+		}
+	User::RequestComplete(status, r);
+	if (KErrNone==r)
+		{
+		iActionState = CTestAction::EAction;
+		}
+	else if (r==KErrKeyNotWeakEnough)
+		{
+		iResult = ETrue;
+		iConsole.Printf(_L("Crypto libraries returned KErrKeyNotWeakEnough!  Passing test automatically.\n\r"));
+		iOut.writeString(_L("Crypto libraries returned KErrKeyNotWeakEnough!  Passing test automatically.\r\n"));
+		iActionState = CTestAction::EPostrequisite;
+		}
+	else if (r==KErrWeakKey)
+		{
+		iResult = ETrue;
+		iConsole.Printf(_L("Crypto libraries returned KErrWeakKey!  Passing test automatically.\n\r"));
+		iOut.writeString(_L("Crypto libraries returned KErrWeakKey!  Passing test automatically.\r\n"));
+		iActionState = CTestAction::EPostrequisite;
+		}
+	else
+		{
+		iActionState = CTestAction::EPostrequisite;
+		}
+}
+
+void CCryptoTestAction::DoPerformPostrequisite(TRequestStatus& aStatus)
+{
+	TRequestStatus* status = &aStatus;
+	TRAPD(r, DoPerformPostrequisiteL());
+	delete iKey;
+	delete iInput;
+	delete iOutput;
+	delete iIV;
+	delete iEResult;
+	delete iDResult;
+
+	iFinished = ETrue;
+	User::RequestComplete(status, r);
+}
+
+void CCryptoTestAction::DoReportAction(void)
+{}
+
+void CCryptoTestAction::DoCheckResult(TInt)
+{
+	if (iResult==EFalse)
+		iConsole.Printf(_L("X"));
+	else
+		iConsole.Printf(_L("."));
+}
+
+void CCryptoTestAction::PerformAction(TRequestStatus& aStatus)
+{
+	TRequestStatus* status = &aStatus;
+
+	TRAPD(res, DoPerformActionL());
+	if (res==KErrNoMemory)
+		{
+		User::Leave(res);	//	For OOM testing
+		}
+	iActionState = CTestAction::EPostrequisite;
+	User::RequestComplete(status, res);
+}
+
+
+void CCryptoTestAction::DoInputParseL(TDesC8& aScriptBuffer)
+{
+	TInt err = KErrNone;
+	TInt pos = 0;
+
+	TPtrC8 keyTemp = Input::ParseElement(aScriptBuffer, KKeyStart, KKeyEnd, pos, err);
+	iKey = HBufC8::NewL(keyTemp.Length());
+	*iKey = keyTemp;
+	Hex(*iKey);
+
+	pos = 0;
+	TPtrC8 inputTemp = Input::ParseElement(aScriptBuffer, KInputStart, KInputEnd, pos, err);
+	iInput = HBufC8::NewL(inputTemp.Length());
+	*iInput = inputTemp;
+	Hex(*iInput);
+
+	pos = 0;
+	TPtrC8 ivTemp = Input::ParseElement(aScriptBuffer, KIVStart, KIVEnd, pos, err);
+	iIV = HBufC8::NewL(ivTemp.Length());
+	*iIV = ivTemp;
+	Hex(*iIV);
+
+	pos = 0;
+	TPtrC8 outputTemp = Input::ParseElement(aScriptBuffer, KOutputStart, KOutputEnd, pos, err);
+	iOutput = HBufC8::NewL(outputTemp.Length());
+	*iOutput = outputTemp;
+	Hex(*iOutput);
+
+	pos = 0;
+	TPtrC8 cipherType = Input::ParseElement(aScriptBuffer, KCipherTypeStart, KCipherTypeEnd, pos, err);
+	iExpectedWeakResult = KErrNone;
+	if( cipherType == _L8("DESECB") )
+	{
+		iCipherType = EDESECB;
+	}
+	else if( cipherType == _L8("DESCBC") )
+	{
+		iCipherType = EDESCBC;
+	}
+	else if( cipherType == _L8("3DESECB") )
+	{
+		iCipherType = E3DESECB;
+		iExpectedWeakResult = KErrKeyNotWeakEnough;
+	}
+	else if( cipherType == _L8("3DESCBC") )
+	{
+		iCipherType = E3DESCBC;
+		iExpectedWeakResult = KErrKeyNotWeakEnough;
+	}
+	else if( cipherType == _L8("AESECB") )
+	{
+		iCipherType = EAESECB;
+		iExpectedWeakResult = KErrKeyNotWeakEnough;
+	}
+	else if (cipherType==_L8("AESENC_ECB") )
+	{
+		iCipherType = EAESMonteCarloEncryptECB;	
+		iExpectedWeakResult = KErrKeyNotWeakEnough;
+	}
+	else if (cipherType==_L8("AESDEC_ECB") )
+	{
+		iCipherType = EAESMonteCarloDecryptECB;	
+		iExpectedWeakResult = KErrKeyNotWeakEnough;
+	}
+	else if (cipherType==_L8("AESENC_CBC") )
+	{
+		iCipherType = EAESMonteCarloEncryptCBC;	
+		iExpectedWeakResult = KErrKeyNotWeakEnough;
+	}
+	else if (cipherType==_L8("AESDEC_CBC") )
+	{
+		iCipherType = EAESMonteCarloDecryptCBC;		
+		iExpectedWeakResult = KErrKeyNotWeakEnough;
+	}
+	else if( cipherType == _L8("RC2ECB") )
+	{
+		iCipherType = ERC2ECB;
+		// weak enough if either aKey or aEffectiveKeyLen is weak
+		TInt minKeySize = Min(iEffectiveKeyLen, BytesToBits(iKey->Size()));
+		TRAP(iExpectedWeakResult, TCrypto::IsSymmetricWeakEnoughL(minKeySize));
+	}
+	else if( cipherType == _L8("RC2CBC") )
+	{
+		iCipherType = ERC2CBC;
+		// weak enough if either aKey or aEffectiveKeyLen is weak
+		TInt minKeySize = Min(iEffectiveKeyLen, BytesToBits(iKey->Size()));
+		TRAP(iExpectedWeakResult, TCrypto::IsSymmetricWeakEnoughL(minKeySize));
+	}
+	else if( cipherType == _L8("RC4") )
+	{
+		iCipherType = ERC4;
+		TRAP(iExpectedWeakResult, TCrypto::IsSymmetricWeakEnoughL(BytesToBits(iKey->Size())));
+	}
+	else if( cipherType == _L8("NULL") )
+	{
+		iCipherType = ECipherNull;
+	}
+	else if( cipherType == _L8("DESECB_WKT"))
+	{
+		iCipherType = EDESECB;	
+		iExpectedWeakResult = KErrWeakKey;
+	}
+	else if( cipherType == _L8("DESCBC_WKT"))
+	{
+		iCipherType = EDESCBC;	
+		iExpectedWeakResult = KErrWeakKey;
+	}
+	else 
+	{
+		TBuf<64> cipherName(0);
+		cipherName.Copy(cipherType);
+		TBuf<256> formattable;
+		formattable.Format(_L("\nBad Cipher Type: %S"), &cipherName);
+		iConsole.Printf(formattable);
+
+		iActionState = CTestAction::EPostrequisite;
+		User::Leave(KErrNotSupported);
+	}
+
+	if ( (iCipherType==ERC2ECB) || (iCipherType==ERC2CBC) )
+	{
+		pos = 0;
+		TPtrC8 effKeyLenTemp = Input::ParseElement(aScriptBuffer, KEffKeyLenStart, KEffKeyLenEnd, pos, err);
+
+		if (effKeyLenTemp.Length() != 0)
+		{
+			TLex8 lex;
+			lex.Assign(effKeyLenTemp);
+			User::LeaveIfError(lex.Val(iEffectiveKeyLen));
+		}
+	}
+
+	pos = 0;
+	TPtrC8 iterationsTemp = Input::ParseElement(aScriptBuffer, KIterationsStart, KIterationsEnd, pos, err);	
+	TLex8 lex;
+	lex.Assign(iterationsTemp);
+	err = lex.Val(iIterationTime);
+
+	pos = 0;
+	TPtrC8 randTemp = Input::ParseElement(aScriptBuffer, KRandDataSizeStart, KRandDataSizeEnd, pos, err);	
+	TLex8 randlex;
+	randlex.Assign(randTemp);
+	err = randlex.Val(iRandDataSize);	
+
+	delete iBody;
+	iBody = NULL;
+}
+
+void CCryptoTestAction::Hex(HBufC8& aString)
+    {
+    TPtr8 ptr=aString.Des();
+    if (aString.Length()%2)
+        {
+        ptr.SetLength(0);
+        return;
+        }
+    TInt i;
+    for (i=0;i<aString.Length();i+=2)
+        {
+        TUint8 tmp;
+        tmp=(TUint8)(aString[i]-(aString[i]>'9'?('A'-10):'0'));
+        tmp*=16;
+        tmp|=(TUint8)(aString[i+1]-(aString[i+1]>'9'?('A'-10):'0'));
+        ptr[i/2]=tmp;
+        }
+    ptr.SetLength(aString.Length()/2);
+    }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tsymmetric/cryptotestaction.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,107 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#ifndef __CRYPTOTESTACTION_H__
+#define __CRYPTOTESTACTION_H__
+
+#include "t_testaction.h"
+#include "t_input.h"
+
+_LIT8(KVectorStart, "<vector>");
+_LIT8(KVectorEnd, "</vector>");
+_LIT8(KIncrementalStart, "<incremental>");
+_LIT8(KIncrementalEnd, "</incremental>");
+_LIT8(KKeyStart, "<key>");
+_LIT8(KKeyEnd, "</key>");
+_LIT8(KInputStart, "<input>");
+_LIT8(KInputEnd, "</input>");
+_LIT8(KOutputStart, "<output>");
+_LIT8(KOutputEnd, "</output>");
+_LIT8(KCipherTypeStart, "<ciphertype>");
+_LIT8(KCipherTypeEnd, "</ciphertype>");
+_LIT8(KIVStart, "<iv>");
+_LIT8(KIVEnd, "</iv>");
+_LIT8(KMonteCarloStart, "<MonteCarlo>");
+_LIT8(KMonteCarloEnd, "</MonteCarlo>");
+_LIT8(KEffKeyLenStart, "<effectiveKeyLength>");
+_LIT8(KEffKeyLenEnd, "</effectiveKeyLength>");
+_LIT8(KIterationsStart, "<iterations>");
+_LIT8(KIterationsEnd, "</iterations>");
+_LIT8(KRandDataSizeStart, "<randDataSize>"); //Used specifically in performance tests where random data is used rather than specific input and output data pairs
+_LIT8(KRandDataSizeEnd, "</randDataSize>");  //Used specifically in performance tests where random data is used rather than specific input and output data pairs
+
+
+class CCryptoTestAction : public CTestAction
+{
+public:
+	CCryptoTestAction(RFs& aFs, CConsoleBase& aConsole, Output& aOut);
+	~CCryptoTestAction();
+public:
+	virtual void ConstructL(const TTestActionSpec& aTestActionSpec);
+	virtual void DoPerformPrerequisite(TRequestStatus& aStatus);
+	virtual void DoPerformPostrequisite(TRequestStatus& aStatus);
+	virtual void PerformAction(TRequestStatus& aStatus);
+	virtual void DoReportAction(void);
+	virtual void DoCheckResult(TInt);
+	virtual void Reset(){}
+protected:	
+	virtual void DoPerformPrerequisiteL() = 0;
+	virtual void DoPerformActionL() = 0;
+	virtual void DoPerformPostrequisiteL() {}
+protected:
+	void Hex(HBufC8& string);
+	void DoInputParseL(TDesC8& aScriptBuffer);
+protected:
+	enum TCipherType
+	{
+		EDESECB,
+		EDESCBC,
+		E3DESECB,
+		E3DESCBC,
+		EAESECB,
+		EAESCBC,
+		EAESMonteCarloEncryptECB,	//	These extra categories have been added
+		EAESMonteCarloDecryptECB,	//	because the Monte-Carlo tests have to be
+		EAESMonteCarloEncryptCBC,	//	split between encrypt and decrypt scripts 
+		EAESMonteCarloDecryptCBC,	//	(too big for test framework in one chunk)
+		ERC2ECB,
+		ERC2CBC,
+		ERC4,
+		ECipherNull
+	};
+protected:
+	RFs& iFs;
+	HBufC8* iBody;
+	HBufC8* iKey;
+	HBufC8* iInput;
+	HBufC8* iOutput;
+	HBufC8* iIV;
+	HBufC8* iEResult;
+	HBufC8* iDResult;
+	TInt iEffectiveKeyLen;
+	TInt iIterationTime;
+	TInt iEncryptIterations;
+	TInt iDecryptIterations;
+	TCipherType iCipherType;
+	TTimeIntervalMicroSeconds iEncryptorCreateTime;
+	TTimeIntervalMicroSeconds iDecryptorCreateTime;
+	TInt iExpectedWeakResult;
+	TInt iRandDataSize;
+};
+
+#endif	//	__CRYPTOTESTACTION_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tsymmetric/scripts/AESECBVectorsScript.txt	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,6145 @@
+<action>
+	<actionname>AESECB Vector Test 0</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00010203050607080A0B0C0D0F101112</key>
+			<input>506812A45F08C889B97F5980038B8359</input>
+			<output>D8F532538289EF7D06B506A4FD5BE9C9</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test  1</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>14151617191A1B1C1E1F202123242526</key>
+			<input>5C6D71CA30DE8B8B00549984D2EC7D4B</input>
+			<output>59AB30F4D4EE6E4FF9907EF65B1FB68C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test  2</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>28292A2B2D2E2F30323334353738393A</key>
+			<input>53F3F4C64F8616E4E7C56199F48F21F6</input>
+			<output>BF1ED2FCB2AF3FD41443B56D85025CB1</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test  3</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>3C3D3E3F41424344464748494B4C4D4E</key>
+			<input>A1EB65A3487165FB0F1C27FF9959F703</input>
+			<output>7316632D5C32233EDCB0780560EAE8B2</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test  4</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>50515253555657585A5B5C5D5F606162</key>
+			<input>3553ECF0B1739558B08E350A98A39BFA</input>
+			<output>408C073E3E2538072B72625E68B8364B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test  5</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>64656667696A6B6C6E6F707173747576</key>
+			<input>67429969490B9711AE2B01DC497AFDE8</input>
+			<output>E1F94DFA776597BEACA262F2F6366FEA</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test  6</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>78797A7B7D7E7F80828384858788898A</key>
+			<input>93385C1F2AEC8BED192F5A8E161DD508</input>
+			<output>F29E986C6A1C27D7B29FFD7EE92B75F1</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test  7</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>8C8D8E8F91929394969798999B9C9D9E</key>
+			<input>B5BF946BE19BEB8DB3983B5F4C6E8DDB</input>
+			<output>131C886A57F8C2E713ABA6955E2B55B5</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test  8</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>A0A1A2A3A5A6A7A8AAABACADAFB0B1B2</key>
+			<input>41321EE10E21BD907227C4450FF42324</input>
+			<output>D2AB7662DF9B8C740210E5EEB61C199D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test  9</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>B4B5B6B7B9BABBBCBEBFC0C1C3C4C5C6</key>
+			<input>00A82F59C91C8486D12C0A80124F6089</input>
+			<output>14C10554B2859C484CAB5869BBE7C470</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test  10</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>C8C9CACBCDCECFD0D2D3D4D5D7D8D9DA</key>
+			<input>7CE0FD076754691B4BBD9FAF8A1372FE</input>
+			<output>DB4D498F0A49CF55445D502C1F9AB3B5</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test  11</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>DCDDDEDFE1E2E3E4E6E7E8E9EBECEDEE</key>
+			<input>23605A8243D07764541BC5AD355B3129</input>
+			<output>6D96FEF7D66590A77A77BB2056667F7F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test  12</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>F0F1F2F3F5F6F7F8FAFBFCFDFE010002</key>
+			<input>12A8CFA23EA764FD876232B4E842BC44</input>
+			<output>316FB68EDBA736C53E78477BF913725C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 12</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>04050607090A0B0C0E0F101113141516</key>
+			<input>BCAF32415E8308B3723E5FDD853CCC80</input>
+			<output>6936F2B93AF8397FD3A771FC011C8C37</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 13</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>2C2D2E2F31323334363738393B3C3D3E</key>
+			<input>89AFAE685D801AD747ACE91FC49ADDE0</input>
+			<output>F3F92F7A9C59179C1FCC2C2BA0B082CD</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 14</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>40414243454647484A4B4C4D4F505152</key>
+			<input>F521D07B484357C4A69E76124A634216</input>
+			<output>6A95EA659EE3889158E7A9152FF04EBC</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 15</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>54555657595A5B5C5E5F606163646566</key>
+			<input>3E23B3BC065BCC152407E23896D77783</input>
+			<output>1959338344E945670678A5D432C90B93</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 16</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>68696A6B6D6E6F70727374757778797A</key>
+			<input>79F0FBA002BE1744670E7E99290D8F52</input>
+			<output>E49BDDD2369B83EE66E6C75A1161B394</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 17</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>7C7D7E7F81828384868788898B8C8D8E</key>
+			<input>DA23FE9D5BD63E1D72E3DAFBE21A6C2A</input>
+			<output>D3388F19057FF704B70784164A74867D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 18</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>A4A5A6A7A9AAABACAEAFB0B1B3B4B5B6</key>
+			<input>E3F5698BA90B6A022EFD7DB2C7E6C823</input>
+			<output>23AA03E2D5E4CD24F3217E596480D1E1</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 19</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>E0E1E2E3E5E6E7E8EAEBECEDEFF0F1F2</key>
+			<input>BDC2691D4F1B73D2700679C3BCBF9C6E</input>
+			<output>C84113D68B666AB2A50A8BDB222E91B9</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 20</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>08090A0B0D0E0F10121314151718191A</key>
+			<input>BA74E02093217EE1BA1B42BD5624349A</input>
+			<output>AC02403981CD4340B507963DB65CB7B6</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 21</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>6C6D6E6F71727374767778797B7C7D7E</key>
+			<input>B5C593B5851C57FBF8B3F57715E8F680</input>
+			<output>8D1299236223359474011F6BF5088414</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 21</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>80818283858687888A8B8C8D8F909192</key>
+			<input>3DA9BD9CEC072381788F9387C3BBF4EE</input>
+			<output>5A1D6AB8605505F7977E55B9A54D9B90</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 22</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>94959697999A9B9C9E9FA0A1A3A4A5A6</key>
+			<input>4197F3051121702AB65D316B3C637374</input>
+			<output>72E9C2D519CF555E4208805AABE3B258</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 23</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>A8A9AAABADAEAFB0B2B3B4B5B7B8B9BA</key>
+			<input>9F46C62EC4F6EE3F6E8C62554BC48AB7</input>
+			<output>A8F3E81C4A23A39EF4D745DFFE026E80</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 24</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>BCBDBEBFC1C2C3C4C6C7C8C9CBCCCDCE</key>
+			<input>0220673FE9E699A4EBC8E0DBEB6979C8</input>
+			<output>546F646449D31458F9EB4EF5483AEE6C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 25</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>D0D1D2D3D5D6D7D8DADBDCDDDFE0E1E2</key>
+			<input>B2B99171337DED9BC8C2C23FF6F18867</input>
+			<output>4DBE4BC84AC797C0EE4EFB7F1A07401C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 26</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>E4E5E6E7E9EAEBECEEEFF0F1F3F4F5F6</key>
+			<input>A7FACF4E301E984E5EFEEFD645B23505</input>
+			<output>25E10BFB411BBD4D625AC8795C8CA3B3</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 27</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>F8F9FAFBFDFEFE00020304050708090A</key>
+			<input>F7C762E4A9819160FD7ACFB6C4EEDCDD</input>
+			<output>315637405054EC803614E43DEF177579</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 28</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0C0D0E0F11121314161718191B1C1D1E</key>
+			<input>9B64FC21EA08709F4915436FAA70F1BE</input>
+			<output>60C5BC8A1410247295C6386C59E572A8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 29</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>20212223252627282A2B2C2D2F303132</key>
+			<input>52AF2C3DE07EE6777F55A4ABFC100B3F</input>
+			<output>01366FC8CA52DFE055D6A00A76471BA6</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 30</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>34353637393A3B3C3E3F404143444546</key>
+			<input>2FCA001224386C57AA3F968CBE2C816F</input>
+			<output>ECC46595516EC612449C3F581E7D42FF</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 31</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>48494A4B4D4E4F50525354555758595A</key>
+			<input>4149C73658A4A9C564342755EE2C132F</input>
+			<output>6B7FFE4C602A154B06EE9C7DAB5331C9</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 32</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>5C5D5E5F61626364666768696B6C6D6E</key>
+			<input>AF60005A00A1772F7C07A48A923C23D2</input>
+			<output>7DA234C14039A240DD02DD0FBF84EB67</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 33</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>70717273757677787A7B7C7D7F808182</key>
+			<input>6FCCBC28363759914B6F0280AFAF20C6</input>
+			<output>C7DC217D9E3604FFE7E91F080ECD5A3A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 34</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>84858687898A8B8C8E8F909193949596</key>
+			<input>7D82A43DDF4FEFA2FC5947499884D386</input>
+			<output>37785901863F5C81260EA41E7580CDA5</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 35</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>98999A9B9D9E9FA0A2A3A4A5A7A8A9AA</key>
+			<input>5D5A990EAAB9093AFE4CE254DFA49EF9</input>
+			<output>A07B9338E92ED105E6AD720FCCCE9FE4</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 36</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>ACADAEAFB1B2B3B4B6B7B8B9BBBCBDBE</key>
+			<input>4CD1E2FD3F4434B553AAE453F0ED1A02</input>
+			<output>AE0FB9722418CC21A7DA816BBC61322C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 37</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>C0C1C2C3C5C6C7C8CACBCCCDCFD0D1D2</key>
+			<input>5A2C9A9641D4299125FA1B9363104B5E</input>
+			<output>C826A193080FF91FFB21F71D3373C877</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 38</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>D4D5D6D7D9DADBDCDEDFE0E1E3E4E5E6</key>
+			<input>B517FE34C0FA217D341740BFD4FE8DD4</input>
+			<output>1181B11B0E494E8D8B0AA6B1D5AC2C48</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 39</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>E8E9EAEBEDEEEFF0F2F3F4F5F7F8F9FA</key>
+			<input>014BAF2278A69D331D5180103643E99A</input>
+			<output>6743C3D1519AB4F2CD9A78AB09A511BD</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 39</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>FCFDFEFF01020304060708090B0C0D0E</key>
+			<input>B529BD8164F20D0AA443D4932116841C</input>
+			<output>DC55C076D52BACDF2EEFD952946A439D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 40</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>10111213151617181A1B1C1D1F202122</key>
+			<input>2E596DCBB2F33D4216A1176D5BD1E456</input>
+			<output>711B17B590FFC72B5C8E342B601E8003</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 41</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>24252627292A2B2C2E2F303133343536</key>
+			<input>7274A1EA2B7EE2424E9A0E4673689143</input>
+			<output>19983BB0950783A537E1339F4AA21C75</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 42</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>38393A3B3D3E3F40424344454748494A</key>
+			<input>AE20020BD4F13E9D90140BEE3B5D26AF</input>
+			<output>3BA7762E15554169C0F4FA39164C410C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 43</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>4C4D4E4F51525354565758595B5C5D5E</key>
+			<input>BAAC065DA7AC26E855E79C8849D75A02</input>
+			<output>A0564C41245AFCA7AF8AA2E0E588EA89</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 44</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>60616263656667686A6B6C6D6F707172</key>
+			<input>7C917D8D1D45FAB9E2540E28832540CC</input>
+			<output>5E36A42A2E099F54AE85ECD92E2381ED</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 45</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>74757677797A7B7C7E7F808183848586</key>
+			<input>BDE6F89E16DAADB0E847A2A614566A91</input>
+			<output>770036F878CD0F6CA2268172F106F2FE</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 46</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>88898A8B8D8E8F90929394959798999A</key>
+			<input>C9DE163725F1F5BE44EBB1DB51D07FBC</input>
+			<output>7E4E03908B716116443CCF7C94E7C259</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 47</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>9C9D9E9FA1A2A3A4A6A7A8A9ABACADAE</key>
+			<input>3AF57A58F0C07DFFA669572B521E2B92</input>
+			<output>482735A48C30613A242DD494C7F9185D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 48</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>B0B1B2B3B5B6B7B8BABBBCBDBFC0C1C2</key>
+			<input>3D5EBAC306DDE4604F1B4FBBBFCDAE55</input>
+			<output>B4C0F6C9D4D7079ADDF9369FC081061D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 49</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>C4C5C6C7C9CACBCCCECFD0D1D3D4D5D6</key>
+			<input>C2DFA91BCEB76A1183C995020AC0B556</input>
+			<output>D5810FE0509AC53EDCD74F89962E6270</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 50</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>D8D9DADBDDDEDFE0E2E3E4E5E7E8E9EA</key>
+			<input>C70F54305885E9A0746D01EC56C8596B</input>
+			<output>03F17A16B3F91848269ECDD38EBB2165</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 51</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>ECEDEEEFF1F2F3F4F6F7F8F9FBFCFDFE</key>
+			<input>C4F81B610E98012CE000182050C0C2B2</input>
+			<output>DA1248C3180348BAD4A93B4D9856C9DF</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 52</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00010203050607080A0B0C0D0F101112</key>
+			<input>EAAB86B1D02A95D7404EFF67489F97D4</input>
+			<output>3D10D7B63F3452C06CDF6CCE18BE0C2C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 53</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>14151617191A1B1C1E1F202123242526</key>
+			<input>7C55BDB40B88870B52BEC3738DE82886</input>
+			<output>4AB823E7477DFDDC0E6789018FCB6258</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 54</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>28292A2B2D2E2F30323334353738393A</key>
+			<input>BA6EAA88371FF0A3BD875E3F2A975CE0</input>
+			<output>E6478BA56A77E70CFDAA5C843ABDE30E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 55</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>3C3D3E3F41424344464748494B4C4D4E</key>
+			<input>08059130C4C24BD30CF0575E4E0373DC</input>
+			<output>1673064895FBEAF7F09C5429FF75772D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 56</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>50515253555657585A5B5C5D5F606162</key>
+			<input>9A8EAB004EF53093DFCF96F57E7EDA82</input>
+			<output>4488033AE9F2EFD0CA9383BFCA1A94E9</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 57</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>64656667696A6B6C6E6F707173747576</key>
+			<input>0745B589E2400C25F117B1D796C28129</input>
+			<output>978F3B8C8F9D6F46626CAC3C0BCB9217</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 58</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>78797A7B7D7E7F80828384858788898A</key>
+			<input>2F1777781216CEC3F044F134B1B92BBE</input>
+			<output>E08C8A7E582E15E5527F1D9E2EECB236</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 59</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>8C8D8E8F91929394969798999B9C9D9E</key>
+			<input>353A779FFC541B3A3805D90CE17580FC</input>
+			<output>CEC155B76AC5FFDA4CF4F9CA91E49A7A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 60</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>A0A1A2A3A5A6A7A8AAABACADAFB0B1B2</key>
+			<input>1A1EAE4415CEFCF08C4AC1C8F68BEA8F</input>
+			<output>D5AC7165763225DD2A38CDC6862C29AD</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 62</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>B4B5B6B7B9BABBBCBEBFC0C1C3C4C5C6</key>
+			<input>E6E7E4E5B0B3B2B5D4D5AAAB16111013</input>
+			<output>03680FE19F7CE7275452020BE70E8204</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 63</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>C8C9CACBCDCECFD0D2D3D4D5D7D8D9DA</key>
+			<input>F8F9FAFBFBF8F9E677767170EFE0E1E2</input>
+			<output>461DF740C9781C388E94BB861CEB54F6</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 64</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>DCDDDEDFE1E2E3E4E6E7E8E9EBECEDEE</key>
+			<input>63626160A1A2A3A445444B4A75727370</input>
+			<output>451BD60367F96483042742219786A074</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 65</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>F0F1F2F3F5F6F7F8FAFBFCFDFE010002</key>
+			<input>717073720605040B2D2C2B2A05FAFBF9</input>
+			<output>E4DFA42671A02E57EF173B85C0EA9F2B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 66</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>04050607090A0B0C0E0F101113141516</key>
+			<input>78797A7BEAE9E8EF3736292891969794</input>
+			<output>ED11B89E76274282227D854700A78B9E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 67</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>18191A1B1D1E1F20222324252728292A</key>
+			<input>838281803231300FDDDCDBDAA0AFAEAD</input>
+			<output>433946EAA51EA47AF33895F2B90B3B75</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 68</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>2C2D2E2F31323334363738393B3C3D3E</key>
+			<input>18191A1BBFBCBDBA75747B7A7F78797A</input>
+			<output>6BC6D616A5D7D0284A5910AB35022528</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 69</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>40414243454647484A4B4C4D4F505152</key>
+			<input>848586879B989996A3A2A5A4849B9A99</input>
+			<output>D2A920ECFE919D354B5F49EAE9719C98</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 70</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>54555657595A5B5C5E5F606163646566</key>
+			<input>0001020322212027CACBF4F551565754</input>
+			<output>3A061B17F6A92885EFBD0676985B373D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 71</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>68696A6B6D6E6F70727374757778797A</key>
+			<input>CECFCCCDAFACADB2515057564A454447</input>
+			<output>FADEEC16E33EA2F4688499D157E20D8F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 72</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>7C7D7E7F81828384868788898B8C8D8E</key>
+			<input>92939091CDCECFC813121D1C80878685</input>
+			<output>5CDEFEDE59601AA3C3CDA36FA6B1FA13</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 73</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>90919293959697989A9B9C9D9FA0A1A2</key>
+			<input>D2D3D0D16F6C6D6259585F5ED1EEEFEC</input>
+			<output>9574B00039844D92EBBA7EE8719265F8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 74</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>A4A5A6A7A9AAABACAEAFB0B1B3B4B5B6</key>
+			<input>ACADAEAF878485820F0E1110D5D2D3D0</input>
+			<output>9A9CF33758671787E5006928188643FA</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 75</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>B8B9BABBBDBEBFC0C2C3C4C5C7C8C9CA</key>
+			<input>9091929364676619E6E7E0E1757A7B78</input>
+			<output>2CDDD634C846BA66BB46CBFEA4A674F9</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 76</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>CCCDCECFD1D2D3D4D6D7D8D9DBDCDDDE</key>
+			<input>BABBB8B98A89888F74757A7B92959497</input>
+			<output>D28BAE029393C3E7E26E9FAFBBB4B98F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 77</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>E0E1E2E3E5E6E7E8EAEBECEDEFF0F1F2</key>
+			<input>8D8C8F8E6E6D6C633B3A3D3CCAD5D4D7</input>
+			<output>EC27529B1BEE0A9AB6A0D73EBC82E9B7</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 78</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>F4F5F6F7F9FAFBFCFEFE010103040506</key>
+			<input>86878485010203040808F7F767606162</input>
+			<output>3CB25C09472AFF6EE7E2B47CCD7CCB17</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 79</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>08090A0B0D0E0F10121314151718191A</key>
+			<input>8E8F8C8D656667788A8B8C8D010E0F0C</input>
+			<output>DEE33103A7283370D725E44CA38F8FE5</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 80</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>1C1D1E1F21222324262728292B2C2D2E</key>
+			<input>C8C9CACB858687807A7B7475E7E0E1E2</input>
+			<output>27F9BCD1AAC64BFFC11E7815702C1A69</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 81</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>30313233353637383A3B3C3D3F404142</key>
+			<input>6D6C6F6E5053525D8C8D8A8BADD2D3D0</input>
+			<output>5DF534FFAD4ED0749A9988E9849D0021</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 82</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>44454647494A4B4C4E4F505153545556</key>
+			<input>28292A2B393A3B3C0607181903040506</input>
+			<output>A48BEE75DB04FB60CA2B80F752A8421B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 83</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>58595A5B5D5E5F60626364656768696A</key>
+			<input>A5A4A7A6B0B3B28DDBDADDDCBDB2B3B0</input>
+			<output>024C8CF70BC86EE5CE03678CB7AF45F9</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 84</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>6C6D6E6F71727374767778797B7C7D7E</key>
+			<input>323330316467666130313E3F2C2B2A29</input>
+			<output>3C19AC0F8A3A3862CE577831301E166B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 85</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>80818283858687888A8B8C8D8F909192</key>
+			<input>27262524080B0A05171611100B141516</input>
+			<output>C5E355B796A57421D59CA6BE82E73BCA</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 86</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>94959697999A9B9C9E9FA0A1A3A4A5A6</key>
+			<input>040506074142434435340B0AA3A4A5A6</input>
+			<output>D94033276417ABFB05A69D15B6E386E2</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 87</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>A8A9AAABADAEAFB0B2B3B4B5B7B8B9BA</key>
+			<input>242526271112130C61606766BDB2B3B0</input>
+			<output>24B36559EA3A9B9B958FE6DA3E5B8D85</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 88</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>BCBDBEBFC1C2C3C4C6C7C8C9CBCCCDCE</key>
+			<input>4B4A4948252627209E9F9091CEC9C8CB</input>
+			<output>20FD4FEAA0E8BF0CCE7861D74EF4CB72</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 89</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>D0D1D2D3D5D6D7D8DADBDCDDDFE0E1E2</key>
+			<input>68696A6B6665646B9F9E9998D9E6E7E4</input>
+			<output>350E20D5174277B9EC314C501570A11D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 90</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>E4E5E6E7E9EAEBECEEEFF0F1F3F4F5F6</key>
+			<input>34353637C5C6C7C0F0F1EEEF7C7B7A79</input>
+			<output>87A29D61B7C604D238FE73045A7EFD57</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 91</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>F8F9FAFBFDFEFE00020304050708090A</key>
+			<input>32333031C2C1C13F0D0C0B0A050A0B08</input>
+			<output>2C3164C1CC7D0064816BDC0FAA362C52</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 92</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0C0D0E0F11121314161718191B1C1D1E</key>
+			<input>CDCCCFCEBEBDBCBBABAAA5A4181F1E1D</input>
+			<output>195FE5E8A05A2ED594F6E4400EEE10B3</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 93</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>20212223252627282A2B2C2D2F303132</key>
+			<input>212023223635343BA0A1A6A7445B5A59</input>
+			<output>E4663DF19B9A21A5A284C2BD7F905025</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 94</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>34353637393A3B3C3E3F404143444546</key>
+			<input>0E0F0C0DA8ABAAAD2F2E515002050407</input>
+			<output>21B88714CFB4E2A933BD281A2C4743FD</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 95</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>48494A4B4D4E4F50525354555758595A</key>
+			<input>070605042A2928378E8F8889BDB2B3B0</input>
+			<output>CBFC3980D704FD0FC54378AB84E17870</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 94</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>5C5D5E5F61626364666768696B6C6D6E</key>
+			<input>CBCAC9C893909196A9A8A7A6A5A2A3A0</input>
+			<output>BC5144BAA48BDEB8B63E22E03DA418EF</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 95</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>70717273757677787A7B7C7D7F808182</key>
+			<input>80818283C1C2C3CC9C9D9A9B0CF3F2F1</input>
+			<output>5A1DBAEF1EE2984B8395DA3BDFFA3CCC</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 96</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>84858687898A8B8C8E8F909193949596</key>
+			<input>1213101125262720FAFBE4E5B1B6B7B4</input>
+			<output>F0B11CD0729DFCC80CEC903D97159574</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 97</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>98999A9B9D9E9FA0A2A3A4A5A7A8A9AA</key>
+			<input>7F7E7D7C3033320D97969190222D2C2F</input>
+			<output>9F95314ACFDDC6D1914B7F19A9CC8209</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 98</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>ACADAEAFB1B2B3B4B6B7B8B9BBBCBDBE</key>
+			<input>4E4F4C4D484B4A4D81808F8E53545556</input>
+			<output>595736F6F0F70914A94E9E007F022519</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 99</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>C0C1C2C3C5C6C7C8CACBCCCDCFD0D1D2</key>
+			<input>DCDDDEDFB0B3B2BD15141312A1BEBFBC</input>
+			<output>1F19F57892CAE586FCDFB4C694DEB183</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 100</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>D4D5D6D7D9DADBDCDEDFE0E1E3E4E5E6</key>
+			<input>93929190282B2A2DC4C5FAFB92959497</input>
+			<output>540700EE1F6F3DAB0B3EDDF6CAEE1EF5</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 101</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>E8E9EAEBEDEEEFF0F2F3F4F5F7F8F9FA</key>
+			<input>F5F4F7F6C4C7C6D9373631307E717073</input>
+			<output>14A342A91019A331687A2254E6626CA2</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 102</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>FCFDFEFF01020304060708090B0C0D0E</key>
+			<input>93929190B6B5B4B364656A6B05020300</input>
+			<output>7B25F3C3B2EEA18D743EF283140F29FF</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 103</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>10111213151617181A1B1C1D1F202122</key>
+			<input>BABBB8B90D0E0F00A4A5A2A3043B3A39</input>
+			<output>46C2587D66E5E6FA7F7CA6411AD28047</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 104</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>24252627292A2B2C2E2F303133343536</key>
+			<input>D8D9DADB7F7C7D7A10110E0F787F7E7D</input>
+			<output>09470E72229D954ED5EE73886DFEEBA9</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 105</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>38393A3B3D3E3F40424344454748494A</key>
+			<input>FEFFFCFDEFECED923B3A3D3C6768696A</input>
+			<output>D77C03DE92D4D0D79EF8D4824EF365EB</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 106</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>4C4D4E4F51525354565758595B5C5D5E</key>
+			<input>D6D7D4D58A89888F96979899A5A2A3A0</input>
+			<output>1D190219F290E0F1715D152D41A23593</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 107</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>60616263656667686A6B6C6D6F707172</key>
+			<input>18191A1BA8ABAAA5303136379B848586</input>
+			<output>A2CD332CE3A0818769616292E87F757B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 108</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>74757677797A7B7C7E7F808183848586</key>
+			<input>6B6A6968A4A7A6A1D6D72829B0B7B6B5</input>
+			<output>D54AFA6CE60FBF9341A3690E21385102</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 109</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>88898A8B8D8E8F90929394959798999A</key>
+			<input>000102038A89889755545352A6A9A8AB</input>
+			<output>06E5C364DED628A3F5E05E613E356F46</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 110</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>9C9D9E9FA1A2A3A4A6A7A8A9ABACADAE</key>
+			<input>2D2C2F2EB3B0B1B6B6B7B8B9F2F5F4F7</input>
+			<output>EAE63C0E62556DAC85D221099896355A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 111</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>B0B1B2B3B5B6B7B8BABBBCBDBFC0C1C2</key>
+			<input>979695943536373856575051E09F9E9D</input>
+			<output>1FED060E2C6FC93EE764403A889985A2</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 112</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>C4C5C6C7C9CACBCCCECFD0D1D3D4D5D6</key>
+			<input>A4A5A6A7989B9A9DB1B0AFAE7A7D7C7F</input>
+			<output>C25235C1A30FDEC1C7CB5C5737B2A588</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 113</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>D8D9DADBDDDEDFE0E2E3E4E5E7E8E9EA</key>
+			<input>C1C0C3C2686B6A55A8A9AEAFEAE5E4E7</input>
+			<output>796DBEF95147D4D30873AD8B7B92EFC0</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 114</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>ECEDEEEFF1F2F3F4F6F7F8F9FBFCFDFE</key>
+			<input>C1C0C3C2141716118C8D828364636261</input>
+			<output>CBCF0FB34D98D0BD5C22CE37211A46BF</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 115</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00010203050607080A0B0C0D0F101112</key>
+			<input>93929190CCCFCEC196979091E0FFFEFD</input>
+			<output>94B44DA6466126CAFA7C7FD09063FC24</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 116</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>14151617191A1B1C1E1F202123242526</key>
+			<input>B4B5B6B7F9FAFBFC25241B1A6E69686B</input>
+			<output>D78C5B5EBF9B4DBDA6AE506C5074C8FE</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 117</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>28292A2B2D2E2F30323334353738393A</key>
+			<input>868784850704051AC7C6C1C08788898A</input>
+			<output>6C27444C27204B043812CF8CF95F9769</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 118</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>3C3D3E3F41424344464748494B4C4D4E</key>
+			<input>F4F5F6F7AAA9A8AFFDFCF3F277707172</input>
+			<output>BE94524EE5A2AA50BBA8B75F4C0AEBCF</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 119</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>50515253555657585A5B5C5D5F606162</key>
+			<input>D3D2D1D00605040BC3C2C5C43E010003</input>
+			<output>A0AEAAE91BA9F31F51AEB3588CF3A39E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 120</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>64656667696A6B6C6E6F707173747576</key>
+			<input>73727170424140476A6B74750D0A0B08</input>
+			<output>275297779C28266EF9FE4C6A13C08488</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 121</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>78797A7B7D7E7F80828384858788898A</key>
+			<input>C2C3C0C10A0908F754555253A1AEAFAC</input>
+			<output>86523D92BB8672CB01CF4A77FD725882</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 122</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>8C8D8E8F91929394969798999B9C9D9E</key>
+			<input>6D6C6F6EF8FBFAFD82838C8DF8FFFEFD</input>
+			<output>4B8327640E9F33322A04DD96FCBF9A36</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 123</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>A0A1A2A3A5A6A7A8AAABACADAFB0B1B2</key>
+			<input>F5F4F7F684878689A6A7A0A1D2CDCCCF</input>
+			<output>CE52AF650D088CA559425223F4D32694</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 124</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00010203050607080A0B0C0D0F10111214151617191A1B1C</key>
+			<input>2D33EEF2C0430A8A9EBF45E809C40BB6</input>
+			<output>DFF4945E0336DF4C1C56BC700EFF837F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 125</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>1E1F20212324252628292A2B2D2E2F30323334353738393A</key>
+			<input>6AA375D1FA155A61FB72353E0A5A8756</input>
+			<output>B6FDDEF4752765E347D5D2DC196D1252</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 126</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>3C3D3E3F41424344464748494B4C4D4E5051525355565758</key>
+			<input>BC3736518B9490DCB8ED60EB26758ED4</input>
+			<output>D23684E3D963B3AFCF1A114ACA90CBD6</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 127</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>5A5B5C5D5F60616264656667696A6B6C6E6F707173747576</key>
+			<input>AA214402B46CFFB9F761EC11263A311E</input>
+			<output>3A7AC027753E2A18C2CEAB9E17C11FD0</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 128</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>78797A7B7D7E7F80828384858788898A8C8D8E8F91929394</key>
+			<input>02AEA86E572EEAB66B2C3AF5E9A46FD6</input>
+			<output>8F6786BD007528BA26603C1601CDD0D8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 129</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>969798999B9C9D9EA0A1A2A3A5A6A7A8AAABACADAFB0B1B2</key>
+			<input>E2AEF6ACC33B965C4FA1F91C75FF6F36</input>
+			<output>D17D073B01E71502E28B47AB551168B3</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 130</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>B4B5B6B7B9BABBBCBEBFC0C1C3C4C5C6C8C9CACBCDCECFD0</key>
+			<input>0659DF46427162B9434865DD9499F91D</input>
+			<output>A469DA517119FAB95876F41D06D40FFA</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 131</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>D2D3D4D5D7D8D9DADCDDDEDFE1E2E3E4E6E7E8E9EBECEDEE</key>
+			<input>49A44239C748FEB456F59C276A5658DF</input>
+			<output>6091AA3B695C11F5C0B6AD26D3D862FF</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 132</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>F0F1F2F3F5F6F7F8FAFBFCFDFE01000204050607090A0B0C</key>
+			<input>66208F6E9D04525BDEDB2733B6A6BE37</input>
+			<output>70F9E67F9F8DF1294131662DC6E69364</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 132</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0E0F10111314151618191A1B1D1E1F20222324252728292A</key>
+			<input>3393F8DFC729C97F5480B950BC9666B0</input>
+			<output>D154DCAFAD8B207FA5CBC95E9996B559</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 133</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>2C2D2E2F31323334363738393B3C3D3E4041424345464748</key>
+			<input>606834C8CE063F3234CF1145325DBD71</input>
+			<output>4934D541E8B46FA339C805A7AEB9E5DA</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 134</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>4A4B4C4D4F50515254555657595A5B5C5E5F606163646566</key>
+			<input>FEC1C04F529BBD17D8CECFCC4718B17F</input>
+			<output>62564C738F3EFE186E1A127A0C4D3C61</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 135</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>68696A6B6D6E6F70727374757778797A7C7D7E7F81828384</key>
+			<input>32DF99B431ED5DC5ACF8CAF6DC6CE475</input>
+			<output>07805AA043986EB23693E23BEF8F3438</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 136</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>868788898B8C8D8E90919293959697989A9B9C9D9FA0A1A2</key>
+			<input>7FDC2B746F3F665296943B83710D1F82</input>
+			<output>DF0B4931038BADE848DEE3B4B85AA44B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 137</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>A4A5A6A7A9AAABACAEAFB0B1B3B4B5B6B8B9BABBBDBEBFC0</key>
+			<input>8FBA1510A3C5B87E2EAA3F7A91455CA2</input>
+			<output>592D5FDED76582E4143C65099309477C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 138</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>C2C3C4C5C7C8C9CACCCDCECFD1D2D3D4D6D7D8D9DBDCDDDE</key>
+			<input>2C9B468B1C2EED92578D41B0716B223B</input>
+			<output>C9B8D6545580D3DFBCDD09B954ED4E92</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 139</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>E0E1E2E3E5E6E7E8EAEBECEDEFF0F1F2F4F5F6F7F9FAFBFC</key>
+			<input>0A2BBF0EFC6BC0034F8A03433FCA1B1A</input>
+			<output>5DCCD5D6EB7C1B42ACB008201DF707A0</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 140</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>FEFE01010304050608090A0B0D0E0F10121314151718191A</key>
+			<input>25260E1F31F4104D387222E70632504B</input>
+			<output>A2A91682FFEB6ED1D34340946829E6F9</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 140</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>1C1D1E1F21222324262728292B2C2D2E3031323335363738</key>
+			<input>C527D25A49F08A5228D338642AE65137</input>
+			<output>E45D185B797000348D9267960A68435D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 141</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>3A3B3C3D3F40414244454647494A4B4C4E4F505153545556</key>
+			<input>3B49FC081432F5890D0E3D87E884A69E</input>
+			<output>45E060DAE5901CDA8089E10D4F4C246B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 142</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>58595A5B5D5E5F60626364656768696A6C6D6E6F71727374</key>
+			<input>D173F9ED1E57597E166931DF2754A083</input>
+			<output>F6951AFACC0079A369C71FDCFF45DF50</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 142</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>767778797B7C7D7E80818283858687888A8B8C8D8F909192</key>
+			<input>8C2B7CAFA5AFE7F13562DAEAE1ADEDE0</input>
+			<output>9E95E00F351D5B3AC3D0E22E626DDAD6</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 143</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>94959697999A9B9C9E9FA0A1A3A4A5A6A8A9AAABADAEAFB0</key>
+			<input>AAF4EC8C1A815AEB826CAB741339532C</input>
+			<output>9CB566FF26D92DAD083B51FDC18C173C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 144</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>D0D1D2D3D5D6D7D8DADBDCDDDFE0E1E2E4E5E6E7E9EAEBEC</key>
+			<input>40BE8C5D9108E663F38F1A2395279ECF</input>
+			<output>C9C82766176A9B228EB9A974A010B4FB</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 145</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>2A2B2C2D2F30313234353637393A3B3C3E3F404143444546</key>
+			<input>0C8AD9BC32D43E04716753AA4CFBE351</input>
+			<output>D8E26AA02945881D5137F1C1E1386E88</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 146</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>48494A4B4D4E4F50525354555758595A5C5D5E5F61626364</key>
+			<input>1407B1D5F87D63357C8DC7EBBAEBBFEE</input>
+			<output>C0E024CCD68FF5FFA4D139C355A77C55</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 147</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>84858687898A8B8C8E8F90919394959698999A9B9D9E9FA0</key>
+			<input>E62734D1AE3378C4549E939E6F123416</input>
+			<output>0B18B3D16F491619DA338640DF391D43</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 148</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>A2A3A4A5A7A8A9AAACADAEAFB1B2B3B4B6B7B8B9BBBCBDBE</key>
+			<input>5A752CFF2A176DB1A1DE77F2D2CDEE41</input>
+			<output>DBE09AC8F66027BF20CB6E434F252EFC</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 149</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>C0C1C2C3C5C6C7C8CACBCCCDCFD0D1D2D4D5D6D7D9DADBDC</key>
+			<input>A9C8C3A4EABEDC80C64730DDD018CD88</input>
+			<output>6D04E5E43C5B9CBE05FEB9606B6480FE</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 150</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>1A1B1C1D1F20212224252627292A2B2C2E2F303133343536</key>
+			<input>EE9B3DBBDB86180072130834D305999A</input>
+			<output>DD1D6553B96BE526D9FEE0FBD7176866</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 151</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>38393A3B3D3E3F40424344454748494A4C4D4E4F51525354</key>
+			<input>A7FA8C3586B8EBDE7568EAD6F634A879</input>
+			<output>0260CA7E3F979FD015B0DD4690E16D2A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 152</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>929394959798999A9C9D9E9FA1A2A3A4A6A7A8A9ABACADAE</key>
+			<input>37E0F4A87F127D45AC936FE7AD88C10A</input>
+			<output>9893734DE10EDCC8A67C3B110B8B8CC6</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 153</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>464748494B4C4D4E50515253555657585A5B5C5D5F606162</key>
+			<input>3F77D8B5D92BAC148E4E46F697A535C5</input>
+			<output>93B30B750516B2D18808D710C2EE84EF</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 155</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>828384858788898A8C8D8E8F91929394969798999B9C9D9E</key>
+			<input>D25EBB686C40F7E2C4DA1014936571CA</input>
+			<output>16F65FA47BE3CB5E6DFE7C6C37016C0E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 156</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>A0A1A2A3A5A6A7A8AAABACADAFB0B1B2B4B5B6B7B9BABBBC</key>
+			<input>4F1C769D1E5B0552C7ECA84DEA26A549</input>
+			<output>F3847210D5391E2360608E5ACB560581</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 157</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>BEBFC0C1C3C4C5C6C8C9CACBCDCECFD0D2D3D4D5D7D8D9DA</key>
+			<input>8548E2F882D7584D0FAFC54372B6633A</input>
+			<output>8754462CD223366D0753913E6AF2643D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 158</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>DCDDDEDFE1E2E3E4E6E7E8E9EBECEDEEF0F1F2F3F5F6F7F8</key>
+			<input>87D7A336CB476F177CD2A51AF2A62CDF</input>
+			<output>1EA20617468D1B806A1FD58145462017</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 159</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>FAFBFCFDFE01000204050607090A0B0C0E0F101113141516</key>
+			<input>03B1FEAC668C4E485C1065DFC22B44EE</input>
+			<output>3B155D927355D737C6BE9DDA60136E2E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 160</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>18191A1B1D1E1F20222324252728292A2C2D2E2F31323334</key>
+			<input>BDA15E66819FA72D653A6866AA287962</input>
+			<output>26144F7B66DAA91B6333DBD3850502B3</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 161</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>363738393B3C3D3E40414243454647484A4B4C4D4F505152</key>
+			<input>4D0C7A0D2505B80BF8B62CEB12467F0A</input>
+			<output>E4F9A4AB52CED8134C649BF319EBCC90</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 162</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>54555657595A5B5C5E5F60616364656668696A6B6D6E6F70</key>
+			<input>626D34C9429B37211330986466B94E5F</input>
+			<output>B9DDD29AC6128A6CAB121E34A4C62B36</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 163</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>727374757778797A7C7D7E7F81828384868788898B8C8D8E</key>
+			<input>333C3E6BF00656B088A17E5FF0E7F60A</input>
+			<output>6FCDDAD898F2CE4EFF51294F5EAAF5C9</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 164</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>90919293959697989A9B9C9D9FA0A1A2A4A5A6A7A9AAABAC</key>
+			<input>687ED0CDC0D2A2BC8C466D05EF9D2891</input>
+			<output>C9A6FE2BF4028080BEA6F7FC417BD7E3</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 165</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>AEAFB0B1B3B4B5B6B8B9BABBBDBEBFC0C2C3C4C5C7C8C9CA</key>
+			<input>487830E78CC56C1693E64B2A6660C7B6</input>
+			<output>6A2026846D8609D60F298A9C0673127F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 166</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>CCCDCECFD1D2D3D4D6D7D8D9DBDCDDDEE0E1E2E3E5E6E7E8</key>
+			<input>7A48D6B7B52B29392AA2072A32B66160</input>
+			<output>2CB25C005E26EFEA44336C4C97A4240B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 167</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>EAEBECEDEFF0F1F2F4F5F6F7F9FAFBFCFEFE010103040506</key>
+			<input>907320E64C8C5314D10F8D7A11C8618D</input>
+			<output>496967AB8680DDD73D09A0E4C7DCC8AA</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 168</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>08090A0B0D0E0F10121314151718191A1C1D1E1F21222324</key>
+			<input>B561F2CA2D6E65A4A98341F3ED9FF533</input>
+			<output>D5AF94DE93487D1F3A8C577CB84A66A4</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 169</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>262728292B2C2D2E30313233353637383A3B3C3D3F404142</key>
+			<input>DF769380D212792D026F049E2E3E48EF</input>
+			<output>84BDAC569CAE2828705F267CC8376E90</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 170</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>44454647494A4B4C4E4F50515354555658595A5B5D5E5F60</key>
+			<input>79F374BC445BDABF8FCCB8843D6054C6</input>
+			<output>F7401DDA5AD5AB712B7EB5D10C6F99B6</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 171</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>626364656768696A6C6D6E6F71727374767778797B7C7D7E</key>
+			<input>4E02F1242FA56B05C68DBAE8FE44C9D6</input>
+			<output>1C9D54318539EBD4C3B5B7E37BF119F0</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 172</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>80818283858687888A8B8C8D8F90919294959697999A9B9C</key>
+			<input>CF73C93CBFF57AC635A6F4AD2A4A1545</input>
+			<output>ACA572D65FB2764CFFD4A6ECA090EA0D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 173</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>9E9FA0A1A3A4A5A6A8A9AAABADAEAFB0B2B3B4B5B7B8B9BA</key>
+			<input>9923548E2875750725B886566784C625</input>
+			<output>36D9C627B8C2A886A10CCB36EAE3DFBB</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 174</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>BCBDBEBFC1C2C3C4C6C7C8C9CBCCCDCED0D1D2D3D5D6D7D8</key>
+			<input>4888336B723A022C9545320F836A4207</input>
+			<output>010EDBF5981E143A81D646E597A4A568</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 175</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>DADBDCDDDFE0E1E2E4E5E6E7E9EAEBECEEEFF0F1F3F4F5F6</key>
+			<input>F84D9A5561B0608B1160DEE000C41BA8</input>
+			<output>8DB44D538DC20CC2F40F3067FD298E60</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 176</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>F8F9FAFBFDFEFE00020304050708090A0C0D0E0F11121314</key>
+			<input>C23192A0418E30A19B45AE3E3625BF22</input>
+			<output>930EB53BC71E6AC4B82972BDCD5AAFB3</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 177</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>161718191B1C1D1E20212223252627282A2B2C2D2F303132</key>
+			<input>B84E0690B28B0025381AD82A15E501A7</input>
+			<output>6C42A81EDCBC9517CCD89C30C95597B4</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 178</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>34353637393A3B3C3E3F40414344454648494A4B4D4E4F50</key>
+			<input>ACEF5E5C108876C4F06269F865B8F0B0</input>
+			<output>DA389847AD06DF19D76EE119C71E1DD3</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 179</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>525354555758595A5C5D5E5F61626364666768696B6C6D6E</key>
+			<input>0F1B3603E0F5DDEA4548246153A5E064</input>
+			<output>E018FDAE13D3118F9A5D1A647A3F0462</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 180</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>70717273757677787A7B7C7D7F80818284858687898A8B8C</key>
+			<input>FBB63893450D42B58C6D88CD3C1809E3</input>
+			<output>2AA65DB36264239D3846180FABDFAD20</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 181</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>8E8F90919394959698999A9B9D9E9FA0A2A3A4A5A7A8A9AA</key>
+			<input>4BEF736DF150259DAE0C91354E8A5F92</input>
+			<output>1472163E9A4F780F1CEB44B07ECF4FDB</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 182</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>ACADAEAFB1B2B3B4B6B7B8B9BBBCBDBEC0C1C2C3C5C6C7C8</key>
+			<input>7D2D46242056EF13D3C3FC93C128F4C7</input>
+			<output>C8273FDC8F3A9F72E91097614B62397C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 183</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>CACBCCCDCFD0D1D2D4D5D6D7D9DADBDCDEDFE0E1E3E4E5E6</key>
+			<input>E9C1BA2DF415657A256EDB33934680FD</input>
+			<output>66C8427DCD733AAF7B3470CB7D976E3F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 184</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>E8E9EAEBEDEEEFF0F2F3F4F5F7F8F9FAFCFDFEFF01020304</key>
+			<input>E23EE277B0AA0A1DFB81F7527C3514F1</input>
+			<output>146131CB17F1424D4F8DA91E6F80C1D0</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 185</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>060708090B0C0D0E10111213151617181A1B1C1D1F202122</key>
+			<input>3E7445B0B63CAAF75E4A911E12106B4C</input>
+			<output>2610D0AD83659081AE085266A88770DC</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 186</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>24252627292A2B2C2E2F30313334353638393A3B3D3E3F40</key>
+			<input>767774752023222544455A5BE6E1E0E3</input>
+			<output>38A2B5A974B0575C5D733917FB0D4570</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 187</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>424344454748494A4C4D4E4F51525354565758595B5C5D5E</key>
+			<input>72737475717E7F7CE9E8EBEA696A6B6C</input>
+			<output>E21D401EBC60DE20D6C486E4F39A588B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 188</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>60616263656667686A6B6C6D6F70717274757677797A7B7C</key>
+			<input>DFDEDDDC25262728C9C8CFCEF1EEEFEC</input>
+			<output>E51D5F88C670B079C0CA1F0C2C4405A2</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 189</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>7E7F80818384858688898A8B8D8E8F90929394959798999A</key>
+			<input>FFFE0100707776755F5E5D5C7675746B</input>
+			<output>246A94788A642FB3D1B823C8762380C8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 190</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>9C9D9E9FA1A2A3A4A6A7A8A9ABACADAEB0B1B2B3B5B6B7B8</key>
+			<input>E0E1E2E3424140479F9E9190292E2F2C</input>
+			<output>B80C391C5C41A4C3B30C68E0E3D7550F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 190</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>BABBBCBDBFC0C1C2C4C5C6C7C9CACBCCCECFD0D1D3D4D5D6</key>
+			<input>2120272690EFEEED3B3A39384E4D4C4B</input>
+			<output>B77C4754FC64EB9A1154A9AF0BB1F21C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 191</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>D8D9DADBDDDEDFE0E2E3E4E5E7E8E9EAECEDEEEFF1F2F3F4</key>
+			<input>ECEDEEEF5350516EA1A0A7A6A3ACADAE</input>
+			<output>FB554DE520D159A06BF219FC7F34A02F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 192</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>F6F7F8F9FBFCFDFE00010203050607080A0B0C0D0F101112</key>
+			<input>32333C3D25222320E9E8EBEACECDCCC3</input>
+			<output>A89FBA152D76B4927BEED160DDB76C57</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 193</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>14151617191A1B1C1E1F20212324252628292A2B2D2E2F30</key>
+			<input>40414243626160678A8BB4B511161714</input>
+			<output>5676EAB4A98D2E8473B3F3D46424247C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 194</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>323334353738393A3C3D3E3F41424344464748494B4C4D4E</key>
+			<input>94959293F5FAFBF81F1E1D1C7C7F7E79</input>
+			<output>4E8F068BD7EDE52A639036EC86C33568</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 195</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>50515253555657585A5B5C5D5F60616264656667696A6B6C</key>
+			<input>BEBFBCBD191A1B14CFCEC9C8546B6A69</input>
+			<output>F0193C4D7AFF1791EE4C07EB4A1824FC</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 196</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>6E6F70717374757678797A7B7D7E7F80828384858788898A</key>
+			<input>2C2D3233898E8F8CBBBAB9B8333031CE</input>
+			<output>AC8686EECA9BA761AFE82D67B928C33F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 197</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>8C8D8E8F91929394969798999B9C9D9EA0A1A2A3A5A6A7A8</key>
+			<input>84858687BFBCBDBA37363938FDFAFBF8</input>
+			<output>5FAF8573E33B145B6A369CD3606AB2C9</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 198</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>AAABACADAFB0B1B2B4B5B6B7B9BABBBCBEBFC0C1C3C4C5C6</key>
+			<input>828384857669686B909192930B08090E</input>
+			<output>31587E9944AB1C16B844ECAD0DF2E7DA</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 199</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>C8C9CACBCDCECFD0D2D3D4D5D7D8D9DADCDDDEDFE1E2E3E4</key>
+			<input>BEBFBCBD9695948B707176779E919093</input>
+			<output>D017FECD91148ABA37F6F3068AA67D8A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 200</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>E6E7E8E9EBECEDEEF0F1F2F3F5F6F7F8FAFBFCFDFE010002</key>
+			<input>8B8A85846067666521202322D0D3D2DD</input>
+			<output>788EF2F021A73CBA2794B616078A8500</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 201</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>04050607090A0B0C0E0F10111314151618191A1B1D1E1F20</key>
+			<input>76777475F1F2F3F4F8F9E6E777707172</input>
+			<output>5D1EF20DCED6BCBC12131AC7C54788AA</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 202</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>222324252728292A2C2D2E2F31323334363738393B3C3D3E</key>
+			<input>A4A5A2A34F404142B4B5B6B727242522</input>
+			<output>B3C8CF961FAF9EA05FDDE6D1E4D8F663</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 203</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>40414243454647484A4B4C4D4F50515254555657595A5B5C</key>
+			<input>94959697E1E2E3EC16171011839C9D9E</input>
+			<output>143075C70605861C7FAC6526199E459F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 204</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>5E5F60616364656668696A6B6D6E6F70727374757778797A</key>
+			<input>03023D3C06010003DEDFDCDDFFFCFDE2</input>
+			<output>A5AE12EADE9A87268D898BFC8FC0252A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 205</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>7C7D7E7F81828384868788898B8C8D8E9091929395969798</key>
+			<input>10111213F1F2F3F4CECFC0C1DBDCDDDE</input>
+			<output>0924F7CF2E877A4819F5244A360DCEA9</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 206</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>9A9B9C9D9FA0A1A2A4A5A6A7A9AAABACAEAFB0B1B3B4B5B6</key>
+			<input>67666160724D4C4F1D1C1F1E73707176</input>
+			<output>3D9E9635AFCC3E291CC7AB3F27D1C99A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 207</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>B8B9BABBBDBEBFC0C2C3C4C5C7C8C9CACCCDCECFD1D2D3D4</key>
+			<input>E6E7E4E5A8ABAAD584858283909F9E9D</input>
+			<output>9D80FEEBF87510E2B8FB98BB54FD788C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 208</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>D6D7D8D9DBDCDDDEE0E1E2E3E5E6E7E8EAEBECEDEFF0F1F2</key>
+			<input>71707F7E565150537D7C7F7E6162636C</input>
+			<output>5F9D1A082A1A37985F174002ECA01309</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 209</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>F4F5F6F7F9FAFBFCFEFE01010304050608090A0B0D0E0F10</key>
+			<input>64656667212223245555AAAA03040506</input>
+			<output>A390EBB1D1403930184A44B4876646E4</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 210</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>121314151718191A1C1D1E1F21222324262728292B2C2D2E</key>
+			<input>9E9F9899ABA4A5A6CFCECDCC2B28292E</input>
+			<output>700FE918981C3195BB6C4BCB46B74E29</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 211</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>30313233353637383A3B3C3D3F40414244454647494A4B4C</key>
+			<input>C7C6C5C4D1D2D3DC626364653A454447</input>
+			<output>907984406F7BF2D17FB1EB15B673D747</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 212</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>4E4F50515354555658595A5B5D5E5F60626364656768696A</key>
+			<input>F6F7E8E9E0E7E6E51D1C1F1E5B585966</input>
+			<output>C32A956DCFC875C2AC7C7CC8B8CC26E1</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 213</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>6C6D6E6F71727374767778797B7C7D7E8081828385868788</key>
+			<input>BCBDBEBF5D5E5F5868696667F4F3F2F1</input>
+			<output>02646E2EBFA9B820CF8424E9B9B6EB51</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 214</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>8A8B8C8D8F90919294959697999A9B9C9E9FA0A1A3A4A5A6</key>
+			<input>40414647B0AFAEAD9B9A99989B98999E</input>
+			<output>621FDA3A5BBD54C6D3C685816BD4EAD8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 215</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>A8A9AAABADAEAFB0B2B3B4B5B7B8B9BABCBDBEBFC1C2C3C4</key>
+			<input>69686B6A0201001F0F0E0908B4BBBAB9</input>
+			<output>D4E216040426DFAF18B152469BC5AC2F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 216</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>C6C7C8C9CBCCCDCED0D1D2D3D5D6D7D8DADBDCDDDFE0E1E2</key>
+			<input>C7C6C9C8D8DFDEDD5A5B5859BEBDBCB3</input>
+			<output>9D0635B9D33B6CDBD71F5D246EA17CC8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 217</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>E4E5E6E7E9EAEBECEEEFF0F1F3F4F5F6F8F9FAFBFDFEFE00</key>
+			<input>DEDFDCDD787B7A7DFFFEE1E0B2B5B4B7</input>
+			<output>10ABAD1BD9BAE5448808765583A2CC1A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 218</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>020304050708090A0C0D0E0F11121314161718191B1C1D1E</key>
+			<input>4D4C4B4A606F6E6DD0D1D2D3FBF8F9FE</input>
+			<output>6891889E16544E355FF65A793C39C9A8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 219</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>20212223252627282A2B2C2D2F30313234353637393A3B3C</key>
+			<input>B7B6B5B4D7D4D5DAE5E4E3E2E1FEFFFC</input>
+			<output>CC735582E68072C163CD9DDF46B91279</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 220</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>3E3F40414344454648494A4B4D4E4F50525354555758595A</key>
+			<input>CECFB0B1F7F0F1F2AEAFACAD3E3D3C23</input>
+			<output>C5C68B9AEEB7F878DF578EFA562F9574</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 221</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>5C5D5E5F61626364666768696B6C6D6E7071727375767778</key>
+			<input>CACBC8C9CDCECFC812131C1D494E4F4C</input>
+			<output>5F4764395A667A47D73452955D0D2CE8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 222</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>7A7B7C7D7F80818284858687898A8B8C8E8F909193949596</key>
+			<input>9D9C9B9AD22D2C2FB1B0B3B20C0F0E09</input>
+			<output>701448331F66106CEFDDF1EB8267C357</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 223</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>98999A9B9D9E9FA0A2A3A4A5A7A8A9AAACADAEAFB1B2B3B4</key>
+			<input>7A7B787964676659959493924F404142</input>
+			<output>CB3EE56D2E14B4E1941666F13379D657</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 224</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>B6B7B8B9BBBCBDBEC0C1C2C3C5C6C7C8CACBCCCDCFD0D1D2</key>
+			<input>AAABA4A5CEC9C8CB1F1E1D1CABA8A9A6</input>
+			<output>9FE16EFD18AB6E1981191851FEDB0764</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 225</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>D4D5D6D7D9DADBDCDEDFE0E1E3E4E5E6E8E9EAEBEDEEEFF0</key>
+			<input>93929190282B2A2DC4C5FAFB92959497</input>
+			<output>3DC9BA24E1B223589B147ADCEB4C8E48</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 226</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>F2F3F4F5F7F8F9FAFCFDFEFF01020304060708090B0C0D0E</key>
+			<input>EFEEE9E8DED1D0D339383B3A888B8A8D</input>
+			<output>1C333032682E7D4DE5E5AFC05C3E483C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 227</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>10111213151617181A1B1C1D1F20212224252627292A2B2C</key>
+			<input>7F7E7D7CA2A1A0AF78797E7F112E2F2C</input>
+			<output>D593CC99A95AFEF7E92038E05A59D00A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 228</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>2E2F30313334353638393A3B3D3E3F40424344454748494A</key>
+			<input>84859A9B2B2C2D2E868784852625245B</input>
+			<output>51E7F96F53B4353923452C222134E1EC</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 229</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>4C4D4E4F51525354565758595B5C5D5E6061626365666768</key>
+			<input>B0B1B2B3070405026869666710171615</input>
+			<output>4075B357A1A2B473400C3B25F32F81A4</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 230</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>6A6B6C6D6F70717274757677797A7B7C7E7F808183848586</key>
+			<input>ACADAAABBDA2A3A00D0C0F0E595A5B5C</input>
+			<output>302E341A3EBCD74F0D55F61714570284</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 231</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>88898A8B8D8E8F90929394959798999A9C9D9E9FA1A2A3A4</key>
+			<input>121310115655544B5253545569666764</input>
+			<output>57ABDD8231280DA01C5042B78CF76522</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 232</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>A6A7A8A9ABACADAEB0B1B2B3B5B6B7B8BABBBCBDBFC0C1C2</key>
+			<input>DEDFD0D166616063EAEBE8E94142434C</input>
+			<output>17F9EA7EEA17AC1ADF0E190FEF799E92</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 233</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>C4C5C6C7C9CACBCCCECFD0D1D3D4D5D6D8D9DADBDDDEDFE0</key>
+			<input>DBDAD9D81417161166677879E0E7E6E5</input>
+			<output>2E1BDD563DD87EE5C338DD6D098D0A7A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 234</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>E2E3E4E5E7E8E9EAECEDEEEFF1F2F3F4F6F7F8F9FBFCFDFE</key>
+			<input>6A6B6C6DE0EFEEED2B2A2928C0C3C2C5</input>
+			<output>EB869996E6F8BFB2BFDD9E0C4504DBB2</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 235</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00010203050607080A0B0C0D0F10111214151617191A1B1C</key>
+			<input>B1B0B3B21714151A1A1B1C1D5649484B</input>
+			<output>C2E01549E9DECF317468B3E018C61BA8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 236</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>1E1F20212324252628292A2B2D2E2F30323334353738393A</key>
+			<input>39380706A3A4A5A6C4C5C6C77271706F</input>
+			<output>8DA875D033C01DD463B244A1770F4A22</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 237</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>3C3D3E3F41424344464748494B4C4D4E5051525355565758</key>
+			<input>5C5D5E5F1013121539383736E2E5E4E7</input>
+			<output>8BA0DCF3A186844F026D022F8839D696</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 238</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>5A5B5C5D5F60616264656667696A6B6C6E6F707173747576</key>
+			<input>43424544EAD5D4D72E2F2C2D64676661</input>
+			<output>E9691FF9A6CC6970E51670A0FD5B88C1</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 239</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>78797A7B7D7E7F80828384858788898A8C8D8E8F91929394</key>
+			<input>55545756989B9A65F8F9FEFF18171615</input>
+			<output>F2BAEC06FAEED30F88EE63BA081A6E5B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 240</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>969798999B9C9D9EA0A1A2A3A5A6A7A8AAABACADAFB0B1B2</key>
+			<input>05040B0A525554573C3D3E3F4A494847</input>
+			<output>9C39D4C459AE5753394D6094ADC21E78</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 241</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>B4B5B6B7B9BABBBCBEBFC0C1C3C4C5C6C8C9CACBCDCECFD0</key>
+			<input>14151617595A5B5C8584FBFA8E89888B</input>
+			<output>6345B532A11904502EA43BA99C6BD2B2</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 242</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>D2D3D4D5D7D8D9DADCDDDEDFE1E2E3E4E6E7E8E9EBECEDEE</key>
+			<input>7C7D7A7BFDF2F3F029282B2A51525354</input>
+			<output>5FFAE3061A95172E4070CEDCE1E428C8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 243</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>F0F1F2F3F5F6F7F8FAFBFCFDFE01000204050607090A0B0C</key>
+			<input>38393A3B1E1D1C1341404746C23D3C3E</input>
+			<output>0A4566BE4CDF9ADCE5DEC865B5AB34CD</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 244</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0E0F10111314151618191A1B1D1E1F20222324252728292A</key>
+			<input>8D8C939240474645818083827C7F7E41</input>
+			<output>CA17FCCE79B7404F2559B22928F126FB</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 245</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>2C2D2E2F31323334363738393B3C3D3E4041424345464748</key>
+			<input>3B3A39381A19181F32333C3D45424340</input>
+			<output>97CA39B849ED73A6470A97C821D82F58</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 246</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>4A4B4C4D4F50515254555657595A5B5C5E5F606163646566</key>
+			<input>F0F1F6F738272625828380817F7C7D7A</input>
+			<output>8198CB06BC684C6D3E9B7989428DCF7A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 247</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>68696A6B6D6E6F70727374757778797A7C7D7E7F81828384</key>
+			<input>89888B8A0407061966676061141B1A19</input>
+			<output>F53C464C705EE0F28D9A4C59374928BD</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 248</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>868788898B8C8D8E90919293959697989A9B9C9D9FA0A1A2</key>
+			<input>D3D2DDDCAAADACAF9C9D9E9FE8EBEAE5</input>
+			<output>9ADB3D4CCA559BB98C3E2ED73DBF1154</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 249</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00010203050607080A0B0C0D0F10111214151617191A1B1C1E1F202123242526</key>
+			<input>834EADFCCAC7E1B30664B1ABA44815AB</input>
+			<output>1946DABF6A03A2A2C3D0B05080AED6FC</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 250</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>28292A2B2D2E2F30323334353738393A3C3D3E3F41424344464748494B4C4D4E</key>
+			<input>D9DC4DBA3021B05D67C0518F72B62BF1</input>
+			<output>5ED301D747D3CC715445EBDEC62F2FB4</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>50515253555657585A5B5C5D5F60616264656667696A6B6C6E6F707173747576</key>
+			<input>A291D86301A4A739F7392173AA3C604C</input>
+			<output>6585C8F43D13A6BEAB6419FC5935B9D0</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>78797A7B7D7E7F80828384858788898A8C8D8E8F91929394969798999B9C9D9E</key>
+			<input>4264B2696498DE4DF79788A9F83E9390</input>
+			<output>2A5B56A596680FCC0E05F5E0F151ECAE</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>A0A1A2A3A5A6A7A8AAABACADAFB0B1B2B4B5B6B7B9BABBBCBEBFC0C1C3C4C5C6</key>
+			<input>EE9932B3721804D5A83EF5949245B6F6</input>
+			<output>F5D6FF414FD2C6181494D20C37F2B8C4</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>C8C9CACBCDCECFD0D2D3D4D5D7D8D9DADCDDDEDFE1E2E3E4E6E7E8E9EBECEDEE</key>
+			<input>E6248F55C5FDCBCA9CBBB01C88A2EA77</input>
+			<output>85399C01F59FFFB5204F19F8482F00B8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>F0F1F2F3F5F6F7F8FAFBFCFDFE01000204050607090A0B0C0E0F101113141516</key>
+			<input>B8358E41B9DFF65FD461D55A99266247</input>
+			<output>92097B4C88A041DDF98144BC8D22E8E7</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>18191A1B1D1E1F20222324252728292A2C2D2E2F31323334363738393B3C3D3E</key>
+			<input>F0E2D72260AF58E21E015AB3A4C0D906</input>
+			<output>89BD5B73B356AB412AEF9F76CEA2D65C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>40414243454647484A4B4C4D4F50515254555657595A5B5C5E5F606163646566</key>
+			<input>475B8B823CE8893DB3C44A9F2A379FF7</input>
+			<output>2536969093C55FF9454692F2FAC2F530</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>68696A6B6D6E6F70727374757778797A7C7D7E7F81828384868788898B8C8D8E</key>
+			<input>688F5281945812862F5F3076CF80412F</input>
+			<output>07FC76A872843F3F6E0081EE9396D637</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>90919293959697989A9B9C9D9FA0A1A2A4A5A6A7A9AAABACAEAFB0B1B3B4B5B6</key>
+			<input>08D1D2BC750AF553365D35E75AFACEAA</input>
+			<output>E38BA8EC2AA741358DCC93E8F141C491</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>B8B9BABBBDBEBFC0C2C3C4C5C7C8C9CACCCDCECFD1D2D3D4D6D7D8D9DBDCDDDE</key>
+			<input>8707121F47CC3EFCECA5F9A8474950A1</input>
+			<output>D028EE23E4A89075D0B03E868D7D3A42</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>E0E1E2E3E5E6E7E8EAEBECEDEFF0F1F2F4F5F6F7F9FAFBFCFEFE010103040506</key>
+			<input>E51AA0B135DBA566939C3B6359A980C5</input>
+			<output>8CD9423DFC459E547155C5D1D522E540</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>08090A0B0D0E0F10121314151718191A1C1D1E1F21222324262728292B2C2D2E</key>
+			<input>069A007FC76A459F98BAF917FEDF9521</input>
+			<output>080E9517EB1677719ACF728086040AE3</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>30313233353637383A3B3C3D3F40414244454647494A4B4C4E4F505153545556</key>
+			<input>726165C1723FBCF6C026D7D00B091027</input>
+			<output>7C1700211A3991FC0ECDED0AB3E576B0</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>58595A5B5D5E5F60626364656768696A6C6D6E6F71727374767778797B7C7D7E</key>
+			<input>D7C544DE91D55CFCDE1F84CA382200CE</input>
+			<output>DABCBCC855839251DB51E224FBE87435</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>80818283858687888A8B8C8D8F90919294959697999A9B9C9E9FA0A1A3A4A5A6</key>
+			<input>FED3C9A161B9B5B2BD611B41DC9DA357</input>
+			<output>68D56FAD0406947A4DD27A7448C10F1D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>A8A9AAABADAEAFB0B2B3B4B5B7B8B9BABCBDBEBFC1C2C3C4C6C7C8C9CBCCCDCE</key>
+			<input>4F634CDC6551043409F30B635832CF82</input>
+			<output>DA9A11479844D1FFEE24BBF3719A9925</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>D0D1D2D3D5D6D7D8DADBDCDDDFE0E1E2E4E5E6E7E9EAEBECEEEFF0F1F3F4F5F6</key>
+			<input>109CE98DB0DFB36734D9F3394711B4E6</input>
+			<output>5E4BA572F8D23E738DA9B05BA24B8D81</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>70717273757677787A7B7C7D7F80818284858687898A8B8C8E8F909193949596</key>
+			<input>4EA6DFABA2D8A02FFDFFA89835987242</input>
+			<output>A115A2065D667E3F0B883837A6E903F8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>98999A9B9D9E9FA0A2A3A4A5A7A8A9AAACADAEAFB1B2B3B4B6B7B8B9BBBCBDBE</key>
+			<input>5AE094F54AF58E6E3CDBF976DAC6D9EF</input>
+			<output>3E9E90DC33EAC2437D86AD30B137E66E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>C0C1C2C3C5C6C7C8CACBCCCDCFD0D1D2D4D5D6D7D9DADBDCDEDFE0E1E3E4E5E6</key>
+			<input>764D8E8E0F29926DBE5122E66354FDBE</input>
+			<output>01CE82D8FBCDAE824CB3C48E495C3692</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>E8E9EAEBEDEEEFF0F2F3F4F5F7F8F9FAFCFDFEFF01020304060708090B0C0D0E</key>
+			<input>3F0418F888CDF29A982BF6B75410D6A9</input>
+			<output>0C9CFF163CE936FAAF083CFD3DEA3117</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>10111213151617181A1B1C1D1F20212224252627292A2B2C2E2F303133343536</key>
+			<input>E4A3E7CB12CDD56AA4A75197A9530220</input>
+			<output>5131BA9BD48F2BBA85560680DF504B52</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>38393A3B3D3E3F40424344454748494A4C4D4E4F51525354565758595B5C5D5E</key>
+			<input>211677684AAC1EC1A160F44C4EBF3F26</input>
+			<output>9DC503BBF09823AEC8A977A5AD26CCB2</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>60616263656667686A6B6C6D6F70717274757677797A7B7C7E7F808183848586</key>
+			<input>D21E439FF749AC8F18D6D4B105E03895</input>
+			<output>9A6DB0C0862E506A9E397225884041D7</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>88898A8B8D8E8F90929394959798999A9C9D9E9FA1A2A3A4A6A7A8A9ABACADAE</key>
+			<input>D9F6FF44646C4725BD4C0103FF5552A7</input>
+			<output>430BF9570804185E1AB6365FC6A6860C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>B0B1B2B3B5B6B7B8BABBBCBDBFC0C1C2C4C5C6C7C9CACBCCCECFD0D1D3D4D5D6</key>
+			<input>0B1256C2A00B976250CFC5B0C37ED382</input>
+			<output>3525EBC02F4886E6A5A3762813E8CE8A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>D8D9DADBDDDEDFE0E2E3E4E5E7E8E9EAECEDEEEFF1F2F3F4F6F7F8F9FBFCFDFE</key>
+			<input>B056447FFC6DC4523A36CC2E972A3A79</input>
+			<output>07FA265C763779CCE224C7BAD671027B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00010203050607080A0B0C0D0F10111214151617191A1B1C1E1F202123242526</key>
+			<input>5E25CA78F0DE55802524D38DA3FE4456</input>
+			<output>E8B72B4E8BE243438C9FFF1F0E205872</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>28292A2B2D2E2F30323334353738393A3C3D3E3F41424344464748494B4C4D4E</key>
+			<input>A5BCF4728FA5EAAD8567C0DC24675F83</input>
+			<output>109D4F999A0E11ACE1F05E6B22CBCB50</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>50515253555657585A5B5C5D5F60616264656667696A6B6C6E6F707173747576</key>
+			<input>814E59F97ED84646B78B2CA022E9CA43</input>
+			<output>45A5E8D4C3ED58403FF08D68A0CC4029</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>78797A7B7D7E7F80828384858788898A8C8D8E8F91929394969798999B9C9D9E</key>
+			<input>15478BEEC58F4775C7A7F5D4395514D7</input>
+			<output>196865964DB3D417B6BD4D586BCB7634</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>A0A1A2A3A5A6A7A8AAABACADAFB0B1B2B4B5B6B7B9BABBBCBEBFC0C1C3C4C5C6</key>
+			<input>253548FFCA461C67C8CBC78CD59F4756</input>
+			<output>60436AD45AC7D30D99195F815D98D2AE</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>C8C9CACBCDCECFD0D2D3D4D5D7D8D9DADCDDDEDFE1E2E3E4E6E7E8E9EBECEDEE</key>
+			<input>FD7AD8D73B9B0F8CC41600640F503D65</input>
+			<output>BB07A23F0B61014B197620C185E2CD75</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>F0F1F2F3F5F6F7F8FAFBFCFDFE01000204050607090A0B0C0E0F101113141516</key>
+			<input>06199DE52C6CBF8AF954CD65830BCD56</input>
+			<output>5BC0B2850129C854423AFF0751FE343B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>18191A1B1D1E1F20222324252728292A2C2D2E2F31323334363738393B3C3D3E</key>
+			<input>F17C4FFE48E44C61BD891E257E725794</input>
+			<output>7541A78F96738E6417D2A24BD2BECA40</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>40414243454647484A4B4C4D4F50515254555657595A5B5C5E5F606163646566</key>
+			<input>9A5B4A402A3E8A59BE6BF5CD8154F029</input>
+			<output>B0A303054412882E464591F1546C5B9E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>68696A6B6D6E6F70727374757778797A7C7D7E7F81828384868788898B8C8D8E</key>
+			<input>79BD40B91A7E07DC939D441782AE6B17</input>
+			<output>778C06D8A355EEEE214FCEA14B4E0EEF</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>90919293959697989A9B9C9D9FA0A1A2A4A5A6A7A9AAABACAEAFB0B1B3B4B5B6</key>
+			<input>D8CEAAF8976E5FBE1012D8C84F323799</input>
+			<output>09614206D15CBACE63227D06DB6BEEBB</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>B8B9BABBBDBEBFC0C2C3C4C5C7C8C9CACCCDCECFD1D2D3D4D6D7D8D9DBDCDDDE</key>
+			<input>3316E2751E2E388B083DA23DD6AC3FBE</input>
+			<output>41B97FB20E427A9FDBBB358D9262255D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>E0E1E2E3E5E6E7E8EAEBECEDEFF0F1F2F4F5F6F7F9FAFBFCFEFE010103040506</key>
+			<input>8B7CFBE37DE7DCA793521819242C5816</input>
+			<output>C1940F703D845F957652C2D64ABD7ADF</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>08090A0B0D0E0F10121314151718191A1C1D1E1F21222324262728292B2C2D2E</key>
+			<input>F23F033C0EEBF8EC55752662FD58CE68</input>
+			<output>D2D44FCDAE5332343366DB297EFCF21B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>30313233353637383A3B3C3D3F40414244454647494A4B4C4E4F505153545556</key>
+			<input>59EB34F6C8BDBACC5FC6AD73A59A1301</input>
+			<output>EA8196B79DBE167B6AA9896E287EED2B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>58595A5B5D5E5F60626364656768696A6C6D6E6F71727374767778797B7C7D7E</key>
+			<input>DCDE8B6BD5CF7CC22D9505E3CE81261A</input>
+			<output>D6B0B0C4BA6C7DBE5ED467A1E3F06C2D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>80818283858687888A8B8C8D8F90919294959697999A9B9C9E9FA0A1A3A4A5A6</key>
+			<input>E33CF7E524FED781E7042FF9F4B35DC7</input>
+			<output>EC51EB295250C22C2FB01816FB72BCAE</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>A8A9AAABADAEAFB0B2B3B4B5B7B8B9BABCBDBEBFC1C2C3C4C6C7C8C9CBCCCDCE</key>
+			<input>27963C8FACDF73062867D164DF6D064C</input>
+			<output>ADED6630A07CE9C7408A155D3BD0D36F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>D0D1D2D3D5D6D7D8DADBDCDDDFE0E1E2E4E5E6E7E9EAEBECEEEFF0F1F3F4F5F6</key>
+			<input>77B1CE386B551B995F2F2A1DA994EEF8</input>
+			<output>697C9245B9937F32F5D1C82319F0363A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>F8F9FAFBFDFEFE00020304050708090A0C0D0E0F11121314161718191B1C1D1E</key>
+			<input>F083388B013679EFCF0BB9B15D52AE5C</input>
+			<output>AAD5AD50C6262AAEC30541A1B7B5B19C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>20212223252627282A2B2C2D2F30313234353637393A3B3C3E3F404143444546</key>
+			<input>C5009E0DAB55DB0ABDB636F2600290C8</input>
+			<output>7D34B893855341EC625BD6875AC18C0D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>48494A4B4D4E4F50525354555758595A5C5D5E5F61626364666768696B6C6D6E</key>
+			<input>7804881E26CD532D8514D3683F00F1B9</input>
+			<output>7EF05105440F83862F5D780E88F02B41</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>70717273757677787A7B7C7D7F80818284858687898A8B8C8E8F909193949596</key>
+			<input>46CDDCD73D1EB53E675CA012870A92A3</input>
+			<output>C377C06403382061AF2C9C93A8E70DF6</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>98999A9B9D9E9FA0A2A3A4A5A7A8A9AAACADAEAFB1B2B3B4B6B7B8B9BBBCBDBE</key>
+			<input>A9FB44062BB07FE130A8E8299EACB1AB</input>
+			<output>1DBDB3FFDC052DACC83318853ABC6DE5</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>C0C1C2C3C5C6C7C8CACBCCCDCFD0D1D2D4D5D6D7D9DADBDCDEDFE0E1E3E4E5E6</key>
+			<input>2B6FF8D7A5CC3A28A22D5A6F221AF26B</input>
+			<output>69A6EAB00432517D0BF483C91C0963C7</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>E8E9EAEBEDEEEFF0F2F3F4F5F7F8F9FAFCFDFEFF01020304060708090B0C0D0E</key>
+			<input>1A9527C29B8ADD4B0E3E656DBB2AF8B4</input>
+			<output>0797F41DC217C80446E1D514BD6AB197</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>10111213151617181A1B1C1D1F20212224252627292A2B2C2E2F303133343536</key>
+			<input>7F99CF2C75244DF015EB4B0C1050AEAE</input>
+			<output>9DFD76575902A637C01343C58E011A03</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>38393A3B3D3E3F40424344454748494A4C4D4E4F51525354565758595B5C5D5E</key>
+			<input>E84FF85B0D9454071909C1381646C4ED</input>
+			<output>ACF4328AE78F34B9FA9B459747CC2658</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>60616263656667686A6B6C6D6F70717274757677797A7B7C7E7F808183848586</key>
+			<input>89AFD40F99521280D5399B12404F6DB4</input>
+			<output>B0479AEA12BAC4FE2384CF98995150C6</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>88898A8B8D8E8F90929394959798999A9C9D9E9FA1A2A3A4A6A7A8A9ABACADAE</key>
+			<input>A09EF32DBC5119A35AB7FA38656F0329</input>
+			<output>9DD52789EFE3FFB99F33B3DA5030109A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>B0B1B2B3B5B6B7B8BABBBCBDBFC0C1C2C4C5C6C7C9CACBCCCECFD0D1D3D4D5D6</key>
+			<input>61773457F068C376C7829B93E696E716</input>
+			<output>ABBB755E4621EF8F1214C19F649FB9FD</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>D8D9DADBDDDEDFE0E2E3E4E5E7E8E9EAECEDEEEFF1F2F3F4F6F7F8F9FBFCFDFE</key>
+			<input>A34F0CAE726CCE41DD498747D891B967</input>
+			<output>DA27FB8174357BCE2BED0E7354F380F9</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00010203050607080A0B0C0D0F10111214151617191A1B1C1E1F202123242526</key>
+			<input>856F59496C7388EE2D2B1A27B7697847</input>
+			<output>C59A0663F0993838F6E5856593BDC5EF</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>28292A2B2D2E2F30323334353738393A3C3D3E3F41424344464748494B4C4D4E</key>
+			<input>CB090C593EF7720BD95908FB93B49DF4</input>
+			<output>ED60B264B5213E831607A99C0CE5E57E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>50515253555657585A5B5C5D5F60616264656667696A6B6C6E6F707173747576</key>
+			<input>A0AC75CD2F1923D460FC4D457AD95BAF</input>
+			<output>E50548746846F3EB77B8C520640884ED</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>78797A7B7D7E7F80828384858788898A8C8D8E8F91929394969798999B9C9D9E</key>
+			<input>2A2B282974777689E8E9EEEF525D5C5F</input>
+			<output>28282CC7D21D6A2923641E52D188EF0C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>A0A1A2A3A5A6A7A8AAABACADAFB0B1B2B4B5B6B7B9BABBBCBEBFC0C1C3C4C5C6</key>
+			<input>909192939390919E0F0E09089788898A</input>
+			<output>0DFA5B02ABB18E5A815305216D6D4F8E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>C8C9CACBCDCECFD0D2D3D4D5D7D8D9DADCDDDEDFE1E2E3E4E6E7E8E9EBECEDEE</key>
+			<input>777675748D8E8F907170777649464744</input>
+			<output>7359635C0EECEFE31D673395FB46FB99</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>F0F1F2F3F5F6F7F8FAFBFCFDFE01000204050607090A0B0C0E0F101113141516</key>
+			<input>717073720605040B2D2C2B2A05FAFBF9</input>
+			<output>73C679F7D5AEF2745C9737BB4C47FB36</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>18191A1B1D1E1F20222324252728292A2C2D2E2F31323334363738393B3C3D3E</key>
+			<input>64656667FEFDFCC31B1A1D1CA5AAABA8</input>
+			<output>B192BD472A4D2EAFB786E97458967626</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>40414243454647484A4B4C4D4F50515254555657595A5B5C5E5F606163646566</key>
+			<input>DBDAD9D86A696867B5B4B3B2C8D7D6D5</input>
+			<output>0EC327F6C8A2B147598CA3FDE61DC6A4</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>68696A6B6D6E6F70727374757778797A7C7D7E7F81828384868788898B8C8D8E</key>
+			<input>5C5D5E5FE3E0E1FE31303736333C3D3E</input>
+			<output>FC418EB3C41B859B38D4B6F646629729</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>90919293959697989A9B9C9D9FA0A1A2A4A5A6A7A9AAABACAEAFB0B1B3B4B5B6</key>
+			<input>545556574B48494673727574546B6A69</input>
+			<output>30249E5AC282B1C981EA64B609F3A154</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>B8B9BABBBDBEBFC0C2C3C4C5C7C8C9CACCCDCECFD1D2D3D4D6D7D8D9DBDCDDDE</key>
+			<input>ECEDEEEFC6C5C4BB56575051F5FAFBF8</input>
+			<output>5E6E08646D12150776BB43C2D78A9703</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>E0E1E2E3E5E6E7E8EAEBECEDEFF0F1F2F4F5F6F7F9FAFBFCFEFE010103040506</key>
+			<input>464744452724252AC9C8CFCED2CDCCCF</input>
+			<output>FAEB3D5DE652CD3447DCEB343F30394A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>08090A0B0D0E0F10121314151718191A1C1D1E1F21222324262728292B2C2D2E</key>
+			<input>E6E7E4E54142435C878681801C131211</input>
+			<output>A8E88706823F6993EF80D05C1C7B2CF0</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>30313233353637383A3B3C3D3F40414244454647494A4B4C4E4F505153545556</key>
+			<input>72737071CFCCCDC2F9F8FFFE710E0F0C</input>
+			<output>8CED86677E6E00A1A1B15968F2D3CCE6</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>58595A5B5D5E5F60626364656768696A6C6D6E6F71727374767778797B7C7D7E</key>
+			<input>505152537370714EC3C2C5C4010E0F0C</input>
+			<output>9FC7C23858BE03BDEBB84E90DB6786A9</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>80818283858687888A8B8C8D8F90919294959697999A9B9C9E9FA0A1A3A4A5A6</key>
+			<input>A8A9AAAB5C5F5E51AEAFA8A93D222320</input>
+			<output>B4FBD65B33F70D8CF7F1111AC4649C36</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>A8A9AAABADAEAFB0B2B3B4B5B7B8B9BABCBDBEBFC1C2C3C4C6C7C8C9CBCCCDCE</key>
+			<input>DEDFDCDDF6F5F4EB10111617FEF1F0F3</input>
+			<output>C5C32D5ED03C4B53CC8C1BD0EF0DBBF6</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>D0D1D2D3D5D6D7D8DADBDCDDDFE0E1E2E4E5E6E7E9EAEBECEEEFF0F1F3F4F5F6</key>
+			<input>BDBCBFBE5E5D5C530B0A0D0CFAC5C4C7</input>
+			<output>D1A7F03B773E5C212464B63709C6A891</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>F8F9FAFBFDFEFE00020304050708090A0C0D0E0F11121314161718191B1C1D1E</key>
+			<input>8A8B8889050606F8F4F5F2F3636C6D6E</input>
+			<output>6B7161D8745947AC6950438EA138D028</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>20212223252627282A2B2C2D2F30313234353637393A3B3C3E3F404143444546</key>
+			<input>A6A7A4A54D4E4F40B2B3B4B539262724</input>
+			<output>FD47A9F7E366EE7A09BC508B00460661</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>48494A4B4D4E4F50525354555758595A5C5D5E5F61626364666768696B6C6D6E</key>
+			<input>9C9D9E9FE9EAEBF40E0F08099B949596</input>
+			<output>00D40B003DC3A0D9310B659B98C7E416</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>70717273757677787A7B7C7D7F80818284858687898A8B8C8E8F909193949596</key>
+			<input>2D2C2F2E1013121DCCCDCACBED121310</input>
+			<output>EEA4C79DCC8E2BDA691F20AC48BE0717</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>98999A9B9D9E9FA0A2A3A4A5A7A8A9AAACADAEAFB1B2B3B4B6B7B8B9BBBCBDBE</key>
+			<input>F4F5F6F7EDEEEFD0EAEBECEDF7F8F9FA</input>
+			<output>E78F43B11C204403E5751F89D05A2509</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>C0C1C2C3C5C6C7C8CACBCCCDCFD0D1D2D4D5D6D7D9DADBDCDEDFE0E1E3E4E5E6</key>
+			<input>3D3C3F3E282B2A2573727574150A0B08</input>
+			<output>D0F0E3D1F1244BB979931E38DD1786EF</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>E8E9EAEBEDEEEFF0F2F3F4F5F7F8F9FAFCFDFEFF01020304060708090B0C0D0E</key>
+			<input>B6B7B4B5F8FBFAE5B4B5B2B3A0AFAEAD</input>
+			<output>042E639DC4E1E4DDE7B75B749EA6F765</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>10111213151617181A1B1C1D1F20212224252627292A2B2C2E2F303133343536</key>
+			<input>B7B6B5B4989B9A95878681809BA4A5A6</input>
+			<output>BC032FDD0EFE29503A980A7D07AB46A8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>38393A3B3D3E3F40424344454748494A4C4D4E4F51525354565758595B5C5D5E</key>
+			<input>A8A9AAABE5E6E798E9E8EFEE4748494A</input>
+			<output>0C93AC949C0DA6446EFFB86183B6C910</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>60616263656667686A6B6C6D6F70717274757677797A7B7C7E7F808183848586</key>
+			<input>ECEDEEEFD9DADBD4B9B8BFBE657A7B78</input>
+			<output>E0D343E14DA75C917B4A5CEC4810D7C2</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>88898A8B8D8E8F90929394959798999A9C9D9E9FA1A2A3A4A6A7A8A9ABACADAE</key>
+			<input>7F7E7D7C696A6B74CACBCCCD929D9C9F</input>
+			<output>0EAFB821748408279B937B626792E619</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>B0B1B2B3B5B6B7B8BABBBCBDBFC0C1C2C4C5C6C7C9CACBCCCECFD0D1D3D4D5D6</key>
+			<input>08090A0B0605040BFFFEF9F8B9C6C7C4</input>
+			<output>FA1AC6E02D23B106A1FEF18B274A553F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>D8D9DADBDDDEDFE0E2E3E4E5E7E8E9EAECEDEEEFF1F2F3F4F6F7F8F9FBFCFDFE</key>
+			<input>08090A0BF1F2F3CCFCFDFAFB68676665</input>
+			<output>0DADFE019CD12368075507DF33C1A1E9</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00010203050607080A0B0C0D0F10111214151617191A1B1C1E1F202123242526</key>
+			<input>CACBC8C93A393837050403020D121310</input>
+			<output>3A0879B414465D9FFBAF86B33A63A1B9</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>28292A2B2D2E2F30323334353738393A3C3D3E3F41424344464748494B4C4D4E</key>
+			<input>E9E8EBEA8281809F8F8E8988343B3A39</input>
+			<output>62199FADC76D0BE1805D3BA0B7D914BF</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>50515253555657585A5B5C5D5F60616264656667696A6B6C6E6F707173747576</key>
+			<input>515053524645444BD0D1D6D7340B0A09</input>
+			<output>1B06D6C5D333E742730130CF78E719B4</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>78797A7B7D7E7F80828384858788898A8C8D8E8F91929394969798999B9C9D9E</key>
+			<input>42434041ECEFEE1193929594C6C9C8CB</input>
+			<output>F1F848824C32E9DCDCBF21580F069329</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>A0A1A2A3A5A6A7A8AAABACADAFB0B1B2B4B5B6B7B9BABBBCBEBFC0C1C3C4C5C6</key>
+			<input>EFEEEDECC2C1C0CF76777071455A5B58</input>
+			<output>1A09050CBD684F784D8E965E0782F28A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>C8C9CACBCDCECFD0D2D3D4D5D7D8D9DADCDDDEDFE1E2E3E4E6E7E8E9EBECEDEE</key>
+			<input>5F5E5D5C3F3C3D221D1C1B1A19161714</input>
+			<output>79C2969E7DED2BA7D088F3F320692360</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>F0F1F2F3F5F6F7F8FAFBFCFDFE01000204050607090A0B0C0E0F101113141516</key>
+			<input>000102034142434C1C1D1A1B8D727371</input>
+			<output>091A658A2F7444C16ACCB669450C7B63</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>18191A1B1D1E1F20222324252728292A2C2D2E2F31323334363738393B3C3D3E</key>
+			<input>8E8F8C8DB1B2B38C56575051050A0B08</input>
+			<output>97C1E3A72CCA65FA977D5ED0E8A7BBFC</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>40414243454647484A4B4C4D4F50515254555657595A5B5C5E5F606163646566</key>
+			<input>A7A6A5A4E8EBEAE57F7E7978CAD5D4D7</input>
+			<output>70C430C6DB9A17828937305A2DF91A2A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>68696A6B6D6E6F70727374757778797A7C7D7E7F81828384868788898B8C8D8E</key>
+			<input>8A8B888994979689454443429F909192</input>
+			<output>629553457FBE2479098571C7C903FDE8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>90919293959697989A9B9C9D9FA0A1A2A4A5A6A7A9AAABACAEAFB0B1B3B4B5B6</key>
+			<input>8C8D8E8FE0E3E2ED45444342F1CECFCC</input>
+			<output>A25B25A61F612669E7D91265C7D476BA</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>B8B9BABBBDBEBFC0C2C3C4C5C7C8C9CACCCDCECFD1D2D3D4D6D7D8D9DBDCDDDE</key>
+			<input>FFFEFDFC4C4F4E31D8D9DEDFB6B9B8BB</input>
+			<output>EB7E4E49B8AE0F024570DDA293254FED</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>E0E1E2E3E5E6E7E8EAEBECEDEFF0F1F2F4F5F6F7F9FAFBFCFEFE010103040506</key>
+			<input>FDFCFFFECCCFCEC12F2E29286679787B</input>
+			<output>38FE15D61CCA84516E924ADCE5014F67</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>08090A0B0D0E0F10121314151718191A1C1D1E1F21222324262728292B2C2D2E</key>
+			<input>67666564BAB9B8A77071767719161714</input>
+			<output>3AD208492249108C9F3EBEB167AD0583</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>30313233353637383A3B3C3D3F40414244454647494A4B4C4E4F505153545556</key>
+			<input>9A9B98992D2E2F2084858283245B5A59</input>
+			<output>299BA9F9BF5AB05C3580FC26EDD1ED12</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>58595A5B5D5E5F60626364656768696A6C6D6E6F71727374767778797B7C7D7E</key>
+			<input>A4A5A6A70B0809365C5D5A5B2C232221</input>
+			<output>19DC705B857A60FB07717B2EA5717781</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>80818283858687888A8B8C8D8F90919294959697999A9B9C9E9FA0A1A3A4A5A6</key>
+			<input>464744455754555AF3F2F5F4AFB0B1B2</input>
+			<output>FFC8AEB885B5EFCAD06B6DBEBF92E76B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>A8A9AAABADAEAFB0B2B3B4B5B7B8B9BABCBDBEBFC1C2C3C4C6C7C8C9CBCCCDCE</key>
+			<input>323330317675746B7273747549464744</input>
+			<output>F58900C5E0B385253FF2546250A0142B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>D0D1D2D3D5D6D7D8DADBDCDDDFE0E1E2E4E5E6E7E9EAEBECEEEFF0F1F3F4F5F6</key>
+			<input>A8A9AAAB181B1A15808186872B141516</input>
+			<output>2EE67B56280BC462429CEE6E3370CBC1</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>F8F9FAFBFDFEFE00020304050708090A0C0D0E0F11121314161718191B1C1D1E</key>
+			<input>E7E6E5E4202323DDAAABACAD343B3A39</input>
+			<output>20DB650A9C8E9A84AB4D25F7EDC8F03F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>20212223252627282A2B2C2D2F30313234353637393A3B3C3E3F404143444546</key>
+			<input>A8A9AAAB2221202FEDECEBEA1E010003</input>
+			<output>3C36DA169525CF818843805F25B78AE5</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>48494A4B4D4E4F50525354555758595A5C5D5E5F61626364666768696B6C6D6E</key>
+			<input>F9F8FBFA5F5C5D42424344450E010003</input>
+			<output>9A781D960DB9E45E37779042FEA51922</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>70717273757677787A7B7C7D7F80818284858687898A8B8C8E8F909193949596</key>
+			<input>57565554F5F6F7F89697909120DFDEDD</input>
+			<output>6560395EC269C672A3C288226EFDBA77</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>98999A9B9D9E9FA0A2A3A4A5A7A8A9AAACADAEAFB1B2B3B4B6B7B8B9BBBCBDBE</key>
+			<input>F8F9FAFBCCCFCEF1DDDCDBDA0E010003</input>
+			<output>8C772B7A189AC544453D5916EBB27B9A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>C0C1C2C3C5C6C7C8CACBCCCDCFD0D1D2D4D5D6D7D9DADBDCDEDFE0E1E3E4E5E6</key>
+			<input>D9D8DBDA7073727D80818687C2DDDCDF</input>
+			<output>77CA5468CC48E843D05F78EED9D6578F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>E8E9EAEBEDEEEFF0F2F3F4F5F7F8F9FAFCFDFEFF01020304060708090B0C0D0E</key>
+			<input>C5C4C7C6080B0A1588898E8F68676665</input>
+			<output>72CDCC71DC82C60D4429C9E2D8195BAA</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>10111213151617181A1B1C1D1F20212224252627292A2B2C2E2F303133343536</key>
+			<input>83828180DCDFDED186878081F0CFCECD</input>
+			<output>8080D68CE60E94B40B5B8B69EEB35AFA</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>38393A3B3D3E3F40424344454748494A4C4D4E4F51525354565758595B5C5D5E</key>
+			<input>98999A9BDDDEDFA079787F7E0A050407</input>
+			<output>44222D3CDE299C04369D58AC0EBA1E8E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>60616263656667686A6B6C6D6F70717274757677797A7B7C7E7F808183848586</key>
+			<input>CECFCCCD4F4C4D429F9E9998DFC0C1C2</input>
+			<output>9B8721B0A8DFC691C5BC5885DBFCB27A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>88898A8B8D8E8F90929394959798999A9C9D9E9FA1A2A3A4A6A7A8A9ABACADAE</key>
+			<input>404142436665647B29282F2EABA4A5A6</input>
+			<output>0DC015CE9A3A3414B5E62EC643384183</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>B0B1B2B3B5B6B7B8BABBBCBDBFC0C1C2C4C5C6C7C9CACBCCCECFD0D1D3D4D5D6</key>
+			<input>33323130E6E5E4EB23222524DEA1A0A3</input>
+			<output>705715448A8DA412025CE38345C2A148</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>D8D9DADBDDDEDFE0E2E3E4E5E7E8E9EAECEDEEEFF1F2F3F4F6F7F8F9FBFCFDFE</key>
+			<input>CFCECDCCF6F5F4CBE6E7E0E199969794</input>
+			<output>C32B5B0B6FBAE165266C569F4B6ECF0B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00010203050607080A0B0C0D0F10111214151617191A1B1C1E1F202123242526</key>
+			<input>BABBB8B97271707FDCDDDADB29363734</input>
+			<output>4DCA6C75192A01DDCA9476AF2A521E87</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>28292A2B2D2E2F30323334353738393A3C3D3E3F41424344464748494B4C4D4E</key>
+			<input>C9C8CBCA4447465926272021545B5A59</input>
+			<output>058691E627ECBC36AC07B6DB423BD698</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test </actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>50515253555657585A5B5C5D5F60616264656667696A6B6C6E6F707173747576</key>
+			<input>050407067477767956575051221D1C1F</input>
+			<output>7444527095838FE080FC2BCDD30847EB</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tsymmetric/scripts/AESECB_KAT_VK.txt	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,9216 @@
+<action>
+	<actionname>AES ECB KAT VK 1</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>80000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>0EDD33D3C621E546455BD8BA1418BEC8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 2</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>40000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>C0CC0C5DA5BD63ACD44A80774FAD5222</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 3</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>20000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>2F0B4B71BC77851B9CA56D42EB8FF080</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 4</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>10000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>6B1E2FFFE8A114009D8FE22F6DB5F876</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 5</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>08000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>9AA042C315F94CBB97B62202F83358F5</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 6</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>04000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>DBE01DE67E346A800C4C4B4880311DE4</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 7</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>02000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>C117D2238D53836ACD92DDCDB85D6A21</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 8</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>01000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>DC0ED85DF9611ABB7249CDD168C5467E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 9</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00800000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>807D678FFF1F56FA92DE3381904842F2</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 10</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00400000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>0E53B3FCAD8E4B130EF73AEB957FB402</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 11</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00200000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>969FFD3B7C35439417E7BDE923035D65</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 12</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00100000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>A99B512C19CA56070491166A1503BF15</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 13</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00080000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>6E9985252126EE344D26AE369D2327E3</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 14</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00040000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>B85F4809F904C275491FCDCD1610387E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 15</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00020000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>ED365B8D7D20C1F5D53FB94DD211DF7B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 16</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00010000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>B3A575E86A8DB4A7135D604C43304896</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 17</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00008000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>89704BCB8E69F846259EB0ACCBC7F8A2</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 18</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00004000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>C56EE7C92197861F10D7A92B90882055</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 19</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00002000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>92F296F6846E0EAF9422A5A24A08B069</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 20</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00001000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>E67E32BB8F11DEB8699318BEE9E91A60</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 21</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000800000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>B08EEF85EAF626DD91B65C4C3A97D92B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 22</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000400000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>661083A6ADDCE79BB4E0859AB5538013</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 23</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000200000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>55DFE2941E0EB10AFC0B333BD34DE1FE</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 24</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000100000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>6BFE5945E715C9662609770F8846087A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 25</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000080000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>79848E9C30C2F8CDA8B325F7FED2B139</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 26</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000040000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>7A713A53B99FEF34AC04DEEF80965BD0</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 27</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000020000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>18144A2B46620D32C3C32CE52D49257F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 28</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000010000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>872E827C70887C80749F7B8BB1847C7E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 29</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000008000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>6B86C6A4FE6A60C59B1A3102F8DE49F3</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 30</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000004000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>9848BB3DFDF6F532F094679A4C231A20</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 31</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000002000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>925AD528E852E329B2091CD3F1C2BCEE</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 32</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000001000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>80DF436544B0DD596722E46792A40CD8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 33</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000800000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>525DAF18F93E83E1E74BBBDDE4263BBA</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 34</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000400000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>F65C9D2EE485D24701FFA3313B9D5BE6</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 35</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000200000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>E4FC8D8BCA06425BDF94AFA40FCC14BA</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 36</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000100000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>A53F0A5CA1E4E6440BB975FF320DE6F8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 37</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000080000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>D55313B9394080462E87E02899B553F0</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 38</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000040000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>34A71D761F71BCD344384C7F97D27906</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 39</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000020000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>233F3D819599612EBC89580245C996A8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 40</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000010000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>B4F1374E5268DBCB676E447529E53F89</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 41</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000008000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>0816BD27861D2BA891D1044E39951E96</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 42</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000004000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>F3BE9EA3F10C73CA64FDE5DB13A951D1</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 43</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000002000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>2448086A8106FBD03048DDF857D3F1C8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 44</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000001000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>670756E65BEC8B68F03D77CDCDCE7B91</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 45</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000800000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>EF968CF0D36FD6C6EFFD225F6FB44CA9</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 46</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000400000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>2E8767157922E3826DDCEC1B0CC1E105</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 47</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000200000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>78CE7EEC670E45A967BAB17E26A1AD36</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 48</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000100000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>3C5CEE825655F098F6E81A2F417DA3FB</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 49</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000080000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>67BFDB431DCE1292200BC6F5207ADB12</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 50</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000040000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>7540FD38E447C0779228548747843A6F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 51</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000020000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>B85E513301F8A936EA9EC8A21A85B5E6</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 52</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000010000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>04C67DBF16C11427D507A455DE2C9BC5</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 53</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000008000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>03F75EB8959E55079CFFB4FF149A37B6</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 54</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000004000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>74550287F666C63BB9BC7838433434B0</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 55</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000002000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>7D537200195EBC3AEFD1EAAB1C385221</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 56</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000001000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>CE24E4D40C68A82B535CBD3C8E21652A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 57</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000800000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>AB20072405AA8FC40265C6F1F3DC8BC0</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 58</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000400000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>6CFD2CF688F566B093F67B9B3839E80A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 59</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000200000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>BD95977E6B7239D407A012C5544BF584</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 60</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000100000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>DF9C0130AC77E7C72C997F587B46DBE0</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 61</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000080000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>E7F1B82CADC53A648798945B34EFEFF2</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 62</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000040000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>932C6DBF69255CF13EDCDB72233ACEA3</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 63</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000020000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>5C76002BC7206560EFE550C80B8F12CC</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 64</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000010000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>F6B7BDD1CAEEBAB574683893C4475484</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 65</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000008000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>A920E37CC6DC6B31DA8C0169569F5034</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 66</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000004000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>919380ECD9C778BC513148B0C28D65FD</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 67</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000002000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>EE67308DD3F2D9E6C2170755E5784BE1</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 68</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000001000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>3CC73E53B85609023A05E149B223AE09</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 69</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000800000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>983E8AF7CF05EBB28D71EB841C9406E6</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 70</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000400000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>0F3099B2D31FA5299EE5BF43193287FC</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 71</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000200000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>B763D84F38C27FE6931DCEB6715D4DB6</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 72</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000100000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>5AE3C9B0E3CC29C0C61565CD01F8A248</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 73</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000080000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>F58083572CD90981958565D48D2DEE25</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 74</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000040000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>7E6255EEF8F70C0EF10337AAB1CCCEF8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 75</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000020000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>AAD4BAC34DB22821841CE2F631961902</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 76</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000010000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>D7431C0409BB1441BA9C6858DC7D4E81</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 77</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000008000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>EF9298C65E339F6E801A59C626456993</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 78</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000004000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>53FE29F68FF541ABC3F0EF3350B72F7E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 79</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000002000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>F6BBA5C10DB02529E2C2DA3FB582CC14</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 80</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000001000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>E4239AA37FC531A386DAD1126FC0E9CD</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 81</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000800000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>8F7758F857D15BBE7BFD0E416404C365</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 82</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000400000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>D273EB57C687BCD1B4EA7218A509E7B8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 83</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000200000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>65D64F8D76E8B3423FA25C4EB58A210A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 84</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000100000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>623D802B4EC450D66A16625702FCDBE0</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 85</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000080000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>7496460CB28E5791BAEAF9B68FB00022</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 86</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000040000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>34EA600F18BB0694B41681A49D510C1D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 87</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000020000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>5F8FF0D47D5766D29B5D6E8F46423BD8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 88</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000010000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>225F9286C5928BF09F84D3F93F541959</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 89</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000008000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>B21E90D25DF383416A5F072CEBEB1FFB</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 90</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000004000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>4AEFCDA089318125453EB9E8EB5E492E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 91</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000002000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>4D3E75C6CD40EC4869BC85158591ADB8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 92</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000001000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>63A8B904405436A1B99D7751866771B7</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 93</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000800000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>64F0DAAE47529199792EAE172BA53293</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 94</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000400000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>C3EEF84BEA18225D515A8C852A9047EE</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 95</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000200000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>A44AC422B47D47B81AF73B3E9AC9596E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 96</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000100000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>D16E04A8FBC435094F8D53ADF25F5084</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 97</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000080000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>EF13DC34BAB03E124EEAD8B6BF44B532</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 98</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000040000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>D94799075C24DCC067AF0D392049250D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 99</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000020000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>14F431771EDDCE4764C21A2254B5E3C8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 100</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000010000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>7039329F36F2ED682B02991F28D64679</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 101</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000008000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>124EE24EDE5551639DB8B8B941F6141D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 102</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000004000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>C2852879A34D5184E478EC918B993FEE</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 103</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000002000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>86A806A3525B93E432053C9AB5ABBEDF</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 104</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000001000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>C1609BF5A4F07E37C17A36366EC23ECC</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 105</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000800000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>7E81E7CB92159A51FFCEA331B1E8EA53</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 106</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000400000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>37A7BE002856C5A59A6E03EAFCE7729A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 107</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000200000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>BDF98A5A4F91E890C9A1D1E5FAAB138F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 108</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000100000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>4E96ACB66E051F2BC739CC3D3E34A26B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 109</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000080000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>EE996CDD120EB86E21ECFA49E8E1FCF1</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 110</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000040000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>61B9E6B579DBF6070C351A1440DD85FF</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 111</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000020000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>AC369E484316440B40DFC83AA96E28E7</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 112</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000010000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>0A2D16DE985C76D45C579C1159413BBE</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 113</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000008000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>DA3FDC38DA1D374FA4802CDA1A1C6B0F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 114</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000004000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>B842523D4C41C2211AFE43A5800ADCE3</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 115</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000002000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>9E2CDA90D8E992DBA6C73D8229567192</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 116</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000001000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>D49583B781D9E20F5BE101415957FC49</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 117</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000800</key>
+			<input>00000000000000000000000000000000</input>
+			<output>EF09DA5C12B376E458B9B8670032498E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 118</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000400</key>
+			<input>00000000000000000000000000000000</input>
+			<output>A96BE0463DA774461A5E1D5A9DD1AC10</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 119</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000200</key>
+			<input>00000000000000000000000000000000</input>
+			<output>32CEE3341060790D2D4B1362EF397090</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 120</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000100</key>
+			<input>00000000000000000000000000000000</input>
+			<output>21CEA416A3D3359D2C4D58FB6A035F06</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 121</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000080</key>
+			<input>00000000000000000000000000000000</input>
+			<output>172AEAB3D507678ECAF455C12587ADB7</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 122</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000040</key>
+			<input>00000000000000000000000000000000</input>
+			<output>B6F897941EF8EBFF9FE80A567EF38478</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 123</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000020</key>
+			<input>00000000000000000000000000000000</input>
+			<output>A9723259D94A7DC662FB0C782CA3F1DD</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 124</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000010</key>
+			<input>00000000000000000000000000000000</input>
+			<output>2F91C984B9A4839F30001B9F430493B4</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 125</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000008</key>
+			<input>00000000000000000000000000000000</input>
+			<output>0472406345A610B048CB99EE0EF3FA0F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 126</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000004</key>
+			<input>00000000000000000000000000000000</input>
+			<output>F5F39086646F8C05ED16EFA4B617957C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 127</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000002</key>
+			<input>00000000000000000000000000000000</input>
+			<output>26D50F485A30408D5AF47A5736292450</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 128</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000001</key>
+			<input>00000000000000000000000000000000</input>
+			<output>0545AAD56DA2A97C3663D1432A3D1C84</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 1</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>800000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>DE885DC87F5A92594082D02CC1E1B42C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 2</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>400000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>C749194F94673F9DD2AA1932849630C1</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 3</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>200000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>0CEF643313912934D310297B90F56ECC</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 4</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>100000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>C4495D39D4A553B225FBA02A7B1B87E1</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 5</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>080000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>636D10B1A0BCAB541D680A7970ADC830</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 6</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>040000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>07CF045786BD6AFCC147D99E45A901A7</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 7</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>020000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>6A8E3F425A7599348F95398448827976</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 8</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>010000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>5518276836148A00D91089A20D8BFF57</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 9</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>008000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>F267E07B5E87E3BC20B969C61D4FCB06</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 10</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>004000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>5A1CDE69571D401BFCD20DEBADA2212C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 11</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>002000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>70A9057263254701D12ADD7D74CD509E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 12</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>001000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>35713A7E108031279388A33A0FE2E190</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 13</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000800000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>E74EDE82B1254714F0C7B4B243108655</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 14</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000400000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>39272E3100FAA37B55B862320D1B3EB3</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 15</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000200000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>6D6E24C659FC5AEF712F77BCA19C9DD0</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 16</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000100000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>76D18212F972370D3CC2C6C372C6CF2F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 17</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000080000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>B21A1F0BAE39E55C7594ED570A7783EA</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 18</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000040000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>77DE202111895AC48DD1C974B358B458</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 19</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000020000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>67810B311969012AAF7B504FFAF39FD1</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 20</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000010000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>C22EA2344D3E9417A6BA07843E713AEA</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 21</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000008000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>C79CAF4B97BEE0BD0630AB354539D653</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 22</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000004000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>135FD1AF761D9AE23DF4AA6B86760DB4</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 23</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000002000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>D4659D0B06ACD4D56AB8D11A16FD83B9</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 24</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000001000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>F7D270028FC188E4E4F35A4AAA25D4D4</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 25</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000800000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>345CAE5A8C9620A9913D5473985852FF</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 26</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000400000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>4E8980ADDE60B0E42C0B287FEA41E729</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 27</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000200000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>F11B6D74E1F15155633DC39743C1A527</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 28</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000100000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>9C87916C0180064F9D3179C6F5DD8C35</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 29</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000080000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>71AB186BCAEA518E461D4F7FAD230E6A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 30</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000040000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>C4A31BBC3DAAF742F9141C2A5001A49C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 31</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000020000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>E7C47B7B1D40F182A8928C8A55671D07</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 32</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000010000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>8E17F294B28FA373C6249538868A7EEF</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 33</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000008000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>754404096A5CBC08AF09491BE249141A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 34</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000004000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>101CB56E55F05D86369B6D1069204F0A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 35</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000002000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>73F19BB6604205C6EE227B9759791E41</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 36</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000001000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>6270C0028F0D136C37A56B2CB64D24D6</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 37</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000800000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>A3BF7C2C38D1114A087ECF212E694346</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 38</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000400000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>49CABFF2CEF7D9F95F5EFB1F7A1A7DDE</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 39</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000200000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>EC7F8A47CC59B849469255AD49F62752</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 40</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000100000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>68FAE55A13EFAF9B07B3552A8A0DC9D1</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 41</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000080000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>211E6B19C69FAEF481F64F24099CDA65</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 42</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000040000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>DBB918C75BC5732416F79FB0C8EE4C5C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 43</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000020000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>98D494E5D963A6C8B92536D3EC35E3FD</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 44</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000010000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>C9A873404D403D6F074190851D67781A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 45</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000008000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>073AEF4A7C77D921928CB0DD9D27CAE7</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 46</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000004000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>89BDE25CEE36FDE769A10E52298CF90F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 47</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000002000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>26D0842D37EAD38557C65E0A5E5F122E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 48</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000001000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>F8294BA375AF46B3F22905BBAFFAB107</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 49</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000800000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>2AD63EB4D0D43813B979CF72B35BDB94</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 50</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000400000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>7710C171EE0F4EFA39BE4C995180181D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 51</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000200000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>C0CB2B40DBA7BE8C0698FAE1E4B80FF8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 52</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000100000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>97970E505194622FD955CA1B80B784E9</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 53</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000080000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>7CB1824B29F850900DF2CAD9CF04C1CF</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 54</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000040000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>FDF4F036BB988E42F2F62DE63FE19A64</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 55</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000020000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>08908CFE2C82606B2C15DF61B75CF3E2</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 56</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000010000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>B3AA689EF2D07FF365ACB9ADBA2AF07A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 57</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000008000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>F2672CD8EAA3B98776660D0263656F5C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 58</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000004000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>5BDEAC00E986687B9E1D94A0DA7BF452</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 59</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000002000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>E6D57BD66EA1627363EE0C4B711B0B21</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 60</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000001000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>03730DD6ACB4AD9996A63BE7765EC06F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 61</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000800000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>A470E361AA5437B2BE8586D2F78DE582</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 62</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000400000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>7567FEEFA559911FD479670246B484E3</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 63</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000200000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>29829DEA15A4E7A4C049045E7B106E29</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 64</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000100000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>A407834C3D89D48A2CB7A152208FA4ED</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 65</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000080000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>68F948053F78FEF0D8F9FE7EF3A89819</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 66</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000040000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>B605174CAB13AD8FE3B20DA3AE7B0234</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 67</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000020000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>CCAB8F0AEBFF032893996D383CBFDBFA</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 68</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000010000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>AF14BB8428C9730B7DC17B6C1CBEBCC8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 69</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000008000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>5A41A21332040877EB7B89E8E80D19FE</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 70</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000004000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>AC1BA52EFCDDE368B1596F2F0AD893A0</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 71</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000002000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>41B890E31B9045E6ECDC1BC3F2DB9BCC</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 72</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000001000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>4D54A549728E55B19A23660424A0F146</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 73</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000800000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>A917581F41C47C7DDCFFD5285E2D6A61</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 74</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000400000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>604DF24BA6099B93A7405A524D764FCB</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 75</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000200000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>78D9D156F28B190E232D1B7AE7FC730A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 76</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000100000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>5A12C39E442CD7F27B3CD77F5D029582</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 77</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000080000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>FF2BF2F47CF7B0F28EE25AF95DBF790D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 78</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000040000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>1863BB7D193BDA39DF090659EB8AE48B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 79</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000020000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>38178F2FB4CFCF31E87E1ABCDC023EB5</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 80</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000010000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>F5B13DC690CC0D541C6BA533023DC8C9</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 81</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000008000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>48EC05238D7375D126DC9D08884D4827</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 82</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000004000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>ACD0D81139691B310B92A6E377BACC87</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 83</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000002000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>9A4AA43578B55CE9CC178F0D2E162C79</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 84</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000001000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>08AD94BC737DB3C87D49B9E01B720D81</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 85</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000800000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>3BCFB2D5D210E8332900C5991D551A2A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 86</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000400000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>C5F0C6B9397ACB29635CE1A0DA2D8D96</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 87</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000200000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>844A29EFC693E2FA9900F87FBF5DCD5F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 88</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000100000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>5126A1C41051FEA158BE41200E1EA59D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 89</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000080000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>302123CA7B4F46D667FFFB0EB6AA7703</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 90</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000040000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>A9D16BCE7DB5C024277709EE2A88D91A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 91</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000020000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>F013C5EC123A26CFC34B598C992A996B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 92</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000010000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>E38A825CD971A1D2E56FB1DBA248F2A8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 93</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000008000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>6E701773C0311E0BD4C5A097406D22B3</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 94</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000004000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>754262CEF0C64BE4C3E67C35ABE439F7</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 95</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000002000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>C9C2D4C47DF7D55CFA0EE5F1FE5070F4</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 96</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000001000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>6AB4BEA85B172573D8BD2D5F4329F13D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 97</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000800000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>11F03EF28E2CC9AE5165C587F7396C8C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 98</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000400000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>0682F2EB1A68BAC7949922C630DD27FA</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 99</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000200000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>ABB0FEC0413D659AFE8E3DCF6BA873BB</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 100</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000100000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>FE86A32E19F805D6569B2EFADD9C92AA</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 101</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000080000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>E434E472275D1837D3D717F2EECC88C3</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 102</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000040000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>74E57DCD12A21D26EF8ADAFA5E60469A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 103</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000020000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>C275429D6DAD45DDD423FA63C816A9C1</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 104</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000010000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>7F6EC1A9AE729E86F7744AED4B8F4F07</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 105</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000008000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>48B5A71AB9292BD4F9E608EF102636B2</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 106</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000004000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>076FB95D5F536C78CBED3181BCCF3CF1</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 107</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000002000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>BFA76BEA1E684FD3BF9256119EE0BC0F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 108</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000001000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>7D395923D56577F3FF8670998F8C4A71</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 109</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000800000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>BA02C986E529AC18A882C34BA389625F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 110</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000400000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>3DFCF2D882AFE75D3A191193013A84B5</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 111</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000200000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>FAD1FDE1D0241784B63080D2C74D236C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 112</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000100000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>7D6C80D39E41F007A14FB9CD2B2C15CD</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 113</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000080000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>7975F401FC10637BB33EA2DB058FF6EC</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 114</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000040000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>657983865C55A818F02B7FCD52ED7E99</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 115</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000020000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>B32BEB1776F9827FF4C3AC9997E84B20</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 116</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000010000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>2AE2C7C374F0A41E3D46DBC3E66BB59F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 117</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000008000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>4D835E4ABDD4BDC6B88316A6E931A07F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 118</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000004000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>E07EFABFF1C353F7384EBB87B435A3F3</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 119</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000002000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>ED3088DC3FAF89AD87B4356FF1BB09C2</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 120</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000001000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>4324D01140C156FC898C2E32BA03FB05</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 121</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000800000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>BE15D016FACB5BAFBC24FA9289132166</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 122</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000400000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>AC9B7048EDB1ACF4D97A5B0B3F50884B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 123</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000200000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>448BECE1F86C7845DFA9A4BB2A016FB3</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 124</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000100000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>10DD445E87686EB46EA9B1ABC49257F0</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 125</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000080000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>B7FCCF7659FA756D4B7303EEA6C07458</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 126</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000040000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>289117115CA3513BAA7640B1004872C2</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 127</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000020000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>57CB42F7EE7186051F50B93FFA7B35BF</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 128</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000010000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>F2741BFBFB81663B9136802FB9C3126A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 129</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000008000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>E32DDDC5C7398C096E3BD535B31DB5CE</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 130</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000004000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>81D3C204E608AF9CC713EAEBCB72433F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 131</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000002000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>D4DEEF4BFC36AAA579496E6935F8F98E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 132</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000001000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>C356DB082B97802B038571C392C5C8F6</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 133</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000800000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>A3919ECD4861845F2527B77F06AC6A4E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 134</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000400000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>A53858E17A2F802A20E40D44494FFDA0</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 135</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000200000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>5D989E122B78C758921EDBEEB827F0C0</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 136</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000100000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>4B1C0C8F9E7830CC3C4BE7BD226FA8DE</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 137</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000080000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>82C40C5FD897FBCA7B899C70713573A1</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 138</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000040000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>ED13EE2D45E00F75CCDB51EA8E3E36AD</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 139</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000020000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>F121799EEFE8432423176A3CCF6462BB</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 140</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000010000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>4FA0C06F07997E98271DD86F7B355C50</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 141</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000008000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>849EB364B4E81D058649DC5B1BF029B9</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 142</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000004000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>F48F9E0DE8DE7AD944A207809335D9B1</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 143</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000002000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>E59E9205B5A81A4FD26DFCF308966022</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 144</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000001000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>3A91A1BE14AAE9ED700BDF9D70018804</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 145</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000800000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>8ABAD78DCB79A48D79070E7DA89664EC</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 146</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000400000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>B68377D98AAE6044938A7457F6C649D9</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 147</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000200000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>E4E1275C42F5F1B63D662C099D6CE33D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 148</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000100000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>7DEF32A34C6BE668F17DA1BB193B06EF</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 149</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000080000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>78B6000CC3D30CB3A74B68D0EDBD2B53</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 150</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000040000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>0A47531DE88DD8AE5C23EAE4F7D1F2D5</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 151</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000020000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>667B24E8000CF68231EC484581D922E5</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 152</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000010000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>39DAA5EBD4AACAE130E9C33236C52024</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 153</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000008000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>E3C88760B3CB21360668A63E55BB45D1</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 154</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000004000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>F131EE903C1CDB49D416866FD5D8DE51</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 155</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000002000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>7A1916135B0447CF4033FC13047A583A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 156</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000001000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>F7D55FB27991143DCDFA90DDF0424FCB</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 157</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000800000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>EA93E7D1CA1111DBD8F7EC111A848C0C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 158</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000400000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>2A689E39DFD3CBCBE221326E95888779</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 159</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000200000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>C1CE399CA762318AC2C40D1928B4C57D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 160</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000100000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>D43FB6F2B2879C8BFAF0092DA2CA63ED</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 161</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000080000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>224563E617158DF97650AF5D130E78A5</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 162</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000040000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>6562FDF6833B7C4F7484AE6EBCC243DD</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 163</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000020000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>93D58BA7BED22615D661D002885A7457</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 164</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000010000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>9A0EF559003AD9E52D3E09ED3C1D3320</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 165</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000008000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>96BAF5A7DC6F3DD27EB4C717A85D261C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 166</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000004000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>B8762E06884900E8452293190E19CCDB</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 167</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000002000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>785416A22BD63CBABF4B1789355197D3</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 168</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000001000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>A0D20CE1489BAA69A3612DCE90F7ABF6</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 169</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000800000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>700244E93DC94230CC607FFBA0E48F32</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 170</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000400000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>85329E476829F872A2B4A7E59F91FF2D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 171</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000200000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>E4219B4935D988DB719B8B8B2B53D247</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 172</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000100000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>6ACDD04FD13D4DB4409FE8DD13FD737B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 173</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000080000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>9EB7A670AB59E15BE582378701C1EC14</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 174</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000040000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>29DF2D6935FE657763BC7A9F22D3D492</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 175</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000020000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>99303359D4A13AFDBE6C784028CE533A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 176</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000010000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>FF5C70A6334545F33B9DBF7BEA0417CA</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 177</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000008000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>289F58A17E4C50EDA4269EFB3DF55815</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 178</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000004000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>EA35DCB416E9E1C2861D1682F062B5EB</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 179</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000002000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>3A47BF354BE775383C50B0C0A83E3A58</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 180</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000001000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>BF6C1DC069FB95D05D43B01D8206D66B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 181</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000800</key>
+			<input>00000000000000000000000000000000</input>
+			<output>046D1D580D5898DA6595F32FD1F0C33D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 182</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000400</key>
+			<input>00000000000000000000000000000000</input>
+			<output>5F57803B7B82A110F7E9855D6A546082</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 183</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000200</key>
+			<input>00000000000000000000000000000000</input>
+			<output>25336ECF34E7BE97862CDFF715FF05A8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 184</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000100</key>
+			<input>00000000000000000000000000000000</input>
+			<output>ACBAA2A943D8078022D693890E8C4FEF</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 185</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000080</key>
+			<input>00000000000000000000000000000000</input>
+			<output>3947597879F6B58E4E2F0DF825A83A38</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 186</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000040</key>
+			<input>00000000000000000000000000000000</input>
+			<output>4EB8CC3335496130655BF3CA570A4FC0</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 187</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000020</key>
+			<input>00000000000000000000000000000000</input>
+			<output>BBDA7769AD1FDA425E18332D97868824</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 188</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000010</key>
+			<input>00000000000000000000000000000000</input>
+			<output>5E7532D22DDB0829A29C868198397154</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 189</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000008</key>
+			<input>00000000000000000000000000000000</input>
+			<output>E66DA67B630AB7AE3E682855E1A1698E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 190</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000004</key>
+			<input>00000000000000000000000000000000</input>
+			<output>4D93800F671B48559A64D1EA030A590A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 191</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000002</key>
+			<input>00000000000000000000000000000000</input>
+			<output>F33159FCC7D9AE30C062CD3B322AC764</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 192</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000001</key>
+			<input>00000000000000000000000000000000</input>
+			<output>8BAE4EFB70D33A9792EEA9BE70889D72</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 1</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>8000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>E35A6DCB19B201A01EBCFA8AA22B5759</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 2</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>4000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>5075C2405B76F22F553488CAE47CE90B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 3</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>2000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>49DF95D844A0145A7DE01C91793302D3</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 4</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>1000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>E7396D778E940B8418A86120E5F421FE</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 5</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0800000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>05F535C36FCEDE4657BE37F4087DB1EF</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 6</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0400000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>D0C1DDDD10DA777C68AB36AF51F2C204</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 7</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0200000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>1C55FB811B5C6464C4E5DE1535A75514</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 8</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0100000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>52917F3AE957D5230D3A2AF57C7B5A71</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 9</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0080000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>C6E3D5501752DD5E9AEF086D6B45D705</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 10</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0040000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>A24A9C7AF1D9B1E17E1C9A3E711B3FA7</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 11</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0020000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>B881ECA724A6D43DBC6B96F6F59A0D20</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 12</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0010000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>EC524D9A24DFFF2A9639879B83B8E137</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 13</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0008000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>34C4F345F5466215A037F443635D6F75</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 14</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0004000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>5BA5055BEDB8895F672E29F2EB5A355D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 15</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0002000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>B3F692AA3A435259EBBEF9B51AD1E08D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 16</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0001000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>414FEB4376F2C64A5D2FBB2ED531BA7D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 17</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000800000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>A20D519E3BCA3303F07E81719F61605E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 18</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000400000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>A08D10E520AF811F45BD60A2DC0DC4B1</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 19</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000200000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>B06893A8C563C430E6F3858826EFBBE4</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 20</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000100000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>0FFEE26AE2D3929C6BD9C6BEDFF84409</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 21</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000080000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>4D0F5E906ED77801FC0EF53EDC5F9E2B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 22</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000040000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>8B6EC00119AD8B026DCE56EA7DEFE930</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 23</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000020000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>69026591D43363EE9D83B5007F0B484E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 24</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000010000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>27135D86950C6A2F86872706279A4761</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 25</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000008000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>35E6DB8723F281DA410C3AC8535ED77C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 26</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000004000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>57427CF214B8C28E4BBF487CCB8D0E09</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 27</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000002000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>6DF01BF56E5131AC87F96E99CAB86367</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 28</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000001000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>3856C5B55790B768BBF7D43031579BCF</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 29</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000800000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>1E6ED8FB7C15BC4D2F63BA7037ED44D0</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 30</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000400000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>E1B2ED6CD8D93D455534E401156D4BCF</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 31</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000200000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>EFBCCA5BDFDAD10E875F02336212CE36</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 32</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000100000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>0B777F02FD18DCE2646DCFE868DFAFAD</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 33</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000080000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>C8A104B5693D1B14F5BF1F10100BF508</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 34</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000040000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>4CCE6615244AFCB38408FECE219962EA</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 35</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000020000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>F99E7845D3A255B394C9C050CBA258B1</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 36</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000010000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>B4AFBB787F9BCFB7B55FDF447F611295</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 37</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000008000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>AE1C426A697FAF2808B7EF6ADDB5C020</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 38</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000004000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>7572F92811A85B9BDD38DEAD9945BCAE</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 39</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000002000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>71BC7AA46E43FB95A181527D9F6A360F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 40</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000001000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>5542EF2923066F1EC8F546DD0D8E7CA8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 41</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000800000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>6B92317C7D623790B748FDD7EFC42422</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 42</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000400000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>0FE7C097E899C71EF045360F8D6C25CF</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 43</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000200000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>4ECE7EE107D0264D04693151C25B9DF6</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 44</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000100000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>FD6AE687CBFCA9E301045888D3BB9605</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 45</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000080000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>476B579C8556C7254424902CC1D6D36E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 46</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000040000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>4133CBCDFDD6B8860A1FC18665D6D71B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 47</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000020000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>3B36EC2664798C108B816812C65DFDC7</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 48</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000010000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>364E20A234FEA385D48DC5A09C9E70CF</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 49</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000008000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>4A4BA25969DE3F5EE5642C71AAD0EFD1</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 50</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000004000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>E42CBAAE43297F67A76C1C501BB79E36</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 51</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000002000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>23CEDEDA4C15B4C037E8C61492217937</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 52</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000001000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>A1719147A1F4A1A1180BD16E8593DCDE</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 53</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000800000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>AB82337E9FB0EC60D1F25A1D0014192C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 54</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000400000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>74BF2D8FC5A8388DF1A3A4D7D33FC164</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 55</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000200000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>D5B493317E6FBC6FFFD664B3C491368A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 56</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000100000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>BA767381586DA56A2A8D503D5F7ADA0B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 57</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000080000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>E8E6BC57DFE9CCADB0DECABF4E5CF91F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 58</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000040000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>3C8E5A5CDC9CEED90815D1F84BB2998C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 59</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000020000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>283843020BA38F056001B2FD585F7CC9</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 60</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000010000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>D8ADC7426F623ECE8741A70621D28870</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 61</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000008000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>D7C5C215592D06F00E6A80DA69A28EA9</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 62</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000004000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>52CF6FA433C3C870CAC70190358F7F16</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 63</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000002000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>F63D442A584DA71786ADEC9F3346DF75</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 64</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000001000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>549078F4B0CA7079B45F9A5ADAFAFD99</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 65</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000800000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>F2A5986EE4E9984BE2BAFB79EA8152FA</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 66</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000400000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>8A74535017B4DB2776668A1FAE64384C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 67</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000200000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>E613342F57A97FD95DC088711A5D0ECD</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 68</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000100000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>3FFAEBF6B22CF1DC82AE17CD48175B01</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 69</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000080000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>BAFD52EFA15C248CCBF9757735E6B1CE</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 70</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000040000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>7AF94BC018D9DDD4539D2DD1C6F4000F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 71</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000020000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>FE177AD61CA0FDB281086FBA8FE76803</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 72</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000010000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>74DBEA15E2E9285BAD163D7D534251B6</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 73</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000008000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>23DD21331B3A92F200FE56FF050FFE74</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 74</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000004000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>A69C5AA34AB20A858CAFA766EACED6D8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 75</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000002000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>3F72BB4DF2A4F941A4A09CB78F04B97A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 76</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000001000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>72CC43577E1FD5FD14622D24D97FCDCC</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 77</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000800000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>D83AF8EBE93E0B6B99CAFADE224937D1</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 78</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000400000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>44042329128D56CAA8D084C8BD769D1E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 79</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000200000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>14102D72290DE4F2C430ADD1ED64BA1D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 80</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000100000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>449124097B1ECD0AE7065206DF06F03C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 81</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000080000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>D060A99F8CC153A42E11E5F97BD7584A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 82</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000040000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>65605B3EA9261488D53E48602ADEA299</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 83</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000020000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>C5E5CAD7A208DE8EA6BE049EFE5C7346</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 84</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000010000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>4C280C46D2181646048DD5BC0C0831A5</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 85</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000008000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>5DD65CF37F2A0929559AABAFDA08E730</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 86</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000004000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>31F2335CAAF264172F69A693225E6D22</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 87</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000002000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>3E28B35F99A72662590DA96426DD377F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 88</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000001000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>570F40F5D7B20441486578ED344343BE</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 89</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000800000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>C54308AD1C9E3B19F8B7417873045A8C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 90</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000400000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>CBF335E39CE13ADE2B696179E8FD0CE1</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 91</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000200000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>9C2FBF422355D8293083D51F4A3C18A9</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 92</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000100000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>5ED8B5A31ECEFAB16C9AA6986DA67BCE</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 93</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000080000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>627815DCFC814ABC75900041B1DD7B59</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 94</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000040000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>9EF3E82A50A59F166260494F7A7F2CC3</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 95</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000020000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>878CD0D8D920888B5935D6C351128737</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 96</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000010000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>E44429474D6FC3084EB2A6B8B46AF754</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 97</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000008000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>EBAACF9641D54E1FB18D0A2BE4F19BE5</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 98</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000004000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>13B3BF497CEE780E123C7E193DEA3A01</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 99</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000002000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>6E8F381DE00A41161F0DF03B4155BFD4</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 100</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000001000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>35E4F29BBA2BAE01144910783C3FEF49</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 101</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000800000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>55B17BD66788CEAC366398A31F289FFB</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 102</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000400000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>11341F56C0D6D1008D28741DAA7679CE</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 103</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000200000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>4DF7253DF421D83358BDBE924745D98C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 104</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000100000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>BAE2EE651116D93EDC8E83B5F3347BE1</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 105</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000080000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>F9721ABD06709157183AF3965A659D9D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 106</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000040000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>19A1C252A613FE2860A4AE6D75CE6FA3</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 107</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000020000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>B5DDB2F5D9752C949FBDE3FFF5556C6E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 108</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000010000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>81B044FCFFC78ECCFCD171AAD0405C66</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 109</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000008000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>C640566D3C06020EB2C42F1D62E56A9B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 110</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000004000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>EA6C4BCF425291679FDFFD26A424FBCC</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 111</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000002000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>57F6901465D9440D9F15EE2CBA5A4090</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 112</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000001000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>FBCFA74CADC7406260F63D96C8AAB6B1</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 113</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000800000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>DFF4F096CEA211D4BBDACA033D0EC7D1</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 114</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000400000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>1EE5190D551F0F42F675227A381296A9</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 115</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000200000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>F98E1905012E580F097623C10B93054F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 116</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000100000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>E7D43743D21DD3C9F168C86856558B9A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 117</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000080000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>632A9DDA730DAB67593C5D08D8AC1059</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 118</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000040000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>E084317000715B9057BC9DE9F3AB6124</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 119</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000020000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>61F9EF33A0BB4E666C2ED99101919FAB</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 120</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000010000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>6DC1D68A11834657D46703C22578D59A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 121</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000008000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>53AC1548863D3D16F1D4DC7242E05F2C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 122</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000004000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>E82CD587A408306AD78CEAE0916B9F8C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 123</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000002000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>0FD2D40EA6AD17A3A767F0A8600D6295</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 124</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000001000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>AD84CC8255ADB39DFCA23F92761AE7E9</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 125</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000800000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>F4F20CF7D51BEE7DA024A2B11A7ECA0B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 126</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000400000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>5057691B85D9CE93A193214DB0A016B6</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 127</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000200000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>0F58C960876390BDEF4BB6BE95CAA1EE</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 128</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000100000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>9A3E66EEBC21BC0BD9430B341EF465FA</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 129</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000080000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>20415035F34B8BCBCB28ABF07F78F0D4</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 130</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000040000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>AC89FC7BA10479EBF10DE65BCEF89B3C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 131</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000020000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>068FA75A30BE443171AF3F6FEB1A20D2</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 132</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000010000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>50E02F213246C525A8C27700CA34B502</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 133</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000008000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>227DA47D5A0906DB3AB042BB0A695FB6</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 134</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000004000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>8663AC30ED12514F1DE46777F4514BFC</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 135</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000002000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>A987D4BC12E1DE9F4B6DF43567C34A8B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 136</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000001000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>6D5A0370F599ACA605F63B04E5143D0C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 137</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000800000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>9809266E378B07B7AFDB3BAA97B7E442</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 138</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000400000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>8F753252B30CCCACE12D9A301F4D5090</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 139</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000200000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>032465F6C0CE34D41962F561692A1AFF</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 140</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000100000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>C50E9AD5BEB8F3B00821DD47FF8AC093</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 141</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000080000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>9C6FEA3D46268D54A6829B2AD25BB276</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 142</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000040000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>0FD8575E87706F561343D7B3A41E044A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 143</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000020000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>BEE9BEB3739540D88CBCE77925F0A114</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 144</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000010000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>D24EAEE7FFFBAC3D6F26C2DCE0DCDE28</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 145</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000008000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>47771A90398FF0F7FA821C2F8F5E1398</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 146</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000004000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>4639741B6F84B135AD118C8249B64ED0</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 147</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000002000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>8EE5505EC85567697A3306F250A27720</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 148</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000001000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>7C8A19AC1AEFBC5E0119D91A5F05D4C2</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 149</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000800000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>5141B9B672E54773B672E3A6C424887B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 150</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000400000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>B5A2D3CD206653C6402F34FB0AE3613D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 151</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000200000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>0F5BD9408738231D114B0A82753279A3</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 152</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000100000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>FEF033FF4268EA487FC74C5E43A45338</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 153</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000080000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>A3EDC09DCD529B113910D904AD855581</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 154</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000040000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>AB8FBB6F27A0AC7C55B59FDD36B72F1C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 155</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000020000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>EEA44D5ED4D769CC930CD83D8999EC46</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 156</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000010000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>6972276803AE9AA7C6F431AB10979C34</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 157</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000008000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>86DEAA9F39244101818178474D7DBDE9</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 158</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000004000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>88C6B466EA361D662D8D08CBF181F4FE</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 159</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000002000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>91AB2C6B7C63FF59F7CBEEBF91B20B95</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 160</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000001000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>2DFE6C146AD5B3D8C3C1718F13B48E01</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 161</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000800000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>C7CFF1623451711391A302EEC3584AAA</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 162</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000400000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>089FE845CC05011686C66019D18BE050</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 163</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000200000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>08C8410B9B427211A67124B0DCCEAD48</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 164</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000100000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>8D91592F5566085254784606334D7629</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 165</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000080000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>3298FEAAF2E1201D6299FF8846639C97</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 166</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000040000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>C497CB9F0BDFE0EFC8C2F3F90760AA72</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 167</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000020000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>2788AFD046E0309CBE4424690DA2AB89</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 168</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000010000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>E9891707F25EF29FEE372890D4258982</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 169</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000008000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>DB041D94A23D45D4D4DCED5A030CAF61</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 170</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000004000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>FFAFDBF0ECB18DF9EA02C27077448E6D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 171</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000002000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>2DAAA42A7D0A1D3B0E4761D99CF2150A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 172</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000001000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>3B7A54CB7CF30ABE263DD6ED5BFE8D63</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 173</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000800000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>EEFA090174C590C448A55D43648F534A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 174</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000400000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>9E15798731ED42F43EA2740A691DA872</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 175</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000200000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>31FBD661540A5DEAAD1017CFD3909EC8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 176</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000100000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>CDA9AE05F224140E28CB951721B44D6A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 177</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000080000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>0C5BC512C60A1EAC3434EFB1A8FBB182</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 178</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000040000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>AA863610DEEEEB62D045E87EA30B59B5</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 179</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000020000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>6AC2448DE568D279C7EEBE1DF403920C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 180</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000010000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>E2011E3D292B26888AE801215FD0CB40</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 181</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000008000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>E06F3E15EE3A61672D1C99BADE5B9DBE</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 182</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000004000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>BB7027F0548CF6712CEB4C7A4B28E178</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 183</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000002000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>061EC21FB70FADBDF87C3BD2AE23825B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 184</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000001000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>4C21F26FE94ABBAC381352375314C3EB</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 185</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000800000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>F7CEE6DD99909C2B569EEDA61ED8942E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 186</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000400000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>CE98C4A876C65E4CCB261EBB1D9DF7F5</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 187</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000200000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>A5491881CF833C3604ABC08044F402AC</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 188</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000100000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>A1BA16E64CCCB3087D57A768507B0BFC</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 189</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000080000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>D55951E202D2949EBD3BE43120C738BF</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 190</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000040000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>EBB8E43069E69F450EFEC65DCD52B7FD</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 191</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000020000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>2B292135663B4AA5ABFE9423D57E7EE9</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 192</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000010000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>E91BF974B3BE3AD966249D8655292A85</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 193</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000008000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>384365998EAA9562236CC58F6ADF9610</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 194</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000004000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>C2E997012AA3D4D8D359C9A947CBE69F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 195</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000002000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>F49421204148BA213BE87E2D5C22B0BF</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 196</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000001000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>82ED0ED9953AA92E4DF30929CA65C00F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 197</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000800000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>291EB1D11653C8479437C74A977F5106</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 198</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000400000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>BCB997B1939B8983ABD550D6025683E3</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 199</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000200000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>1FBA2592C6F489775CAADA71F9B983E9</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 200</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000100000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>969F66F217AF1A3DB9E41C1B29039824</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 201</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000080000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>A54BB7D6B17E423AC0A7744C19073CB8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 202</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000040000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>B0AC6E6578D1021F47DCF9748A32EAD5</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 203</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000020000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>B87B361C3B7B194C77A4358D4669153E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 204</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000010000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>46A133847F96EAA8282A799DC8899D58</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 205</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000008000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>2265EC3A9F2D5C9547A091CC8CFB18EA</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 206</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000004000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>54CBF3A6FC4FE56D426117AA1FFD1DDE</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 207</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000002000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>5312877CCEAB6CFB0905394A370A8003</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 208</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000001000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>7190BD6EC613FE38B84ECFE28F702FE4</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 209</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000800000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>D1FA5B9CA89A43B04C05F0EF29EF68CD</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 210</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000400000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>808285751548ED934FD1056D2D9AE8BA</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 211</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000200000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>2758DEF3E7B95A9AE89777BE64D5A6CF</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 212</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000100000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>07D81F87DB3E0ACC82B01E08FB22F3C1</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 213</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000080000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>8DA250E5553D650711A75EE1CB4FD1C7</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 214</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000040000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>A93D946BD0E87F32719DF5F158CEE669</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 215</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000020000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>03945236EC2A4D4EAF30B8ABEB54330D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 216</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000010000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>11CC35301F24B79DDE31AEA2D1354F88</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 217</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000008000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>E73715B3E8D9A290F44AE6FFBF247E5D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 218</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000004000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>7345E07732B71CB158BBF64CCA5C5B96</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 219</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000002000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>6E128F296D24705A1924FD9B70C4ED04</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 220</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000001000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>95A789776F036783FBD330947083F54F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 221</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000800000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>360DEC2533EA4AA2E3E54FD3DE2906EB</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 222</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000400000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>E68EFD7FECF4D601EA22727BD764965B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 223</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000200000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>9065C64A8BFF44AC33EDBB611CF83D7B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 224</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000100000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>8F33C8DF2A7A51CE8090E8F123BC3723</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 225</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000080000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>807F391FFBA8291BA625623210F99018</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 226</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000040000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>5E8B3F3A701522CE5CAA761C929D6292</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 227</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000020000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>3BA404DC38735A78289E3809E8364835</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 228</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000010000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>D23BEDBAD229F8305DC425B6B759DCC9</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 229</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000008000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>44880F21CF5913040AE376AEE2A10AD8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 230</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000004000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>9BC98E29D057C0E828C3B5CCE69256C1</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 231</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000002000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>B293CC7A975DA141A68279368057CC41</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 232</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000001000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>8D60FB87ACD91385B313BE5F1D7BD30F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 233</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000800000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>2C8E56132D70291B303C48FDF75543CD</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 234</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000400000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>D1F80035B826791F6CE4E59B7DB1BB0D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 235</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000200000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>42CE6224FC36469339A133DD08173BD4</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 236</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000100000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>61817155EA41BCBA2AF7F06AE7CBF585</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 237</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000080000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>D1923A9866068D2EF5FB77D57C3315B6</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 238</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000040000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>B37CBDB5D719F49691CA968EF2E84140</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 239</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000020000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>EC974E653A055D7F8F22171030F68E1D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 240</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000010000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>DDE5D3B9AAD9C32213BB3675A822499C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 241</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000008000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>D3B6E9216EA1AE57EB1C628A3C38AB78</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 242</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000004000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>82C99ECC69472B7E96324B042AE8B87A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 243</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000002000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>97144DC5338C43600F84439C0AA0D147</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 244</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000001000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>400AC4A0BBADA1DB2121EB144C7E5209</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 245</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000800</key>
+			<input>00000000000000000000000000000000</input>
+			<output>EFD9D550EB419ED278F4885A490AB54C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 246</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000400</key>
+			<input>00000000000000000000000000000000</input>
+			<output>2AB7816E149B7C0404C88A8857793670</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 247</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000200</key>
+			<input>00000000000000000000000000000000</input>
+			<output>5B591DFF9E8DEE15BAD24C025DBCA481</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 248</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000100</key>
+			<input>00000000000000000000000000000000</input>
+			<output>0C06633E30721C3749F49AD8CBF2B754</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 249</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000080</key>
+			<input>00000000000000000000000000000000</input>
+			<output>96D6D31A41B5123B2035FD91A921D4CA</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 250</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000040</key>
+			<input>00000000000000000000000000000000</input>
+			<output>E7F6C34D86668BC2805CA7793C5E86AD</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 251</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000020</key>
+			<input>00000000000000000000000000000000</input>
+			<output>F46DFF5FF500D6879C4D3E45CF0CF0F3</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 252</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000010</key>
+			<input>00000000000000000000000000000000</input>
+			<output>60D842D9C61DA7495C116197B7CECBBE</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 253</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000008</key>
+			<input>00000000000000000000000000000000</input>
+			<output>D45B24EDB673353EBDF248B8FA06B67A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 254</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000004</key>
+			<input>00000000000000000000000000000000</input>
+			<output>119EAEBCC165D0BD02C0D35DC82EF992</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 255</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000002</key>
+			<input>00000000000000000000000000000000</input>
+			<output>E673143680414ADA301D0ED34626B9FE</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VK 256</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000001</key>
+			<input>00000000000000000000000000000000</input>
+			<output>6B6CFE160A6263631B292F879EEFF926</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tsymmetric/scripts/AESECB_KAT_VT.txt	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,6146 @@
+<action>
+	<actionname>AES ECB KAT VT 1</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>80000000000000000000000000000000</input>
+			<output>3AD78E726C1EC02B7EBFE92B23D9EC34</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 2</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>40000000000000000000000000000000</input>
+			<output>45BC707D29E8204D88DFBA2F0B0CAD9B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 3</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>20000000000000000000000000000000</input>
+			<output>161556838018F52805CDBD6202002E3F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 4</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>10000000000000000000000000000000</input>
+			<output>F5569B3AB6A6D11EFDE1BF0A64C6854A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 5</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>08000000000000000000000000000000</input>
+			<output>64E82B50E501FBD7DD4116921159B83E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 6</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>04000000000000000000000000000000</input>
+			<output>BAAC12FB613A7DE11450375C74034041</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 7</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>02000000000000000000000000000000</input>
+			<output>BCF176A7EAAD8085EBACEA362462A281</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 8</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>01000000000000000000000000000000</input>
+			<output>47711816E91D6FF059BBBF2BF58E0FD3</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 9</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00800000000000000000000000000000</input>
+			<output>B970DFBE40698AF1638FE38BD3DF3B2F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 10</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00400000000000000000000000000000</input>
+			<output>F95B59A44F391E14CF20B74BDC32FCFF</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 11</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00200000000000000000000000000000</input>
+			<output>720F74AE04A2A435B9A7256E49378F5B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 12</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00100000000000000000000000000000</input>
+			<output>2A0445F61D36BFA7E277070730CF76DA</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 13</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00080000000000000000000000000000</input>
+			<output>8D0536B997AEFEC1D94011BAB6699A03</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 14</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00040000000000000000000000000000</input>
+			<output>674F002E19F6ED47EFF319E51FAD4498</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 15</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00020000000000000000000000000000</input>
+			<output>292C02C5CB9163C80AC0F6CF1DD8E92D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 16</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00010000000000000000000000000000</input>
+			<output>FA321CF18EF5FE727DD82A5C1E945141</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 17</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00008000000000000000000000000000</input>
+			<output>A5A7AFE1034C39CCCEBE3C584BC0BE05</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 18</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00004000000000000000000000000000</input>
+			<output>4FF5A52E697E77D081205DBDB21CEA39</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 19</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00002000000000000000000000000000</input>
+			<output>209E88DC94C9003000CE0769AF7B7166</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 20</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00001000000000000000000000000000</input>
+			<output>5DEE41AF864CB4B650E5F51551824D38</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 21</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000800000000000000000000000000</input>
+			<output>A79A63FA7E4503AE6D6E09F5F9053030</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 22</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000400000000000000000000000000</input>
+			<output>A48316749FAE7FAC7002031A6AFD8BA7</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 23</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000200000000000000000000000000</input>
+			<output>D6EEE8A7357A0E1D64262CA9C337AC42</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 24</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000100000000000000000000000000</input>
+			<output>B013CA8A62A858053E9FB667ED39829E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 25</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000080000000000000000000000000</input>
+			<output>DF6EA9E4538A45A52D5C1A43C88F4B55</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 26</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000040000000000000000000000000</input>
+			<output>7D03BA451371591D3FD5547D9165C73B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 27</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000020000000000000000000000000</input>
+			<output>0E0426281A6277E186499D365D5F49FF</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 28</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000010000000000000000000000000</input>
+			<output>DBC02169DD2059E6CC4C57C1FEDF5AB4</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 29</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000008000000000000000000000000</input>
+			<output>826590E05D167DA6F00DCC75E22788EB</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 30</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000004000000000000000000000000</input>
+			<output>34A73F21A04421D9786335FAAB49423A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 31</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000002000000000000000000000000</input>
+			<output>ED347D0E0128EE1A7392A1D36AB78AA9</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 32</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000001000000000000000000000000</input>
+			<output>EE944B2FE6E9FC888042608DA9615F75</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 33</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000800000000000000000000000</input>
+			<output>9E7C85A909EF7218BA7947CFB4718F46</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 34</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000400000000000000000000000</input>
+			<output>811AE07A0B2B1F816587FA73699AE77D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 35</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000200000000000000000000000</input>
+			<output>68466FBF43C2FE13D4B18F7EC5EA745F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 36</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000100000000000000000000000</input>
+			<output>D20B015C7191B219780956E6101F9354</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 37</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000080000000000000000000000</input>
+			<output>5939D5C1BBF54EE1B3E326D757BDDE25</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 38</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000040000000000000000000000</input>
+			<output>B1FDAFE9A0240E8FFEA19CE94B5105D3</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 39</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000020000000000000000000000</input>
+			<output>D62962ECE02CDD68C06BDFEFB2F9495B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 40</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000010000000000000000000000</input>
+			<output>B3BB2DE6F3C26587BA8BAC4F7AD9499A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 41</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000008000000000000000000000</input>
+			<output>E0B1072D6D9FF703D6FBEF77852B0A6B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 42</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000004000000000000000000000</input>
+			<output>D8DD51C907F478DE0228E83E61FD1758</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 43</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000002000000000000000000000</input>
+			<output>A42DFFE6E7C1671C06A25236FDD10017</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 44</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000001000000000000000000000</input>
+			<output>25ACF141550BFAB9EF451B6C6A5B2163</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 45</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000800000000000000000000</input>
+			<output>4DA7FCA3949B16E821DBC84F19581018</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 46</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000400000000000000000000</input>
+			<output>7D49B6347CBCC8919C7FA96A37A7A215</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 47</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000200000000000000000000</input>
+			<output>900024B29A08C6721B95BA3B753DDB4D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 48</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000100000000000000000000</input>
+			<output>6D2182FB283B6934D90BA7848CAB5E66</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 49</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000080000000000000000000</input>
+			<output>F73EF01B448D23A4D90DE8B2F9666E7A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 50</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000040000000000000000000</input>
+			<output>4AD9CDA2418643E9A3D926AF5E6B0412</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 51</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000020000000000000000000</input>
+			<output>7CAEC8E7E5953997D545B033201C8C5B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 52</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000010000000000000000000</input>
+			<output>3C43CA1F6B6864503E27B48D88230CF5</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 53</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000008000000000000000000</input>
+			<output>44F779B93108FE9FEEC880D79BA74488</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 54</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000004000000000000000000</input>
+			<output>9E50E8D9CFD3A682A78E527C9072A1CF</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 55</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000002000000000000000000</input>
+			<output>68D000CBC838BBE3C505D6F814C01F28</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 56</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000001000000000000000000</input>
+			<output>2CB2A9FEC1ACD1D9B0FA05205E304F57</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 57</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000800000000000000000</input>
+			<output>01EB2806606E46444520A5CC6180CD4B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 58</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000400000000000000000</input>
+			<output>DAA9B25168CC702326F217F1A0C0B162</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 59</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000200000000000000000</input>
+			<output>3E07E648975D9578D03555B1755807ED</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 60</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000100000000000000000</input>
+			<output>0B45F52E802C8B8DE09579425B80B711</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 61</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000080000000000000000</input>
+			<output>659595DA0B68F6DF0DD6CA77202986E1</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 62</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000040000000000000000</input>
+			<output>05FF42873893536E58C8FA98A45C73C4</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 63</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000020000000000000000</input>
+			<output>B5B03421DE8BBFFC4EADEC767339A9BD</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 64</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000010000000000000000</input>
+			<output>788BCD111ECF73D4E78D2E21BEF55460</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 65</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000008000000000000000</input>
+			<output>909CD9EC6790359F982DC6F2393D5315</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 66</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000004000000000000000</input>
+			<output>332950F361535FF24EFAC8C76293F12C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 67</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000002000000000000000</input>
+			<output>A68CCD4E330FFDA9D576DA436DB53D75</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 68</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000001000000000000000</input>
+			<output>27C8A1CCFDB0B015D1ED5B3E77143791</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 69</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000800000000000000</input>
+			<output>D76A4B95887A77DF610DD3E1D3B20325</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 70</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000400000000000000</input>
+			<output>C068AB0DE71C66DAE83C361EF4B2D989</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 71</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000200000000000000</input>
+			<output>C2120BCD49EDA9A288B3B4BE79AC8158</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 72</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000100000000000000</input>
+			<output>0C546F62BF2773CD0F564FCECA7BA688</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 73</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000080000000000000</input>
+			<output>18F3462BEDE4920213CCB66DAB1640AA</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 74</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000040000000000000</input>
+			<output>FE42F245EDD0E24B216AEBD8B392D690</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 75</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000020000000000000</input>
+			<output>3D3EEBC8D3D1558A194C2D00C337FF2B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 76</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000010000000000000</input>
+			<output>29AAEDF043E785DB42836F79BE6CBA28</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 77</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000008000000000000</input>
+			<output>215F90C6744E2944358E78619159A611</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 78</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000004000000000000</input>
+			<output>8606B1AA9E1D548E5442B06551E2C6DC</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 79</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000002000000000000</input>
+			<output>987BB4B8740EC0EDE7FEA97DF033B5B1</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 80</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000001000000000000</input>
+			<output>C0A3500DA5B0AE07D2F450930BEEDF1B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 81</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000000800000000000</input>
+			<output>525FDF8312FE8F32C781481A8DAAAE37</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 82</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000000400000000000</input>
+			<output>BFD2C56AE5FB9C9DE33A6944572A6487</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 83</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000000200000000000</input>
+			<output>7975A57A425CDF5AA1FA929101F650B0</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 84</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000000100000000000</input>
+			<output>BF174BC49609A8709B2CD8366DAA79FE</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 85</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000000080000000000</input>
+			<output>06C50C43222F56C874B1704E9F44BF7D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 86</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000000040000000000</input>
+			<output>0CEC48CD34043EA29CA3B8ED5278721E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 87</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000000020000000000</input>
+			<output>9548EA34A1560197B304D0ACB8A1698D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 88</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000000010000000000</input>
+			<output>22F9E9B1BD73B6B5B7D3062C986272F3</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 89</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000000008000000000</input>
+			<output>FEE8E934BD0873295059002230E298D4</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 90</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000000004000000000</input>
+			<output>1B08E2E3EB820D139CB4ABBDBE81D00D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 91</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000000002000000000</input>
+			<output>0021177681E4D90CEAF69DCED0145125</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 92</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000000001000000000</input>
+			<output>4A8E314452CA8A8A3619FC54BC423643</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 93</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000000000800000000</input>
+			<output>65047474F7222C94C6965425FF1BFD0A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 94</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000000000400000000</input>
+			<output>E123F551A9C4A8489622B16F961A9AA4</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 95</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000000000200000000</input>
+			<output>EF05530948B80915028BB2B6FE429380</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 96</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000000000100000000</input>
+			<output>72535B7FE0F0F777CEDCD55CD77E2DDF</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 97</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000000000080000000</input>
+			<output>3423D8EFC31FA2F4C365C77D8F3B5C63</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 98</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000000000040000000</input>
+			<output>DE0E51C264663F3C5DBC59580A98D8E4</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 99</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000000000020000000</input>
+			<output>B2D9391166680947AB09264156719679</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 100</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000000000010000000</input>
+			<output>10DB79F23B06D263835C424AF749ADB7</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 101</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000000000008000000</input>
+			<output>DDF72D27E6B01EC107EA3E005B59563B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 102</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000000000004000000</input>
+			<output>8266B57485A5954A4236751DE07F6694</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 103</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000000000002000000</input>
+			<output>669A501E1F1ADE6E5523DE01D6DBC987</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 104</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000000000001000000</input>
+			<output>C20C48F2989725D461D1DB589DC0896E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 105</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000000000000800000</input>
+			<output>DE35158E7810ED1191825D2AA98FA97D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 106</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000000000000400000</input>
+			<output>4FE294F2C0F34D0671B693A237EBDDC8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 107</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000000000000200000</input>
+			<output>087AE74B10CCBFDF6739FEB9559C01A4</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 108</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000000000000100000</input>
+			<output>5DC278970B7DEF77A5536C77AB59C207</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 109</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000000000000080000</input>
+			<output>7607F078C77085184EAA9B060C1FBFFF</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 110</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000000000000040000</input>
+			<output>9DB841531BCBE7998DAD19993FB3CC00</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 111</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000000000000020000</input>
+			<output>D6A089B654854A94560BAE13298835B8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 112</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000000000000010000</input>
+			<output>E1E223C4CF90CC5D195B370D65114622</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 113</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000000000000008000</input>
+			<output>1CBED73C50D053BDAD372CEEE54836A1</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 114</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000000000000004000</input>
+			<output>D309E69376D257ADF2BFDA152B26555F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 115</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000000000000002000</input>
+			<output>740F7649117F0DEE6EAA7789A9994C36</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 116</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000000000000001000</input>
+			<output>76AE64417C297184D668C5FD908B3CE5</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 117</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000000000000000800</input>
+			<output>6095FEA4AA8035591F1787A819C48787</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 118</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000000000000000400</input>
+			<output>D1FF4E7ACD1C79967FEBAB0F7465D450</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 119</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000000000000000200</input>
+			<output>5F5AD3C42B9489557BB63BF49ECF5F8A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 120</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000000000000000100</input>
+			<output>FB56CC09B680B1D07C5A52149E29F07C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 121</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000000000000000080</input>
+			<output>FF49B8DF4A97CBE03833E66197620DAD</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 122</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000000000000000040</input>
+			<output>5E070ADE533D2E090ED0F5BE13BC0983</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 123</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000000000000000020</input>
+			<output>3AB4FB1D2B7BA376590A2C241D1F508D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 124</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000000000000000010</input>
+			<output>58B2431BC0BEDE02550F40238969EC78</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 125</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000000000000000008</input>
+			<output>0253786E126504F0DAB90C48A30321DE</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 126</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000000000000000004</input>
+			<output>200211214E7394DA2089B6ACD093ABE0</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 127</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000000000000000002</input>
+			<output>0388DACE60B6A392F328C2B971B2FE78</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 128</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000000000000000001</input>
+			<output>58E2FCCEFA7E3061367F1D57A4E7455A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 1</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>80000000000000000000000000000000</input>
+			<output>6CD02513E8D4DC986B4AFE087A60BD0C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 2</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>40000000000000000000000000000000</input>
+			<output>423D2772A0CA56DAABB48D2129062987</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 3</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>20000000000000000000000000000000</input>
+			<output>1021F2A8DA70EB2219DC16804445FF98</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 4</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>10000000000000000000000000000000</input>
+			<output>C636E35B402577F96974D8804295EBB8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 5</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>08000000000000000000000000000000</input>
+			<output>1566D2E57E8393C19E29F892EA28A9A7</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 6</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>04000000000000000000000000000000</input>
+			<output>883C878FED70B36CC09D040F9619DD19</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 7</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>02000000000000000000000000000000</input>
+			<output>06734593A974965790E715594FC34AA9</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 8</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>01000000000000000000000000000000</input>
+			<output>F19B389948D9A45534E5BD36C984134A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 9</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00800000000000000000000000000000</input>
+			<output>D8410DFC14FA6D175EC968EA8CAC514C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 10</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00400000000000000000000000000000</input>
+			<output>7E6C6EBB4029A177CF7B2FDD9AC6BB7A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 11</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00200000000000000000000000000000</input>
+			<output>4B51DD4850DC0A6C3A46D924003D2C27</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 12</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00100000000000000000000000000000</input>
+			<output>2E510A9D917B15BE32A192B12A668F23</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 13</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00080000000000000000000000000000</input>
+			<output>88F6F79962B0FB77FEA8E7C632D3108E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 14</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00040000000000000000000000000000</input>
+			<output>A3A35AB1D88DAF07B52794A0F065383A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 15</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00020000000000000000000000000000</input>
+			<output>DC6CC878433E2B3BB193049A4ECBFC53</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 16</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00010000000000000000000000000000</input>
+			<output>EFCD3763EB7B1A415938248A9A5B4FD5</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 17</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00008000000000000000000000000000</input>
+			<output>AB7E9FB9A66DBE5BB44854F07D9015EE</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 18</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00004000000000000000000000000000</input>
+			<output>8B8E9D3365F8F6743ECF7E33E99255A4</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 19</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00002000000000000000000000000000</input>
+			<output>54D37B4F176FF3D8F6AFC866066D8572</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 20</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00001000000000000000000000000000</input>
+			<output>E83310889480FBF3C00342E3126D0D02</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 21</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000800000000000000000000000000</input>
+			<output>D321AB2511F92F098174AA2DE6E85DA2</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 22</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000400000000000000000000000000</input>
+			<output>D8E3F40B1112D5149D58C481DFA9983F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 23</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000200000000000000000000000000</input>
+			<output>2454C4E0806639DDF19854D6C68054AD</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 24</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000100000000000000000000000000</input>
+			<output>A5506D410F7CA32F3955DD79D9D09418</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 25</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000080000000000000000000000000</input>
+			<output>7908EE40677699568A7DC1AA317C7E4E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 26</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000040000000000000000000000000</input>
+			<output>B4B7B29DD43B2F5CF765E25192273982</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 27</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000020000000000000000000000000</input>
+			<output>92AFE9668159BEFFE2A86F8503260164</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 28</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000010000000000000000000000000</input>
+			<output>5C36A232FBA6D187A84657AD4028B18F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 29</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000008000000000000000000000000</input>
+			<output>A2E994DFAB3A798DF8F54F6DA87E58E2</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 30</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000004000000000000000000000000</input>
+			<output>6CDAB10A72ADF77D71D0765BAAE95631</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 31</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000002000000000000000000000000</input>
+			<output>9FE3C801BCAAF7BB800F2E6BF3278E21</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 32</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000001000000000000000000000000</input>
+			<output>B459D90D9A6C392E5493BC91CF5A0863</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 33</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000800000000000000000000000</input>
+			<output>0518A9FA5007F6787E0FB4E5AC27D758</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 34</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000400000000000000000000000</input>
+			<output>BED9795415D28599700ED7952384A963</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 35</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000200000000000000000000000</input>
+			<output>F0140421173D60251EF6CAB0229B1B50</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 36</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000100000000000000000000000</input>
+			<output>460EB4652B3F6779EA28CB11B37529ED</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 37</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000080000000000000000000000</input>
+			<output>C4283D351C960A6AC13CD19CCF03AE38</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 38</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000040000000000000000000000</input>
+			<output>6815A10047B2C834A798EBDCC6786C75</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 39</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000020000000000000000000000</input>
+			<output>99BA19F0CDD5990D0386B32CE56C9C4C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 40</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000010000000000000000000000</input>
+			<output>DE76F62C61E07915162DA13E79679DEC</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 41</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000008000000000000000000000</input>
+			<output>DD0325D6854803D06D1D2277D5FB8D67</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 42</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000004000000000000000000000</input>
+			<output>580B71A41DE37D6FAC83CCB0B3BB1C97</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 43</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000002000000000000000000000</input>
+			<output>E9B1AB470A1B02EF0FF5E6754A092C96</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 44</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000001000000000000000000000</input>
+			<output>8590620F5AF5993B7410282F4126BC1F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 45</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000800000000000000000000</input>
+			<output>8D4914D2F1B22B2E268E66E532D29D7C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 46</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000400000000000000000000</input>
+			<output>FD826CE48E62C5E30867044B86BA4B56</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 47</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000200000000000000000000</input>
+			<output>100E7B831C9F35FA1271F5F1316C6FCF</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 48</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000100000000000000000000</input>
+			<output>0A2DD0C17F68B996AA96C007003D0B31</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 49</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000080000000000000000000</input>
+			<output>C95F68C57E06B0A2E1F623C83C5D80BF</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 50</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000040000000000000000000</input>
+			<output>571CAFC92C7C8A5EC54C0741E186905C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 51</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000020000000000000000000</input>
+			<output>22514353E95312C112255E1EED0B2DF6</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 52</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000010000000000000000000</input>
+			<output>791A8BF462BD17580BD9152C6D11C6C5</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 53</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000008000000000000000000</input>
+			<output>5882A0178D548F84A165DB809C60DC28</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 54</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000004000000000000000000</input>
+			<output>3CE4A90EED4458CA6039E42DDADB71C3</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 55</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000002000000000000000000</input>
+			<output>D3CBAB261207A16BE2751E77044FD7C9</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 56</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000001000000000000000000</input>
+			<output>24E32B698A7B32217093628B01F424AB</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 57</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000800000000000000000</input>
+			<output>9F6AFC0AF27CF565110C77E3C24F4F5B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 58</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000400000000000000000</input>
+			<output>E088AA5CDA20EF267BB039B00C72C45B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 59</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000200000000000000000</input>
+			<output>5CF1018B7E0BA1775601C2E279900360</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 60</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000100000000000000000</input>
+			<output>3B1A7388B89FB9416AD8753CF5AF35D2</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 61</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000080000000000000000</input>
+			<output>137FA4ED00AFCD9F5D8BC0D14BD5837A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 62</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000040000000000000000</input>
+			<output>806F5C9B663559BB56F234881E4A3E60</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 63</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000020000000000000000</input>
+			<output>8069A449152292DF2DE8642992C632B6</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 64</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000010000000000000000</input>
+			<output>37C6CF2A1ABD1B1F1922B46C7B4A280D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 65</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000008000000000000000</input>
+			<output>7A2835260E5A0AA2B5DC301800EC8438</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 66</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000004000000000000000</input>
+			<output>EE81FAF2F9058213FFCACF281CB8509E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 67</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000002000000000000000</input>
+			<output>57F22D93C37129BA331FDBA38E005A1E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 68</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000001000000000000000</input>
+			<output>EC798782E87B7D9F780CC3C3A46519B5</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 69</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000800000000000000</input>
+			<output>43EA28497F5D40E3A4744FA2EDAA42DE</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 70</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000400000000000000</input>
+			<output>91F004E7DEBF41B3414DD8C5C317372C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 71</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000200000000000000</input>
+			<output>C249EAE54E7B4DF43B938C1B4CC28314</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 72</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000100000000000000</input>
+			<output>32C289D7EEFB99D2F17AD7B7D45FE1EC</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 73</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000080000000000000</input>
+			<output>A675FB2E8DDBF810CEF01CF2B728CD2B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 74</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000040000000000000</input>
+			<output>A418AAAB6E6921CC731AA8A349386080</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 75</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000020000000000000</input>
+			<output>2E2B0F44863E67D9B0215C4ABD60417F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 76</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000010000000000000</input>
+			<output>F0AF7CB19E911D481F6426DAEFDD2240</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 77</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000008000000000000</input>
+			<output>CB1304DAAA2DF6878F56AC2E0F887E04</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 78</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000004000000000000</input>
+			<output>B1B70A7E6A0CD1916D9B78BEA19084AE</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 79</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000002000000000000</input>
+			<output>0CDE9F9BE646A5FCE3436B794A9CFC65</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 80</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000001000000000000</input>
+			<output>68C7946D476A0A36674B36AFD7E5DF33</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 81</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000800000000000</input>
+			<output>48770159A07DD8DFFF06C80105F8D57C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 82</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000400000000000</input>
+			<output>665E62801B3260E3C45BD3BE34DFDEBE</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 83</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000200000000000</input>
+			<output>4159C1F686BFBE5B0E50BDB0DA532B69</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 84</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000100000000000</input>
+			<output>6333100A5A4AD917DC2D4E78A04869A3</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 85</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000080000000000</input>
+			<output>866A4519AB1D199F25886B89D0539ACC</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 86</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000040000000000</input>
+			<output>EC0CFD37E4CBC7E8BE385283F7AEA75A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 87</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000020000000000</input>
+			<output>CA2F383AACCA0810AA13F3E710621422</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 88</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000010000000000</input>
+			<output>1D0EEF6870444F950937831EC0A55D98</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 89</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000008000000000</input>
+			<output>37839B35ED6801E7670496D479A95017</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 90</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000004000000000</input>
+			<output>02317C8C7098C4F94AB867AC7A49DD8D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 91</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000002000000000</input>
+			<output>FFB4CB4E3F7F8BF3367EBD43236518B4</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 92</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000001000000000</input>
+			<output>36BEDEF1E4AA3E4A40A305741713FCBF</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 93</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000800000000</input>
+			<output>B2DFE3C4870269C1E3FEEC39161540D9</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 94</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000400000000</input>
+			<output>147EF2518AD45DA0026056ECBF6A3DFA</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 95</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000200000000</input>
+			<output>027A75E4DE635790E47ACE90D7928804</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 96</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000100000000</input>
+			<output>C4CF3CCB59BF87D0AFBD629F48CFBB7B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 97</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000080000000</input>
+			<output>35165C93F564C97E1C32EF97E8151A87</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 98</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000040000000</input>
+			<output>449DE37F7D5A1BBD628ABBE7E061701D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 99</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000020000000</input>
+			<output>B1D45EAF218F1799B149BAD677FE129F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 100</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000010000000</input>
+			<output>BE08AC6DB6BD0583AA9D2ABC71C73DCD</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 101</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000008000000</input>
+			<output>BCC835BD3DF1A79E4C7C145B899A5C25</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 102</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000004000000</input>
+			<output>3D311EA611FF5AF371301C58A8E9912D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 103</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000002000000</input>
+			<output>A5A1BEA594ACC7CA80F09EA5ADDB5C71</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 104</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000001000000</input>
+			<output>0F09492429FE7222D6CD8190D9F2FFBF</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 105</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000800000</input>
+			<output>816D2220A16B8AAEE71364FD43636C6F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 106</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000400000</input>
+			<output>D7E8702408419ED73191B107EAF75A0B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 107</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000200000</input>
+			<output>9B170EFB1E235B433C78E276BEA082F0</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 108</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000100000</input>
+			<output>03BBECC5598AE974430F29395522F096</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 109</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000080000</input>
+			<output>DB53517766C0E8CF42059607CBA89380</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 110</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000040000</input>
+			<output>2E2AF4B7931F0AEFFAC5471148A5BB97</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 111</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000020000</input>
+			<output>C872C0408266403B984F635FF5683DE4</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 112</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000010000</input>
+			<output>15DCF750B0E3A68AD1F4EFD07E8967B4</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 113</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000008000</input>
+			<output>B41092048E9E6A749F6FD8CE515A23A3</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 114</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000004000</input>
+			<output>4DA9267D62507994312BD5C99ADDE730</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 115</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000002000</input>
+			<output>9E2FCA6D1D626E9C6A924EBF7DBF618A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 116</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000001000</input>
+			<output>E092E8D7EF2C2465AEFB2493C3063590</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 117</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000800</input>
+			<output>1C0E58DA37D1068378A88DBE2EDE4E10</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 118</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000400</input>
+			<output>19063F854232B8509A6A3A6D46809959</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 119</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000200</input>
+			<output>447FB09E54EFA285F7530F25C4EA0022</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 120</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000100</input>
+			<output>F6ABE86321BE40E1FBFDAFED37CC1D9B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 121</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000080</input>
+			<output>4E8506CD006666341D6CF51F98B41F35</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 122</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000040</input>
+			<output>53995DE0009CA18BECAFB8307C54C14C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 123</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000020</input>
+			<output>2006BF99F4C58B6CC2627856593FAEEA</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 124</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000010</input>
+			<output>2DA697D2737CB30B744A4644FA1CBC6E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 125</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000008</input>
+			<output>47A22ACDB60C3A986A8F76ECD0EA3433</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 126</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000004</input>
+			<output>FDAA17C2CDE20268FE36E164EA532151</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 127</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000002</input>
+			<output>98E7247C07F0FE411C267E4384B0F600</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 128</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000001</input>
+			<output>CD33B28AC773F74BA00ED1F312572435</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 1</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>80000000000000000000000000000000</input>
+			<output>DDC6BF790C15760D8D9AEB6F9A75FD4E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 2</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>40000000000000000000000000000000</input>
+			<output>C7098C217C334D0C9BDF37EA13B0822C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 3</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>20000000000000000000000000000000</input>
+			<output>60F0FB0D4C56A8D4EEFEC5264204042D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 4</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>10000000000000000000000000000000</input>
+			<output>73376FBBF654D0686E0E84001477106B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 5</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>08000000000000000000000000000000</input>
+			<output>2F443B52BA5F0C6EA0602C7C4FD259B6</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 6</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>04000000000000000000000000000000</input>
+			<output>75D11B0E3A68C4223D88DBF017977DD7</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 7</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>02000000000000000000000000000000</input>
+			<output>779B38D15BFFB63D8D609D551A5CC98E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 8</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>01000000000000000000000000000000</input>
+			<output>5275F3D86B4FB8684593133EBFA53CD3</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 9</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00800000000000000000000000000000</input>
+			<output>1CEF2074B336CEC62F12DEA2F6AB1481</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 10</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00400000000000000000000000000000</input>
+			<output>1AEF5ABBAD9D7160874578DCD8BAE172</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 11</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00200000000000000000000000000000</input>
+			<output>46C525DB17E72F26BF03216846B6F609</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 12</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00100000000000000000000000000000</input>
+			<output>E24411F941BBE08788781E3EC52CBAA4</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 13</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00080000000000000000000000000000</input>
+			<output>83A3DEDD1DD27018F6A6477E40527581</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 14</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00040000000000000000000000000000</input>
+			<output>B68F8A2CDBAB0C923C67FC8F0F1087DE</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 15</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00020000000000000000000000000000</input>
+			<output>649944A70C32BF87A7409E7AE128FDE8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 16</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00010000000000000000000000000000</input>
+			<output>2846526D67387539C89314DE9E0C2D02</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 17</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00008000000000000000000000000000</input>
+			<output>A9A0B8402E53C70DD1688054BA58DDFD</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 18</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00004000000000000000000000000000</input>
+			<output>4A72E6E1B79C83AC4BE3EBA5699EED48</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 19</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00002000000000000000000000000000</input>
+			<output>B0E36B867BA4FF2B77D0614B0E364E4C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 20</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00001000000000000000000000000000</input>
+			<output>49B57DE141F6418E3090F24DDD4014B6</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 21</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000800000000000000000000000000</input>
+			<output>A6C0D5B9797258E1987AC5F6CD20146D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 22</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000400000000000000000000000000</input>
+			<output>426CF4BDCAA369175965D26E7C71EEA2</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 23</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000200000000000000000000000000</input>
+			<output>E27F484CE54BC99BC1A52BDA3B518A26</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 24</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000100000000000000000000000000</input>
+			<output>D16D186284C7E6EE64B8104E0EF20BA5</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 25</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000080000000000000000000000000</input>
+			<output>6431F8538AD54E1E044A9F71F8EF556B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 26</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000040000000000000000000000000</input>
+			<output>ECD57CEB451D27EB96C55B2042257E8E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 27</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000020000000000000000000000000</input>
+			<output>4F0F188DC911B1954AFBC734C9F68872</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 28</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000010000000000000000000000000</input>
+			<output>B54DEF0337626B65614E81EDFDE620F3</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 29</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000008000000000000000000000000</input>
+			<output>6655D8074CAE0B90B0D3A3FE72D4D9DB</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 30</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000004000000000000000000000000</input>
+			<output>C6B74B6B9EB4FC0C9A237DB1B616D09A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 31</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000002000000000000000000000000</input>
+			<output>D7B5D076EA56EC2B20791D7AD51CCF8F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 32</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000001000000000000000000000000</input>
+			<output>FE160C224BF003CE3BDDC90CB52ED22C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 33</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000800000000000000000000000</input>
+			<output>5E00DA9BA94B5EC0D258D8A8002E0F6A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 34</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000400000000000000000000000</input>
+			<output>09AC6DCFF4DACFF1651E2BA212A292A3</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 35</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000200000000000000000000000</input>
+			<output>B283617E318D99AF83A05D9810BA89F7</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 36</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000100000000000000000000000</input>
+			<output>0B5F70CCB40B0EF2538AE9B4A9770B35</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 37</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000080000000000000000000000</input>
+			<output>43282BF180248FB517839B37F4DDAAE4</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 38</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000040000000000000000000000</input>
+			<output>DDBD534C8B2E6D30A268F88C55AD765B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 39</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000020000000000000000000000</input>
+			<output>A41A164E50EC2D9F175E752B755E0B5C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 40</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000010000000000000000000000</input>
+			<output>37BFF99FF2F7AA97779E4ADF6F13FB10</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 41</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000008000000000000000000000</input>
+			<output>9BA4F7BD298152903A683C4CEC669216</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 42</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000004000000000000000000000</input>
+			<output>5FB750C7CE10DE7B4504248914D0DA06</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 43</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000002000000000000000000000</input>
+			<output>3E748BFA108E086F51D56EC74A9E0FB9</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 44</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000001000000000000000000000</input>
+			<output>31D4E56B99F5B73C1B8437DF332AFB98</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 45</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000800000000000000000000</input>
+			<output>9DC6717B84FC55D266E7B1D9B5C52A5F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 46</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000400000000000000000000</input>
+			<output>8EF8BA007F23C0A50FC120E07041BCCD</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 47</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000200000000000000000000</input>
+			<output>C58F38E1839FC1918A12B8C9E88C66B6</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 48</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000100000000000000000000</input>
+			<output>B695D72A3FCF508C4050E12E40061C2D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 49</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000080000000000000000000</input>
+			<output>5D2736AD478A50583BC8C11BEFF16D7A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 50</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000040000000000000000000</input>
+			<output>DF0EACA8F17847AD41F9578F14C7B56B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 51</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000020000000000000000000</input>
+			<output>E5AA14AD48AD0A3C47CC35D5F8020E51</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 52</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000010000000000000000000</input>
+			<output>11BE6C8F58EBD8CEF1A53F591A68E8CE</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 53</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000008000000000000000000</input>
+			<output>ECFE7BAFCBF42C1FEE015488770B3053</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 54</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000004000000000000000000</input>
+			<output>E552649F8D8EC4A1E1CD6DF50B6E6777</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 55</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000002000000000000000000</input>
+			<output>521C0629DE93B9119CDB1DDC5809DDEA</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 56</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000001000000000000000000</input>
+			<output>CB38A62A0BAB1784156BA038CBA99BF6</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 57</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000800000000000000000</input>
+			<output>76CCEE8AAACD394DE1EEF3DDA10CB54B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 58</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000400000000000000000</input>
+			<output>6AFF910FA1D5673140E2DB59B8416049</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 59</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000200000000000000000</input>
+			<output>064A12C0EF73FB386801BF4F35F3120D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 60</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000100000000000000000</input>
+			<output>2240E374929D5B1BB8FF0FFDDDF640EC</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 61</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000080000000000000000</input>
+			<output>D4BA15C904C7692185DE85C02052E180</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 62</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000040000000000000000</input>
+			<output>1714A315AB0166728A44CD91D4AE9018</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 63</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000020000000000000000</input>
+			<output>6C970BDD9F0E222722EA31A1D12DD0AD</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 64</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000010000000000000000</input>
+			<output>F5956EDF02BD36A401BBB6CE77C3D3FB</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 65</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000008000000000000000</input>
+			<output>0CA11F122CCD7C259DC597EED3DF9BC4</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 66</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000004000000000000000</input>
+			<output>50109AB4912AD2560B206F331B62EB6C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 67</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000002000000000000000</input>
+			<output>DBE7C91A4175614889A2D4BEFD64845E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 68</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000001000000000000000</input>
+			<output>0D3322853A571A6B46B79C0228E0DD25</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 69</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000800000000000000</input>
+			<output>96E4EE0BB9A11C6FB8522F285BADDEB6</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 70</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000400000000000000</input>
+			<output>96705C52D2CFCE82E630C93477C79C49</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 71</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000200000000000000</input>
+			<output>C50130AED6A126149D71F3888C83C232</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 72</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000100000000000000</input>
+			<output>4816EFE3DEB380566EBA0C17BF582090</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 73</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000080000000000000</input>
+			<output>0390857B4C8C98E4CF7A2B6F3394C507</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 74</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000040000000000000</input>
+			<output>422E73A02025EBE8B8B5D6E0FA24FCB2</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 75</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000020000000000000</input>
+			<output>3271AA7F4BF1D7C38050A43076D4FF76</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 76</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000010000000000000</input>
+			<output>D2074946F0D37B8975607BFC2E70234C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 77</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000008000000000000</input>
+			<output>1A509194C1270AB92E5A42D3A9F8D98B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 78</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000004000000000000</input>
+			<output>512438946360CCC4A5C6D73F6EED7130</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 79</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000002000000000000</input>
+			<output>98CFCDEC46EBEA1A286B3004F2746A0D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 80</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000001000000000000</input>
+			<output>A1CF369949677A3AF3D58E3EABF2741B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 81</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000800000000000</input>
+			<output>D84C2E1A0E4A52166FA8FF6889D1E5E2</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 82</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000400000000000</input>
+			<output>4AD91CCEEF60119B5078FD162D2735DE</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 83</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000200000000000</input>
+			<output>2860793D818E97AAFF1D339D7702438D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 84</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000100000000000</input>
+			<output>6F9068BE73364AE250D89D78A6C9CE6F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 85</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000080000000000</input>
+			<output>024FC3FEF4883FEB1A8DD005305FECCE</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 86</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000040000000000</input>
+			<output>08A61FE0816D75EA15EB3C9FB9CCDED6</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 87</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000020000000000</input>
+			<output>449C86DFA13F260175CE39797686FFA4</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 88</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000010000000000</input>
+			<output>4FFFFC29A59858E1133F2BFB1A8A4817</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 89</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000008000000000</input>
+			<output>19425D1F6480B25096561295697DC2B7</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 90</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000004000000000</input>
+			<output>31974727ECDD2C77C3A428FC3A8CB3FC</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 91</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000002000000000</input>
+			<output>A57CD704B3C95E744D08DF443458F2F5</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 92</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000001000000000</input>
+			<output>486D8C193DB1ED73ACB17990442FC40B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 93</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000800000000</input>
+			<output>5E4DBF4E83AB3BC055B9FCC7A6B3A763</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 94</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000400000000</input>
+			<output>ACF2E0A693FBBCBA4D41B861E0D89E37</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 95</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000200000000</input>
+			<output>32A7CB2AE066A51D2B78FC4B4CFCB608</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 96</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000100000000</input>
+			<output>677D494DBB73CAF55C1990158DA12F14</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 97</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000080000000</input>
+			<output>082A0D2367512ADF0D75A151BFBE0A17</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 98</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000040000000</input>
+			<output>5E5BB7337923C482CE8CBA249E6A8C7D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 99</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000020000000</input>
+			<output>D3001BA7C7026EE3E5003179530AFCFC</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 100</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000010000000</input>
+			<output>46EC44F8931E629FE8FD8961312EDDE1</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 101</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000008000000</input>
+			<output>C5F8ECD79C7B30E81D17E32079969310</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 102</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000004000000</input>
+			<output>5B8AD6919E24CAEBCC55401AEE0C9802</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 103</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000002000000</input>
+			<output>C2302B7E701B5CC7F8B29E3516DBBFA6</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 104</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000001000000</input>
+			<output>A1D04D6A76F9F7A94D49FAA64A87F244</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 105</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000800000</input>
+			<output>7FB6F92D35B5CB6C631600EDB9E860BA</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 106</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000400000</input>
+			<output>B2EF7078BCFACE07AEEC3F9B48830EB3</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 107</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000200000</input>
+			<output>F475A7493D24C7036E53390374C378B3</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 108</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000100000</input>
+			<output>B36802AC987377A37BD8EADC97C57D60</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 109</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000080000</input>
+			<output>ADDCD3D19689C4DDC738CE5F69DC9505</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 110</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000040000</input>
+			<output>0DAF8CA22884915403C0F0BB1F4BD74F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 111</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000020000</input>
+			<output>4AF36BAE2660503B3248E4685059FD05</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 112</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000010000</input>
+			<output>7D5631814DD8E917D97A0D514C743971</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 113</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000008000</input>
+			<output>BC3352500FC0CBB9DB5B5F6B491C1BE8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 114</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000004000</input>
+			<output>6A4A30BA87E87AF65C90AEB7AFEDC76B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 115</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000002000</input>
+			<output>77E6125897668AC8E73E8C79A6FF8336</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 116</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000001000</input>
+			<output>3FA9D39104EBB323C7AAAA248960DD1E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 117</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000800</input>
+			<output>FAD75AD76AB10ADC49036B250E229D39</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 118</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000400</input>
+			<output>2FACAA5FE35B228A16AC74088D702EC4</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 119</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000200</input>
+			<output>88B6CBCFDFEF8AD91720A1BB69A1F33E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 120</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000100</input>
+			<output>C7E9D250998632D444356242EF04058D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 121</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000080</input>
+			<output>B14DAD8D3D9153F46C0D3A1AD63C7A05</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 122</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000040</input>
+			<output>60ABA678A506608D0845966D29B5F790</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 123</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000020</input>
+			<output>482DC43F2388EF25D24144E144BD834E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 124</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000010</input>
+			<output>1490A05A7CEE43BDE98B56E309DC0126</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 125</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000008</input>
+			<output>ABFA77CD6E85DA245FB0BDC5E52CFC29</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 126</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000004</input>
+			<output>DD4AB1284D4AE17B41E85924470C36F7</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 127</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000002</input>
+			<output>CEA7403D4D606B6E074EC5D3BAF39D18</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 128</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000001</input>
+			<output>530F8AFBC74536B9A963B4F1C4CB738B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tsymmetric/scripts/AESMonteCarloDecryptCBC128.txt	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,6801 @@
+<action>
+	<actionname>AES CBC MonteCarlo Dec 0</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<iv>00000000000000000000000000000000</iv>
+			<input>00000000000000000000000000000000</input>
+			<output>FACA37E0B0C85373DF706E73F7C9AF86</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 1</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>FACA37E0B0C85373DF706E73F7C9AF86</key>
+			<iv>52D0C29FF8793A519BD6A8289FC80E6A</iv>
+			<input>FACA37E0B0C85373DF706E73F7C9AF86</input>
+			<output>F5372F9735C5685F1DA362AF6ECB2940</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 2</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>0FFD1877850D3B2CC2D30CDC990286C6</key>
+			<iv>DD74BB1AC6F0F866C7992C61F59D5594</iv>
+			<input>F5372F9735C5685F1DA362AF6ECB2940</input>
+			<output>5496A4C29C7670F61B5D5DF6181F5947</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 3</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>5B6BBCB5197B4BDAD98E512A811DDF81</key>
+			<iv>3795C88134F7C011433397D1443FEB3A</iv>
+			<input>5496A4C29C7670F61B5D5DF6181F5947</input>
+			<output>940CC5A2AF4F1F8D1862B47BCF63E4CA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 4</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>CF677917B6345457C1ECE5514E7E3B4B</key>
+			<iv>0FC1413900225B47AF9E139E1650EA23</iv>
+			<input>940CC5A2AF4F1F8D1862B47BCF63E4CA</input>
+			<output>08832415D97820DE305A58A9AD111A9E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 5</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>C7E45D026F4C7489F1B6BDF8E36F21D5</key>
+			<iv>3032F64674FA243D61DF8C16313D81F3</iv>
+			<input>08832415D97820DE305A58A9AD111A9E</input>
+			<output>BD4089775FD1BDB0A6C4F36D1DDAA93E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 6</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>7AA4D475309DC93957724E95FEB588EB</key>
+			<iv>47D7F440B43888F173AE5A492F1A99F8</iv>
+			<input>BD4089775FD1BDB0A6C4F36D1DDAA93E</input>
+			<output>AB9955F74612859267D61FEA85A75ADC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 7</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D13D8182768F4CAB30A4517F7B12D237</key>
+			<iv>6D9E57242195D27771D1C7A748378AB0</iv>
+			<input>AB9955F74612859267D61FEA85A75ADC</input>
+			<output>168F213FB678D8A46D0E55EFD1C49BB3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 8</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>C7B2A0BDC0F7940F5DAA0490AAD64984</key>
+			<iv>1B98968FB5ABD95930525C1257DEB364</iv>
+			<input>168F213FB678D8A46D0E55EFD1C49BB3</input>
+			<output>3C4CEECFF9560501C5D8C901D87C8E7B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 9</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>FBFE4E7239A1910E9872CD9172AAC7FF</key>
+			<iv>35EB7B6D3F63AAE927C5346C9C2CB91D</iv>
+			<input>3C4CEECFF9560501C5D8C901D87C8E7B</input>
+			<output>9D206BE0CC60296BF3A486A8C69778EF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 10</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>66DE2592F5C1B8656BD64B39B43DBF10</key>
+			<iv>226646B36D8E9B9279F94378CCBF8FBA</iv>
+			<input>9D206BE0CC60296BF3A486A8C69778EF</input>
+			<output>9DA7B8094BD0F0BEA26848C84B8E083C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 11</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>FB799D9BBE1148DBC9BE03F1FFB3B72C</key>
+			<iv>3E3A2B0E1C70A19BCD7222708AA94F26</iv>
+			<input>9DA7B8094BD0F0BEA26848C84B8E083C</input>
+			<output>6A93B2F318C14C2D3E58455B86A4F5D7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 12</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>91EA2F68A6D004F6F7E646AA791742FB</key>
+			<iv>1F256942B3CD691858A20664BB24545E</iv>
+			<input>6A93B2F318C14C2D3E58455B86A4F5D7</input>
+			<output>4A19AC6C6FEB654D3675A2BE32E5A820</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 13</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>DBF38304C93B61BBC193E4144BF2EADB</key>
+			<iv>631F2EDE05C1C950BCE67DF53BA53ED6</iv>
+			<input>4A19AC6C6FEB654D3675A2BE32E5A820</input>
+			<output>799EAB8E9C864A13490FD6B089F764C5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 14</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>A26D288A55BD2BA8889C32A4C2058E1E</key>
+			<iv>F6AD064E0DBF4AF4AA5165E1FE0E86FA</iv>
+			<input>799EAB8E9C864A13490FD6B089F764C5</input>
+			<output>2FA3F38CA1216C6D911C1779F333413E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 15</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>8DCEDB06F49C47C5198025DD3136CF20</key>
+			<iv>DA039AC5F4EDCD84472B23CFA1252EC3</iv>
+			<input>2FA3F38CA1216C6D911C1779F333413E</input>
+			<output>2FC703AD6A7DAF8B0BDDD8586C1D67D0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 16</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>A209D8AB9EE1E84E125DFD855D2BA8F0</key>
+			<iv>341B5FDA8AB434461A7B7A87EF0C530C</iv>
+			<input>2FC703AD6A7DAF8B0BDDD8586C1D67D0</input>
+			<output>54723CABFBE32DEEDFEBF4292A5710FA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 17</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>F67BE4006502C5A0CDB609AC777CB80A</key>
+			<iv>2C42AD577B0BE057555C3FCB6FC0089E</iv>
+			<input>54723CABFBE32DEEDFEBF4292A5710FA</input>
+			<output>6B1E2A8C1A9CBB95D1B34AAFE15A78D3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 18</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9D65CE8C7F9E7E351C0543039626C0D9</key>
+			<iv>E5E06583A834BF16118ED5FA401A2D6F</iv>
+			<input>6B1E2A8C1A9CBB95D1B34AAFE15A78D3</input>
+			<output>F4E57BFAB65375B3AD49CD78814F0C16</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 19</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>6980B576C9CD0B86B14C8E7B1769CCCF</key>
+			<iv>71E59389FF6F992225B32960593F9362</iv>
+			<input>F4E57BFAB65375B3AD49CD78814F0C16</input>
+			<output>90A31B5934FCF6822526C973114BD953</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 20</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>F923AE2FFD31FD04946A47080622159C</key>
+			<iv>2A4B31492B9BAEC402C255978BB96D40</iv>
+			<input>90A31B5934FCF6822526C973114BD953</input>
+			<output>61F88BA8D438A0FD23F0101465C7FD4E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 21</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>98DB258729095DF9B79A571C63E5E8D2</key>
+			<iv>607640CEA12DCF7F188B2B65C7F4153D</iv>
+			<input>61F88BA8D438A0FD23F0101465C7FD4E</input>
+			<output>F62D206DF53F41CA898F3A8EB6A843FF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 22</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>6EF605EADC361C333E156D92D54DAB2D</key>
+			<iv>D69C32E12303361B465BE9A484BCA723</iv>
+			<input>F62D206DF53F41CA898F3A8EB6A843FF</input>
+			<output>364BC3F9FDA5FB1AEEA7691550A58320</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 23</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>58BDC6132193E729D0B2048785E8280D</key>
+			<iv>C207B8347B8DB8BC6845827BB6986B0E</iv>
+			<input>364BC3F9FDA5FB1AEEA7691550A58320</input>
+			<output>DAA6386A073CD1653E9A9DB0A97970BA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 24</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>821BFE7926AF364CEE2899372C9158B7</key>
+			<iv>6C5D2B186393280253D6922A8421C3A9</iv>
+			<input>DAA6386A073CD1653E9A9DB0A97970BA</input>
+			<output>AAF74F0E0A0141A811853AE8B120BC00</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 25</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>28ECB1772CAE77E4FFADA3DF9DB1E4B7</key>
+			<iv>3CB62EF0E649027DDDB76206D0F4D355</iv>
+			<input>AAF74F0E0A0141A811853AE8B120BC00</input>
+			<output>22A0F9611447C1A85F397DD79E3206F9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 26</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>0A4C481638E9B64CA094DE080383E24E</key>
+			<iv>C4320FA90686AE0F9E979CBF1391F6D6</iv>
+			<input>22A0F9611447C1A85F397DD79E3206F9</input>
+			<output>1871ABDEAA7E057E76D41ED9191FAC39</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 27</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>123DE3C89297B332D640C0D11A9C4E77</key>
+			<iv>FBFD18AADF7C5E8E96EB976A535BF312</iv>
+			<input>1871ABDEAA7E057E76D41ED9191FAC39</input>
+			<output>BF52994F41B1DEF78C6A057642C52D89</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 28</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>AD6F7A87D3266DC55A2AC5A7585963FE</key>
+			<iv>C195141578ADF4C92113C8A9A63FF072</iv>
+			<input>BF52994F41B1DEF78C6A057642C52D89</input>
+			<output>3EAFB00E3B4A0E6DF74743A7EDAD0FE4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 29</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>93C0CA89E86C63A8AD6D8600B5F46C1A</key>
+			<iv>D1C4E98C4A9AC79B7CCBC052ACF78913</iv>
+			<input>3EAFB00E3B4A0E6DF74743A7EDAD0FE4</input>
+			<output>4393544AB2387A93496D683C2B8970C7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 30</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D0539EC35A54193BE400EE3C9E7D1CDD</key>
+			<iv>80517C6341DAF4DCBCCAE452F3040147</iv>
+			<input>4393544AB2387A93496D683C2B8970C7</input>
+			<output>51DAC594293708A918E9EFC04F7F2F1C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 31</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>81895B5773631192FCE901FCD10233C1</key>
+			<iv>69DE50406B4E3E8A94C1367E1E3D5464</iv>
+			<input>51DAC594293708A918E9EFC04F7F2F1C</input>
+			<output>035B64F06C8166000C82BF15CC88446D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 32</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>82D23FA71FE27792F06BBEE91D8A77AC</key>
+			<iv>8EA2E38145BBD79881B7EB31B8818A21</iv>
+			<input>035B64F06C8166000C82BF15CC88446D</input>
+			<output>F3EFFA770A21741551F309E1967CC2E4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 33</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>713DC5D015C30387A198B7088BF6B548</key>
+			<iv>0DCAA309668E11509828152553FF2306</iv>
+			<input>F3EFFA770A21741551F309E1967CC2E4</input>
+			<output>62BA0548E7AD136BEB4E38AECD7942D9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 34</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>1387C098F26E10EC4AD68FA6468FF791</key>
+			<iv>D031FCA5F3C88926CC3BDDC448537B69</iv>
+			<input>62BA0548E7AD136BEB4E38AECD7942D9</input>
+			<output>38E3D4C7AF0C3E494F1D580AC5430634</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 35</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>2B64145F5D622EA505CBD7AC83CCF1A5</key>
+			<iv>6FFA5A45EDA60294B0224EEB8C36C455</iv>
+			<input>38E3D4C7AF0C3E494F1D580AC5430634</input>
+			<output>2231EB6A6588CBCB56B930B7F1CF9E04</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 36</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>0955FF3538EAE56E5372E71B72036FA1</key>
+			<iv>B5375674631ECC3334A318993CB81F9A</iv>
+			<input>2231EB6A6588CBCB56B930B7F1CF9E04</input>
+			<output>59692274C130D6820287EA10F7E64602</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 37</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>503CDD41F9DA33EC51F50D0B85E529A3</key>
+			<iv>A93D6E028B5C2BD17A29C6CA1617A0A2</iv>
+			<input>59692274C130D6820287EA10F7E64602</input>
+			<output>5975A95327DE7749EA8DEDC580E5E8C7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 38</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>09497412DE0444A5BB78E0CE0500C164</key>
+			<iv>26E00CB161145FCD00C39BC4FB1E5CBB</iv>
+			<input>5975A95327DE7749EA8DEDC580E5E8C7</input>
+			<output>D1F7E36BC8FF4439820CB617E745A9CC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 39</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D8BE977916FB009C397456D9E24568A8</key>
+			<iv>72E78D9E15C8FBA864C6C40CEBB190B8</iv>
+			<input>D1F7E36BC8FF4439820CB617E745A9CC</input>
+			<output>76FB4F20C902E9AA89854440631092B5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 40</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>AE45D859DFF9E936B0F112998155FA1D</key>
+			<iv>4B6C585FEF52490EA62BAAD08FAA3DCF</iv>
+			<input>76FB4F20C902E9AA89854440631092B5</input>
+			<output>6D7D4487DCD624B2FC5002DFE7D2D347</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 41</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>C3389CDE032FCD844CA110466687295A</key>
+			<iv>E94FD23A598DDE077CD1DAEE97FDADD9</iv>
+			<input>6D7D4487DCD624B2FC5002DFE7D2D347</input>
+			<output>7297F8F85B21E1A5CB902DCC5F6738F9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 42</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>B1AF6426580E2C2187313D8A39E011A3</key>
+			<iv>86E495D31EEFCBC30064414FBD78FAE5</iv>
+			<input>7297F8F85B21E1A5CB902DCC5F6738F9</input>
+			<output>4A6978AACC6968931FB1B83D53D31FEF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 43</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>FBC61C8C946744B2988085B76A330E4C</key>
+			<iv>6BA7664AB5ED4F7956D6C3FAA7C42961</iv>
+			<input>4A6978AACC6968931FB1B83D53D31FEF</input>
+			<output>6B63FAAF9DB43A2B6025F29B1D6A331C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 44</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>90A5E62309D37E99F8A5772C77593D50</key>
+			<iv>37D17D1702EA34A3C75376AA0F9D24AD</iv>
+			<input>6B63FAAF9DB43A2B6025F29B1D6A331C</input>
+			<output>8317A07BEE0BF16B88D7D197884AC6CF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 45</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>13B24658E7D88FF27072A6BBFF13FB9F</key>
+			<iv>29B89B238062495C260AF44C63AA809F</iv>
+			<input>8317A07BEE0BF16B88D7D197884AC6CF</input>
+			<output>0443BFEBCA7C85CBD0CB66AB9D75425D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 46</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>17F1F9B32DA40A39A0B9C0106266B9C2</key>
+			<iv>08CF82854AE07429C4A866AA727CEA2E</iv>
+			<input>0443BFEBCA7C85CBD0CB66AB9D75425D</input>
+			<output>6B1EB033CB844F9BDD96BA2C67D139C7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 47</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>7CEF4980E62045A27D2F7A3C05B78005</key>
+			<iv>05579F3E0017EBF6083756DC0A50A2E9</iv>
+			<input>6B1EB033CB844F9BDD96BA2C67D139C7</input>
+			<output>E7904CBFB41EBE4178B4D633AFC9B311</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 48</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9B7F053F523EFBE3059BAC0FAA7E3314</key>
+			<iv>E6B2CB0CE57E02A230DCD16C08614823</iv>
+			<input>E7904CBFB41EBE4178B4D633AFC9B311</input>
+			<output>96EAAA148F05FAD1F0FC06E135EC5DF8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 49</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>0D95AF2BDD3B0132F567AAEE9F926EEC</key>
+			<iv>4268294B10AD58BE9E570A9485963682</iv>
+			<input>96EAAA148F05FAD1F0FC06E135EC5DF8</input>
+			<output>9F2F712F62DE747EE479A0A74384B196</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 50</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>92BADE04BFE5754C111E0A49DC16DF7A</key>
+			<iv>A5C558F5D4658089CD9FB295EDAE64DB</iv>
+			<input>9F2F712F62DE747EE479A0A74384B196</input>
+			<output>9CF7F00094C4E2D96D752C2312FC135E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 51</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>0E4D2E042B2197957C6B266ACEEACC24</key>
+			<iv>1CE301F294BDF4C906E5F0A6FA7C22BB</iv>
+			<input>9CF7F00094C4E2D96D752C2312FC135E</input>
+			<output>ABA58D548DB6E9BE977FDDC85E16C2DE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 52</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>A5E8A350A6977E2BEB14FBA290FC0EFA</key>
+			<iv>66C1FF1E4B52A3542B48306EC33F171D</iv>
+			<input>ABA58D548DB6E9BE977FDDC85E16C2DE</input>
+			<output>802948E1A5177FBE97ABA26B996FDF1B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 53</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>25C1EBB1038001957CBF59C90993D1E1</key>
+			<iv>197A546DEB2E19E17507276B9ED95135</iv>
+			<input>802948E1A5177FBE97ABA26B996FDF1B</input>
+			<output>67D931C0946ECDF2F8E41000726D1A56</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 54</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>4218DA7197EECC67845B49C97BFECBB7</key>
+			<iv>D11DA3CE92ADA0686F7BF12A4796D9F7</iv>
+			<input>67D931C0946ECDF2F8E41000726D1A56</input>
+			<output>386C68821385E8CFCDD5678FE2AA89F8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 55</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>7A74B2F3846B24A8498E2E469954424F</key>
+			<iv>4DDE413EBC3F30E2F3A9F48DA1258DAF</iv>
+			<input>386C68821385E8CFCDD5678FE2AA89F8</input>
+			<output>1638C741EFE3B1CC45C7754783350825</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 56</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>6C4C75B26B8895640C495B011A614A6A</key>
+			<iv>5B4F013B085E3A04A16A409E8C3BB270</iv>
+			<input>1638C741EFE3B1CC45C7754783350825</input>
+			<output>91AB00C3828D3DF72BEC487EF4652567</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 57</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>FDE77571E905A89327A5137FEE046F0D</key>
+			<iv>98074F522144682FF1498C61581F8B0E</iv>
+			<input>91AB00C3828D3DF72BEC487EF4652567</input>
+			<output>BC5BA874D2F3039837528993FB275EBA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 58</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>41BCDD053BF6AB0B10F79AEC152331B7</key>
+			<iv>B65C1A6F80CA024B92176D57061ECDFE</iv>
+			<input>BC5BA874D2F3039837528993FB275EBA</input>
+			<output>B7DE1BEE1867F4DC3F974E0D8B416DB0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 59</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>F662C6EB23915FD72F60D4E19E625C07</key>
+			<iv>7268C08FA807D83C9830F54A59F32662</iv>
+			<input>B7DE1BEE1867F4DC3F974E0D8B416DB0</input>
+			<output>19769B9EB30B8DE5FD640ACE78F01F0A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 60</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>EF145D75909AD232D204DE2FE692430D</key>
+			<iv>B260792BAB22BAAB6CCF3AE1DD3A0F85</iv>
+			<input>19769B9EB30B8DE5FD640ACE78F01F0A</input>
+			<output>2079F2C0A0DE164CD41FCE29D8CE3178</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 61</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>CF6DAFB53044C47E061B10063E5C7275</key>
+			<iv>6ABCE7B41E112B91B8E6BC0DBE37600C</iv>
+			<input>2079F2C0A0DE164CD41FCE29D8CE3178</input>
+			<output>0D3A678FAB06E743A9134C103B39B61D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 62</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>C257C83A9B42233DAF085C160565C468</key>
+			<iv>CEB1E776DBEF46BF8B949C0AF0EBEAD2</iv>
+			<input>0D3A678FAB06E743A9134C103B39B61D</input>
+			<output>80339ADB34BCDE3384D66170373AEEAC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 63</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>426452E1AFFEFD0E2BDE3D66325F2AC4</key>
+			<iv>EAAC373FCA05E610C1C5D4437AFD5631</iv>
+			<input>80339ADB34BCDE3384D66170373AEEAC</input>
+			<output>38D52D75E5783A08FBFE622633D6CF47</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 64</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>7AB17F944A86C706D0205F400189E583</key>
+			<iv>2A25ED6933CAAA95569ADA1AC7480942</iv>
+			<input>38D52D75E5783A08FBFE622633D6CF47</input>
+			<output>3204F1EACBB520A69F0939F45BC82041</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 65</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>48B58E7E8133E7A04F2966B45A41C5C2</key>
+			<iv>9C6819799DAF61111ACC3C0ECEB0F8BF</iv>
+			<input>3204F1EACBB520A69F0939F45BC82041</input>
+			<output>16BD33EE541798BEE114E9D7F9141A9C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 66</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>5E08BD90D5247F1EAE3D8F63A355DF5E</key>
+			<iv>C181F4DF1EE0E13BF76044A3DA5E3BC4</iv>
+			<input>16BD33EE541798BEE114E9D7F9141A9C</input>
+			<output>A0A68CF016C6AD8DAC4D5634EAADEBE5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 67</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>FEAE3160C3E2D2930270D95749F834BB</key>
+			<iv>2A4EE2CD011AF421616789DB790354FD</iv>
+			<input>A0A68CF016C6AD8DAC4D5634EAADEBE5</input>
+			<output>FCE7D92FD0B3A1C7920558F653E1019B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 68</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>0249E84F13517354907581A11A193520</key>
+			<iv>A7F7E2B701F34F308C0F28514DFAA15F</iv>
+			<input>FCE7D92FD0B3A1C7920558F653E1019B</input>
+			<output>F16A084B2DE16D5E3E5405665DE3C623</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 69</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>F323E0043EB01E0AAE2184C747FAF303</key>
+			<iv>6D319828AAA75DFE99BEEDD21B983C7D</iv>
+			<input>F16A084B2DE16D5E3E5405665DE3C623</input>
+			<output>CE20AE629887DF02064F2D9DB092E1DB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 70</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>3D034E66A637C108A86EA95AF76812D8</key>
+			<iv>9484E76149F41901AF8AFD3152C56506</iv>
+			<input>CE20AE629887DF02064F2D9DB092E1DB</input>
+			<output>B457A655282213C1B7C5C2A206C7FCB9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 71</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>8954E8338E15D2C91FAB6BF8F1AFEE61</key>
+			<iv>329E089DC915BD71B1F8D0713BFC4F97</iv>
+			<input>B457A655282213C1B7C5C2A206C7FCB9</input>
+			<output>A89B8F7541FFF719A3C7DE1577CE1C3F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 72</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>21CF6746CFEA25D0BC6CB5ED8661F25E</key>
+			<iv>FA381CAC5777234E6DF8A28A4E6671D8</iv>
+			<input>A89B8F7541FFF719A3C7DE1577CE1C3F</input>
+			<output>C4E73D25647350527C1F93F6C1D90296</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 73</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>E5285A63AB997582C073261B47B8F0C8</key>
+			<iv>082ACF3D2661514F0E00BDABC9015946</iv>
+			<input>C4E73D25647350527C1F93F6C1D90296</input>
+			<output>34BF6DECECFE1C9AE3AA34B6DB3741EF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 74</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D197378F4767691823D912AD9C8FB127</key>
+			<iv>3E56B658F899B6DBBA4EAF6E629F3555</iv>
+			<input>34BF6DECECFE1C9AE3AA34B6DB3741EF</input>
+			<output>FD86C78538176DC5D48BE2EC6B89D581</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 75</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>2C11F00A7F7004DDF752F041F70664A6</key>
+			<iv>765B823193F2738E6CACBB0154C941B1</iv>
+			<input>FD86C78538176DC5D48BE2EC6B89D581</input>
+			<output>524E035AB9DEB29E467B9586A90F3A42</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 76</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>7E5FF350C6AEB643B12965C75E095EE4</key>
+			<iv>DE2B3EC0A3FF29EC67BBE1B124E9451A</iv>
+			<input>524E035AB9DEB29E467B9586A90F3A42</input>
+			<output>83DE1E768EED94BA09E623845A057834</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 77</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>FD81ED26484322F9B8CF4643040C26D0</key>
+			<iv>A5CF4D996D8460E71DDA938461BB884B</iv>
+			<input>83DE1E768EED94BA09E623845A057834</input>
+			<output>D8381D17B9BCF942F408DBB2B7B2D6B7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 78</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>25B9F031F1FFDBBB4CC79DF1B3BEF067</key>
+			<iv>899696B8EDC4E8B60489742A2559C909</iv>
+			<input>D8381D17B9BCF942F408DBB2B7B2D6B7</input>
+			<output>BF1D8175015D0A0341427DE1F7DDE379</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 79</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9AA47144F0A2D1B80D85E0104463131E</key>
+			<iv>AD76D13B2F2A3F938F5C810A38A83D09</iv>
+			<input>BF1D8175015D0A0341427DE1F7DDE379</input>
+			<output>58114DEFF8CFF10F06B390EB01B13394</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 80</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>C2B53CAB086D20B70B3670FB45D2208A</key>
+			<iv>9EC540C144AB57D4E5A9185F55E71E50</iv>
+			<input>58114DEFF8CFF10F06B390EB01B13394</input>
+			<output>53E72B9603CE221F0160791DF51F6B3E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 81</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9152173D0BA302A80A5609E6B0CD4BB4</key>
+			<iv>B780257238CA60FD998819B2D04CEB92</iv>
+			<input>53E72B9603CE221F0160791DF51F6B3E</input>
+			<output>AF0238554AAFFB0FB5DFAC35E3CE8F4C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 82</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>3E502F68410CF9A7BF89A5D35303C4F8</key>
+			<iv>3509BC884089ADEB90137A39AEA75CFC</iv>
+			<input>AF0238554AAFFB0FB5DFAC35E3CE8F4C</input>
+			<output>20844D3F4F637B974D38B7E5F1C84205</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 83</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>1ED462570E6F8230F2B11236A2CB86FD</key>
+			<iv>52BAB07EB72804630E4BD769F0172FDA</iv>
+			<input>20844D3F4F637B974D38B7E5F1C84205</input>
+			<output>68404E006D2F16572EDFAE636A62C537</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 84</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>76942C5763409467DC6EBC55C8A943CA</key>
+			<iv>E4B417D85F36F3A25CF04AB05157F247</iv>
+			<input>68404E006D2F16572EDFAE636A62C537</input>
+			<output>13C8DF4117D4EA3645F1825700F8FFA5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 85</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>655CF31674947E51999F3E02C851BC6F</key>
+			<iv>3FE0683442B6B5DF515209DE16F8FD4B</iv>
+			<input>13C8DF4117D4EA3645F1825700F8FFA5</input>
+			<output>42307D929439F2723202A5206D640431</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 86</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>276C8E84E0AD8C23AB9D9B22A535B85E</key>
+			<iv>33FAD11D9D4057E7ED989F1520450C32</iv>
+			<input>42307D929439F2723202A5206D640431</input>
+			<output>5ED8AF875ACF37BE8FAAC16D4AB8072B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 87</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>79B42103BA62BB9D24375A4FEF8DBF75</key>
+			<iv>807852E5AD0EB5E0C3A2AAF18DFB14F9</iv>
+			<input>5ED8AF875ACF37BE8FAAC16D4AB8072B</input>
+			<output>79C950A45ECDC8B676A5CFF324A81DA8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 88</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>007D71A7E4AF732B529295BCCB25A2DD</key>
+			<iv>516BC35B52C26C99E21C0147CB7DD99E</iv>
+			<input>79C950A45ECDC8B676A5CFF324A81DA8</input>
+			<output>595C3DDCFBD90661A3A70B94C470A26B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 89</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>59214C7B1F76754AF1359E280F5500B6</key>
+			<iv>FDABDD4BD60725F5E640629416F417D3</iv>
+			<input>595C3DDCFBD90661A3A70B94C470A26B</input>
+			<output>7957CF3989083D25B54C6890EC58DB0C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 90</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>20768342967E486F4479F6B8E30DDBBA</key>
+			<iv>CADFADF417898DE3786D5DF869396611</iv>
+			<input>7957CF3989083D25B54C6890EC58DB0C</input>
+			<output>6C1E8DF34FC80DD2ECA00A1EDC5FC239</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 91</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>4C680EB1D9B645BDA8D9FCA63F521983</key>
+			<iv>A7DF9FA44AA2B49B9E26C6148CCAF36F</iv>
+			<input>6C1E8DF34FC80DD2ECA00A1EDC5FC239</input>
+			<output>72B5A426C9DC3B336756FB10B00626CE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 92</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>3EDDAA97106A7E8ECF8F07B68F543F4D</key>
+			<iv>50FF574915D407A97A74CC399DE2D901</iv>
+			<input>72B5A426C9DC3B336756FB10B00626CE</input>
+			<output>194826159D7FAB9166D64F1DD6F627B0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 93</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>27958C828D15D51FA95948AB59A218FD</key>
+			<iv>A1E3BC848C019B6FC3F7072F9A866C52</iv>
+			<input>194826159D7FAB9166D64F1DD6F627B0</input>
+			<output>0186B2316FC29104D3549C49F92AE414</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 94</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>26133EB3E2D7441B7A0DD4E2A088FCE9</key>
+			<iv>4DBA42F1031AE32016524C7F86781528</iv>
+			<input>0186B2316FC29104D3549C49F92AE414</input>
+			<output>373384DB7383D3A4914C0141BB104B81</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 95</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>1120BA68915497BFEB41D5A31B98B768</key>
+			<iv>FFCB87107AC596D71BA807902D524247</iv>
+			<input>373384DB7383D3A4914C0141BB104B81</input>
+			<output>25465CE5FA2AD65D75586064A18516A8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 96</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>3466E68D6B7E41E29E19B5C7BA1DA1C0</key>
+			<iv>55879596C3F0A295FA00CFEF1B056248</iv>
+			<input>25465CE5FA2AD65D75586064A18516A8</input>
+			<output>2311A52CEC4A16B5F4FCA613BC0BDB83</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 97</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>177743A1873457576AE513D406167A43</key>
+			<iv>B1A7DABF3D2384BF8754B829659B3989</iv>
+			<input>2311A52CEC4A16B5F4FCA613BC0BDB83</input>
+			<output>357F4BF62308CD5C48F34E9E644DD515</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 98</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>22080857A43C9A0B22165D4A625BAF56</key>
+			<iv>72BF477FE8CF428CFA856323E18B3135</iv>
+			<input>357F4BF62308CD5C48F34E9E644DD515</input>
+			<output>17758539D1896B92BFB811D30C9BA134</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 99</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>357D8D6E75B5F1999DAE4C996EC00E62</key>
+			<iv>4CBA048DFA50910EC94FE5D6AA5DD502</iv>
+			<input>17758539D1896B92BFB811D30C9BA134</input>
+			<output>372B6DCEE44D18D3791C4E8FB0A91971</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 100</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>0256E0A091F8E94AE4B20216DE691713</key>
+			<iv>86F4F670CA3B191B860D6C8A9A35A872</iv>
+			<input>372B6DCEE44D18D3791C4E8FB0A91971</input>
+			<output>66D3FABC4885C1F4897D9160C152D570</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 101</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>64851A1CD97D28BE6DCF93761F3BC263</key>
+			<iv>08490B2E8588FE564F0112D76D6108E9</iv>
+			<input>66D3FABC4885C1F4897D9160C152D570</input>
+			<output>926278E71894F32B5E2A5A1F5FA695E7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 102</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>F6E762FBC1E9DB9533E5C969409D5784</key>
+			<iv>D3A2E4AFFDD8A7CC1498EF0E812087B7</iv>
+			<input>926278E71894F32B5E2A5A1F5FA695E7</input>
+			<output>A455F5D65D91563D9C15E6B745F29531</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 103</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>52B2972D9C788DA8AFF02FDE056FC2B5</key>
+			<iv>6CB8822EA67C247A6A0CBAD830B3562C</iv>
+			<input>A455F5D65D91563D9C15E6B745F29531</input>
+			<output>4544371A5E3A8E7AD9885AECD3868AF3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 104</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>17F6A037C24203D276787532D6E94846</key>
+			<iv>93E3CAD8BE023F6451ADAA525988A974</iv>
+			<input>4544371A5E3A8E7AD9885AECD3868AF3</input>
+			<output>8473F4F1D77AC1F46706EBD108CB48A5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 105</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>938554C61538C226117E9EE3DE2200E3</key>
+			<iv>A7E7B354606EF4C1D00BF4F128CCE966</iv>
+			<input>8473F4F1D77AC1F46706EBD108CB48A5</input>
+			<output>787ADE453DCE2FA7F6F24CD33C9A5CDC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 106</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>EBFF8A8328F6ED81E78CD230E2B85C3F</key>
+			<iv>97A2CF706C1871B502D15B028C5F0D80</iv>
+			<input>787ADE453DCE2FA7F6F24CD33C9A5CDC</input>
+			<output>E6A7E5B65DC124FBE1C1FFFE18A34D8A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 107</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>0D586F357537C97A064D2DCEFA1B11B5</key>
+			<iv>9BBDCAF2A3CC7FC5BF6285631A4636FD</iv>
+			<input>E6A7E5B65DC124FBE1C1FFFE18A34D8A</input>
+			<output>6A391E9F475546720836312BBEB0B3A9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 108</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>676171AA32628F080E7B1CE544ABA21C</key>
+			<iv>603EEDE91F925A2228537E8BDD26C96B</iv>
+			<input>6A391E9F475546720836312BBEB0B3A9</input>
+			<output>D75086BA446563AAB1873FDEBE611D67</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 109</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>B031F7107607ECA2BFFC233BFACABF7B</key>
+			<iv>546B8CA37AACE2BC2C85014F2ACD6315</iv>
+			<input>D75086BA446563AAB1873FDEBE611D67</input>
+			<output>63A4D826625CBD9F10083E62330BCFBC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 110</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D3952F36145B513DAFF41D59C9C170C7</key>
+			<iv>BC2E6E9DD10152C8281B798F711A9334</iv>
+			<input>63A4D826625CBD9F10083E62330BCFBC</input>
+			<output>41275EFDFC86B5BDCCCDCA2BBFA5B90D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 111</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>92B271CBE8DDE4806339D7727664C9CA</key>
+			<iv>D940A8D1B3448AA9148C7F6DFC266B00</iv>
+			<input>41275EFDFC86B5BDCCCDCA2BBFA5B90D</input>
+			<output>56AC1BCB285044710D26EFC42A0ABA56</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 112</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>C41E6A00C08DA0F16E1F38B65C6E739C</key>
+			<iv>214238FF5F4D01F3A6694EC80E15BCF7</iv>
+			<input>56AC1BCB285044710D26EFC42A0ABA56</input>
+			<output>5AF2877973AB9787E42202AC0C6E7538</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 113</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9EECED79B32637768A3D3A1A500006A4</key>
+			<iv>561B4934904E327F3B3639CED6C7A995</iv>
+			<input>5AF2877973AB9787E42202AC0C6E7538</input>
+			<output>787F52F6D9CD9085D782B95FD68F70F8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 114</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>E693BF8F6AEBA7F35DBF8345868F765C</key>
+			<iv>06B93FB1A99BD387A091509B8C6D3482</iv>
+			<input>787F52F6D9CD9085D782B95FD68F70F8</input>
+			<output>E7B1DB917C92E488C6B02AC4C42AFD79</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 115</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>0122641E1679437B9B0FA98142A58B25</key>
+			<iv>1D57A61FED51218BD8C1357CE58F21EB</iv>
+			<input>E7B1DB917C92E488C6B02AC4C42AFD79</input>
+			<output>2FBAB770D511EACA849F654DE429DE84</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 116</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>2E98D36EC368A9B11F90CCCCA68C55A1</key>
+			<iv>CB311C43EC32D59941CEF81BB9CF4E57</iv>
+			<input>2FBAB770D511EACA849F654DE429DE84</input>
+			<output>A8FE17AEA961C2A450DD5EAABAA19613</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 117</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>8666C4C06A096B154F4D92661C2DC3B2</key>
+			<iv>B9D7B74D62DD89A01EE3093A5C2A0470</iv>
+			<input>A8FE17AEA961C2A450DD5EAABAA19613</input>
+			<output>D9E598A4DBAF82BDF9474BE13B997FF5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 118</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>5F835C64B1A6E9A8B60AD98727B4BC47</key>
+			<iv>6398D8A38C38A9B54DCF18C0D76758BA</iv>
+			<input>D9E598A4DBAF82BDF9474BE13B997FF5</input>
+			<output>291DB2BC325CD7A94032E7C1208921A5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 119</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>769EEED883FA3E01F6383E46073D9DE2</key>
+			<iv>4774C7E1BB97117BCA26A897B9302EFA</iv>
+			<input>291DB2BC325CD7A94032E7C1208921A5</input>
+			<output>DFC55866F85055F06E752E04AAC4C36A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 120</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>A95BB6BE7BAA6BF1984D1042ADF95E88</key>
+			<iv>BDA0616700CD2817FE4425F6F541E8C1</iv>
+			<input>DFC55866F85055F06E752E04AAC4C36A</input>
+			<output>7CACB3A88E7114F7737B05D0FB3AF7F3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 121</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D5F70516F5DB7F06EB36159256C3A97B</key>
+			<iv>1EF4836BD363B89EE73911B14EBE9262</iv>
+			<input>7CACB3A88E7114F7737B05D0FB3AF7F3</input>
+			<output>3282F1F6B3C04E325FB13E85D18CDBBC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 122</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>E775F4E0461B3134B4872B17874F72C7</key>
+			<iv>E35D47CEDBD30701A64FE504C6BC4199</iv>
+			<input>3282F1F6B3C04E325FB13E85D18CDBBC</input>
+			<output>BFB9748A3C825CDA3EA5D001F6AD305F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 123</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>58CC806A7A996DEE8A22FB1671E24298</key>
+			<iv>7A3676377E0B4F815B4B8C9A98DCAB4D</iv>
+			<input>BFB9748A3C825CDA3EA5D001F6AD305F</input>
+			<output>B33787380A4C3BD5B32EC335916F9229</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 124</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>EBFB075270D5563B390C3823E08DD0B1</key>
+			<iv>B3E40B27DBF6D985D4F57BD4D2899DC8</iv>
+			<input>B33787380A4C3BD5B32EC335916F9229</input>
+			<output>BCD5E40A3B4885ACA82BEC952BA8A973</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 125</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>572EE3584B9DD3979127D4B6CB2579C2</key>
+			<iv>897608FE3238F80CD24192CC64F4F695</iv>
+			<input>BCD5E40A3B4885ACA82BEC952BA8A973</input>
+			<output>793E22E0B01FFE63E89C84A0D0FE1216</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 126</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>2E10C1B8FB822DF479BB50161BDB6BD4</key>
+			<iv>D84401CF83566FEA8FB859C446C22632</iv>
+			<input>793E22E0B01FFE63E89C84A0D0FE1216</input>
+			<output>96858A96FEB19712B10A44FBF8E633D9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 127</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>B8954B2E0533BAE6C8B114EDE33D580D</key>
+			<iv>7210E127BFB706EF9CD24139C0927E01</iv>
+			<input>96858A96FEB19712B10A44FBF8E633D9</input>
+			<output>28A34CC75A215117331D6B88387E16F8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 128</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>903607E95F12EBF1FBAC7F65DB434EF5</key>
+			<iv>744B8DD281919F79FC529DA15AA0F18F</iv>
+			<input>28A34CC75A215117331D6B88387E16F8</input>
+			<output>43FE41DC9FFB88F93ADC43D41BA3E4B2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 129</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D3C84635C0E96308C1703CB1C0E0AA47</key>
+			<iv>5C7379A90F1E47F88C7424E8CD31E55D</iv>
+			<input>43FE41DC9FFB88F93ADC43D41BA3E4B2</input>
+			<output>66D6D0E84CEB8672D38DDE557CCCFFF6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 130</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>B51E96DD8C02E57A12FDE2E4BC2C55B1</key>
+			<iv>529B92CD068415627C4BE49874347F98</iv>
+			<input>66D6D0E84CEB8672D38DDE557CCCFFF6</input>
+			<output>F817D013CB041CA41B6D611ED261FAE9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 131</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>4D0946CE4706F9DE099083FA6E4DAF58</key>
+			<iv>9B4452DD48C3EECEFDB6A6CFAE670117</iv>
+			<input>F817D013CB041CA41B6D611ED261FAE9</input>
+			<output>56420C70CC459A131CD531EDC39ED6E9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 132</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>1B4B4ABE8B4363CD1545B217ADD379B1</key>
+			<iv>264ABBC30CC98DA3C06B935B1364A317</iv>
+			<input>56420C70CC459A131CD531EDC39ED6E9</input>
+			<output>650DA8C4CB11E4ABFE8841D20443BB04</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 133</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>7E46E27A40528766EBCDF3C5A990C2B5</key>
+			<iv>DBABF7B18568FED50C69DA0C9AA5395D</iv>
+			<input>650DA8C4CB11E4ABFE8841D20443BB04</input>
+			<output>94E6CE02AE253F3BE4A59775CAB7B11B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 134</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>EAA02C78EE77B85D0F6864B0632773AE</key>
+			<iv>F0D2E456CE063CB68988C1C397038480</iv>
+			<input>94E6CE02AE253F3BE4A59775CAB7B11B</input>
+			<output>124F09DAC6A45E6077DCECE971B24ED1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 135</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>F8EF25A228D3E63D78B4885912953D7F</key>
+			<iv>C19A6D2D35E606E552580B002023C966</iv>
+			<input>124F09DAC6A45E6077DCECE971B24ED1</input>
+			<output>AAD649FD1168DFCB431A7216571ED4C1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 136</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>52396C5F39BB39F63BAEFA4F458BE9BE</key>
+			<iv>DF1A307B1D25BC2751ECDC791EC51B16</iv>
+			<input>AAD649FD1168DFCB431A7216571ED4C1</input>
+			<output>992749C940CBBB0944F5248E8D65268C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 137</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>CB1E2596797082FF7F5BDEC1C8EECF32</key>
+			<iv>D8B0466FC4344C6BF4E57584E5F48A36</iv>
+			<input>992749C940CBBB0944F5248E8D65268C</input>
+			<output>FF16B9246C325A3B96250875A9D5C4BE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 138</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>34089CB21542D8C4E97ED6B4613B0B8C</key>
+			<iv>B8C3E4ECF57631CE1EEA74AD99545BA2</iv>
+			<input>FF16B9246C325A3B96250875A9D5C4BE</input>
+			<output>72EDB906165FE6A19E02435AC6457C9A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 139</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>46E525B4031D3E65777C95EEA77E7716</key>
+			<iv>9C4F78D05257C64D752C576B5BB16245</iv>
+			<input>72EDB906165FE6A19E02435AC6457C9A</input>
+			<output>0C2F00362B8733D343DCAF884A6BFD46</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 140</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>4ACA2582289A0DB634A03A66ED158A50</key>
+			<iv>C51122198D2FD566ACA1BD07C28BCC7A</iv>
+			<input>0C2F00362B8733D343DCAF884A6BFD46</input>
+			<output>C7F5C00F42695CF7870240DA73D487F7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 141</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>8D3FE58D6AF35141B3A27ABC9EC10DA7</key>
+			<iv>14769B7962371925822C42F0411BDC65</iv>
+			<input>C7F5C00F42695CF7870240DA73D487F7</input>
+			<output>F4BC8A4310A4CD2F396F43B81BD060EB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 142</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>79836FCE7A579C6E8ACD390485116D4C</key>
+			<iv>CDA4414DF23427B937D586C1A8164479</iv>
+			<input>F4BC8A4310A4CD2F396F43B81BD060EB</input>
+			<output>1B996A525174C35466103BCBD53ECB9C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 143</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>621A059C2B235F3AECDD02CF502FA6D0</key>
+			<iv>1DA9E7C02BE868E118E4B9BF5928BFCF</iv>
+			<input>1B996A525174C35466103BCBD53ECB9C</input>
+			<output>2B4EC5CB9DE50257B5901C6D49B5EB54</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 144</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>4954C057B6C65D6D594D1EA2199A4D84</key>
+			<iv>55433149AA93215BF53CB8FE66CD683A</iv>
+			<input>2B4EC5CB9DE50257B5901C6D49B5EB54</input>
+			<output>5A5B9ACA3BDA951DC4C4DFB7DD15AD18</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 145</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>130F5A9D8D1CC8709D89C115C48FE09C</key>
+			<iv>695C69EA8C4257D2758364AFF6387DA0</iv>
+			<input>5A5B9ACA3BDA951DC4C4DFB7DD15AD18</input>
+			<output>5BB08593BA52E94F07CB14FF564AF299</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 146</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>48BFDF0E374E213F9A42D5EA92C51205</key>
+			<iv>665463164601CD0045C684729CDD5E7D</iv>
+			<input>5BB08593BA52E94F07CB14FF564AF299</input>
+			<output>DB1840467889551150026A90E3FC272F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 147</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>93A79F484FC7742ECA40BF7A7139352A</key>
+			<iv>355C4B87A682712460C80ABA630F7BE8</iv>
+			<input>DB1840467889551150026A90E3FC272F</input>
+			<output>9F7BD8EF96A1ECC75B4E3031E65FE8FC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 148</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>0CDC47A7D96698E9910E8F4B9766DDD6</key>
+			<iv>FBF20FEC0A9E9B530DD3745955A1960C</iv>
+			<input>9F7BD8EF96A1ECC75B4E3031E65FE8FC</input>
+			<output>DCF003E1DDD4B52F5B680568B42EEECF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 149</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D02C444604B22DC6CA668A2323483319</key>
+			<iv>04EADC638E309466B9500B1C3A308856</iv>
+			<input>DCF003E1DDD4B52F5B680568B42EEECF</input>
+			<output>DDD2F2AEFEF4A4641747699170DF0129</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 150</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>0DFEB6E8FA4689A2DD21E3B253973230</key>
+			<iv>FB521123E5BB45F1AC7083C382B95E10</iv>
+			<input>DDD2F2AEFEF4A4641747699170DF0129</input>
+			<output>7D6C54E4369E965513DE1E95E8A37433</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 151</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>7092E20CCCD81FF7CEFFFD27BB344603</key>
+			<iv>0E71300101915AEE97563493B4B2EFB9</iv>
+			<input>7D6C54E4369E965513DE1E95E8A37433</input>
+			<output>B7F5C4275EF7D3A23E8E9A4BC2BCA700</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 152</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>C767262B922FCC55F071676C7988E103</key>
+			<iv>8BBC970D4E24F6F1A92859BBAE70B757</iv>
+			<input>B7F5C4275EF7D3A23E8E9A4BC2BCA700</input>
+			<output>679FA9A8AB3EE2F0663D4DC95FEC3847</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 153</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>A0F88F8339112EA5964C2AA52664D944</key>
+			<iv>B8D28B6903859465F996A0DF491DDAAA</iv>
+			<input>679FA9A8AB3EE2F0663D4DC95FEC3847</input>
+			<output>914DCEAC5B00940A415C2144DAA1EF03</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 154</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>31B5412F6211BAAFD7100BE1FCC53647</key>
+			<iv>06E1FF99E63E0EDDA1D95682B541D026</iv>
+			<input>914DCEAC5B00940A415C2144DAA1EF03</input>
+			<output>A718031A531395DA071B828A10A2B9DC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 155</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>96AD423531022F75D00B896BEC678F9B</key>
+			<iv>F18546028693CC0A72E218460AC932E9</iv>
+			<input>A718031A531395DA071B828A10A2B9DC</input>
+			<output>19D996B9FF549029D800CF977C0E0A88</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 156</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>8F74D48CCE56BF5C080B46FC90698513</key>
+			<iv>7E98DAFA8DE35537A0B0AA8FA32E01DF</iv>
+			<input>19D996B9FF549029D800CF977C0E0A88</input>
+			<output>6A7D514FBE9963987E0EE5DD22FDC8BD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 157</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>E50985C370CFDCC47605A321B2944DAE</key>
+			<iv>071F44277D12AD6E653FB747C11BEFB7</iv>
+			<input>6A7D514FBE9963987E0EE5DD22FDC8BD</input>
+			<output>AB07C464DF72DF58411A7CBF906F43A6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 158</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>4E0E41A7AFBD039C371FDF9E22FB0E08</key>
+			<iv>BDA8979A0DE78999AE0659D2744BC21B</iv>
+			<input>AB07C464DF72DF58411A7CBF906F43A6</input>
+			<output>A8ABC34FF51FD998427A7837BB0F22BB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 159</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>E6A582E85AA2DA047565A7A999F42CB3</key>
+			<iv>3CA763C4375A6C70F072B52C42A02560</iv>
+			<input>A8ABC34FF51FD998427A7837BB0F22BB</input>
+			<output>9E82A41AB2A2748695663075C5BF1C09</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 160</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>782726F2E800AE82E00397DC5C4B30BA</key>
+			<iv>B1DD4DC8715CA0B8BA3426395B61ABA4</iv>
+			<input>9E82A41AB2A2748695663075C5BF1C09</input>
+			<output>3C891AEFC6645F3C23A2E3A2E1A522EF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 161</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>44AE3C1D2E64F1BEC3A1747EBDEE1255</key>
+			<iv>932F28E3FC0F85A0E703AD6079A68CC0</iv>
+			<input>3C891AEFC6645F3C23A2E3A2E1A522EF</input>
+			<output>D4FDD9C3D36E80E0AFA95ABEC2E62FB9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 162</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9053E5DEFD0A715E6C082EC07F083DEC</key>
+			<iv>1AD1530DE6274BBA3A097004D85DF8FA</iv>
+			<input>D4FDD9C3D36E80E0AFA95ABEC2E62FB9</input>
+			<output>9FACBB106FBF34D9B25A83AD4F45AA38</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 163</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>0FFF5ECE92B54587DE52AD6D304D97D4</key>
+			<iv>8412EAA361AB8193AD529FA36944FE3D</iv>
+			<input>9FACBB106FBF34D9B25A83AD4F45AA38</input>
+			<output>E95628B6A14326AC153B228C0DD25063</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 164</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>E6A9767833F6632BCB698FE13D9FC7B7</key>
+			<iv>9F1D906FD25CCCA7565D82CDA44B4A57</iv>
+			<input>E95628B6A14326AC153B228C0DD25063</input>
+			<output>7B1ECD07E452D593D00E326F8FD9F2B5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 165</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9DB7BB7FD7A4B6B81B67BD8EB2463502</key>
+			<iv>9C91B12734A86451492400EE5759C190</iv>
+			<input>7B1ECD07E452D593D00E326F8FD9F2B5</input>
+			<output>A99874C1ECA463D335B37179348AEF4F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 166</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>342FCFBE3B00D56B2ED4CCF786CCDA4D</key>
+			<iv>9060C6E8E2B51E5F1000860ECB5A608C</iv>
+			<input>A99874C1ECA463D335B37179348AEF4F</input>
+			<output>F9296E658C3048C58FE6404AB6E0186C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 167</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>CD06A1DBB7309DAEA1328CBD302CC221</key>
+			<iv>ADCB427405EDF8078622AFC6C731D3EF</iv>
+			<input>F9296E658C3048C58FE6404AB6E0186C</input>
+			<output>8D3A4ABFB8F57AEBB1284B78BFDD240D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 168</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>403CEB640FC5E745101AC7C58FF1E62C</key>
+			<iv>4CED30477756892A49FE6358700F5DE7</iv>
+			<input>8D3A4ABFB8F57AEBB1284B78BFDD240D</input>
+			<output>7C71310D5241B8B461847FA7E2B4D506</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 169</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>3C4DDA695D845FF1719EB8626D45332A</key>
+			<iv>52A3B8E21588368AA3AD2131B283B34C</iv>
+			<input>7C71310D5241B8B461847FA7E2B4D506</input>
+			<output>380A1E2925FC8061FBC69B08B4C7C6C8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 170</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>0447C4407878DF908A58236AD982F5E2</key>
+			<iv>B7AD265DF50ABD77C1D1D02BAF06CEBD</iv>
+			<input>380A1E2925FC8061FBC69B08B4C7C6C8</input>
+			<output>6931E262570F27732A75629A384492CA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 171</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>6D7626222F77F8E3A02D41F0E1C66728</key>
+			<iv>DD7D3CA7F6CE54775836734B10685A99</iv>
+			<input>6931E262570F27732A75629A384492CA</input>
+			<output>336D0AB3F9A793469C544E98CFDC8AD6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 172</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>5E1B2C91D6D06BA53C790F682E1AEDFE</key>
+			<iv>54087C05437049FBAFC9BF6C56AD16CC</iv>
+			<input>336D0AB3F9A793469C544E98CFDC8AD6</input>
+			<output>0098A640F1D04E5557F748B80215082A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 173</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>5E838AD1270025F06B8E47D02C0FE5D4</key>
+			<iv>DD13A93C7FAEF14820D6A168AF9969DB</iv>
+			<input>0098A640F1D04E5557F748B80215082A</input>
+			<output>48660EDDC3ACAC1A814AE088650DE007</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 174</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>16E5840CE4AC89EAEAC4A758490205D3</key>
+			<iv>589C43A680F7AE6E15DE25FD50F18BED</iv>
+			<input>48660EDDC3ACAC1A814AE088650DE007</input>
+			<output>047740C48160A14563C0049316C7B78E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 175</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>1292C4C865CC28AF8904A3CB5FC5B25D</key>
+			<iv>22DB095AF8268D37AC536FDA3A81B7C2</iv>
+			<input>047740C48160A14563C0049316C7B78E</input>
+			<output>D9679ABB1AED1524E8DA2ECA89172853</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 176</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>CBF55E737F213D8B61DE8D01D6D29A0E</key>
+			<iv>77FDCCC9BAB3B7E81D7B9D14540ED3A7</iv>
+			<input>D9679ABB1AED1524E8DA2ECA89172853</input>
+			<output>C774AD9EF683A59747AB41DA044471C4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 177</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>0C81F3ED89A2981C2675CCDBD296EBCA</key>
+			<iv>2E266970512C0F6D404367978C70B5C6</iv>
+			<input>C774AD9EF683A59747AB41DA044471C4</input>
+			<output>927C98AFDE6F108268A306A1A818EE89</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 178</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9EFD6B4257CD889E4ED6CA7A7A8E0543</key>
+			<iv>E2B0A0F146E931136932D8188B7DC980</iv>
+			<input>927C98AFDE6F108268A306A1A818EE89</input>
+			<output>D3C11AF1EF255D65EAAEE5B5C5BF3CD9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 179</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>4D3C71B3B8E8D5FBA4782FCFBF31399A</key>
+			<iv>ABA118A590A8A69D41D20ED13F7DA4C9</iv>
+			<input>D3C11AF1EF255D65EAAEE5B5C5BF3CD9</input>
+			<output>760B1C47EB476A246CE41163B7425C7B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 180</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>3B376DF453AFBFDFC89C3EAC087365E1</key>
+			<iv>8A395FFEE93FF820FBC086932216324F</iv>
+			<input>760B1C47EB476A246CE41163B7425C7B</input>
+			<output>4EEAE25D1654A461D6A56896EDFFEAB7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 181</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>75DD8FA945FB1BBE1E39563AE58C8F56</key>
+			<iv>82D68DE458D38127E2A17DA736BC1651</iv>
+			<input>4EEAE25D1654A461D6A56896EDFFEAB7</input>
+			<output>BD7ABD27F3515B9FD337ADADBA5E9EC9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 182</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>C8A7328EB6AA4021CD0EFB975FD2119F</key>
+			<iv>95757C38F4CB26C29DF174FD8B1F35E8</iv>
+			<input>BD7ABD27F3515B9FD337ADADBA5E9EC9</input>
+			<output>E32EF56DE91CC21C158822BDB841A02C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 183</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>2B89C7E35FB6823DD886D92AE793B1B3</key>
+			<iv>AFFB434005E300E99E815A8E5B46E159</iv>
+			<input>E32EF56DE91CC21C158822BDB841A02C</input>
+			<output>578B7692D68BD4D65A159C9CCDC81F64</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 184</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>7C02B171893D56EB829345B62A5BAED7</key>
+			<iv>15E783551969F275EF25A429F68BA0DB</iv>
+			<input>578B7692D68BD4D65A159C9CCDC81F64</input>
+			<output>0F70D77F31DE8F0010628377C8E4A1C3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 185</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>7372660EB8E3D9EB92F1C6C1E2BF0F14</key>
+			<iv>078B6E3FC7C79D52A5C49847A7C5D0BB</iv>
+			<input>0F70D77F31DE8F0010628377C8E4A1C3</input>
+			<output>A4F29F6A50A4A15789D4647774C96997</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 186</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D780F964E84778BC1B25A2B696766683</key>
+			<iv>C9B2C903F131856C0D8218146479513A</iv>
+			<input>A4F29F6A50A4A15789D4647774C96997</input>
+			<output>7AD4F764911F8F1E8C9356F00B1468EE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 187</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>AD540E007958F7A297B6F4469D620E6D</key>
+			<iv>780DAD9DBA12DDC713ECF44057B8B56E</iv>
+			<input>7AD4F764911F8F1E8C9356F00B1468EE</input>
+			<output>A00EAFD28A95C7F39137773F28F9A0D3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 188</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>0D5AA1D2F3CD305106818379B59BAEBE</key>
+			<iv>6643BF26488FB21BCDAA7D4FABAA5BC3</iv>
+			<input>A00EAFD28A95C7F39137773F28F9A0D3</input>
+			<output>FC884EEEB73B2F66C97D742A441B0463</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 189</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>F1D2EF3C44F61F37CFFCF753F180AADD</key>
+			<iv>7B707442550BF1FA4C1B74F0DC3237FC</iv>
+			<input>FC884EEEB73B2F66C97D742A441B0463</input>
+			<output>9C260AA82C6902B068495B4844507F7D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 190</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>6DF4E594689F1D87A7B5AC1BB5D0D5A0</key>
+			<iv>8329E8DE2980225DA61158BF467B1D79</iv>
+			<input>9C260AA82C6902B068495B4844507F7D</input>
+			<output>1C12FEAA35AD2DD21DE6411C3A3BB6D5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 191</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>71E61B3E5D323055BA53ED078FEB6375</key>
+			<iv>EFD514D7CF3FAC49DBB5BB3505B9B18F</iv>
+			<input>1C12FEAA35AD2DD21DE6411C3A3BB6D5</input>
+			<output>15F26D34E8E1037A5A2393CEA5DB396B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 192</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>6414760AB5D3332FE0707EC92A305A1E</key>
+			<iv>9EFC37C295552B965B29A23AC2788D8B</iv>
+			<input>15F26D34E8E1037A5A2393CEA5DB396B</input>
+			<output>76F0C79955566A0A091AA46E0C59455E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 193</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>12E4B193E0855925E96ADAA726691F40</key>
+			<iv>5BA54E33128A7526A9130E632BE00D65</iv>
+			<input>76F0C79955566A0A091AA46E0C59455E</input>
+			<output>1EA06231EBEEB995E2F94B88A4004333</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 194</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>0C44D3A20B6BE0B00B93912F82695C73</key>
+			<iv>9B1C6FA42510E530D2282BF8C5516DCE</iv>
+			<input>1EA06231EBEEB995E2F94B88A4004333</input>
+			<output>16C36348884B32AC1CB1DE2D3C158981</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 195</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>1A87B0EA8320D21C17224F02BE7CD5F2</key>
+			<iv>F755F641EED4C828DCBECC327D93F4AF</iv>
+			<input>16C36348884B32AC1CB1DE2D3C158981</input>
+			<output>6581A3FB5F61C6C1904F35E787BF552D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 196</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>7F061311DC4114DD876D7AE539C380DF</key>
+			<iv>5D799F356C1672707716C47DA4384C01</iv>
+			<input>6581A3FB5F61C6C1904F35E787BF552D</input>
+			<output>0BA11F8EE845E03641928825B3344994</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 197</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>74A70C9F3404F4EBC6FFF2C08AF7C94B</key>
+			<iv>89A5592031795CEAECF1C1F274813818</iv>
+			<input>0BA11F8EE845E03641928825B3344994</input>
+			<output>1CF907A6C8A33C7806819EB97B854588</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 198</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>685E0B39FCA7C893C07E6C79F1728CC3</key>
+			<iv>BBE87558AF456066B9CE3EBB8729D554</iv>
+			<input>1CF907A6C8A33C7806819EB97B854588</input>
+			<output>722BB2E53CE7846F40B5EA18AF1430B0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 199</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>1A75B9DCC0404CFC80CB86615E66BC73</key>
+			<iv>2CC42E6DA36883482ACB5D9D92823186</iv>
+			<input>722BB2E53CE7846F40B5EA18AF1430B0</input>
+			<output>E667D6A95E9C56BB56E4436CC1B69874</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 200</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>FC126F759EDC1A47D62FC50D9FD02407</key>
+			<iv>F18DD0388BF5692B7394BAFDC4854308</iv>
+			<input>E667D6A95E9C56BB56E4436CC1B69874</input>
+			<output>3C9A76798C468470EEBC5F7B915879A3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 201</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>C088190C129A9E3738939A760E885DA4</key>
+			<iv>8262D8603FE0F4AE8BF5795690992F1C</iv>
+			<input>3C9A76798C468470EEBC5F7B915879A3</input>
+			<output>3CAFB994BDEF76370D8A5129B63BECDB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 202</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>FC27A098AF75E8003519CB5FB8B3B17F</key>
+			<iv>AB090F7A86CFD9A7C1BD8869BBB4D27B</iv>
+			<input>3CAFB994BDEF76370D8A5129B63BECDB</input>
+			<output>50D037733D2C3242024BD322ADDF01CB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 203</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>ACF797EB9259DA423752187D156CB0B4</key>
+			<iv>3581D6724722C3892C712B2AA1066824</iv>
+			<input>50D037733D2C3242024BD322ADDF01CB</input>
+			<output>0D7CB755305EF09692FCED530CCC1336</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 204</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>A18B20BEA2072AD4A5AEF52E19A0A382</key>
+			<iv>9D0DAD6448895ECBE05F8DC73E014E3C</iv>
+			<input>0D7CB755305EF09692FCED530CCC1336</input>
+			<output>D66389E01F44C60B26BCF3F9B39DAB55</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 205</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>77E8A95EBD43ECDF831206D7AA3D08D7</key>
+			<iv>7BDC3CD62CD79C7E6CB8FAE104175DE4</iv>
+			<input>D66389E01F44C60B26BCF3F9B39DAB55</input>
+			<output>CC9F59409D636BE5C555AC2841650CD7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 206</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>BB77F01E2020873A4647AAFFEB580400</key>
+			<iv>A4FBE42983B236097E40C1E244B14748</iv>
+			<input>CC9F59409D636BE5C555AC2841650CD7</input>
+			<output>34804672FCEF79481269B1D254DDCAF9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 207</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>8FF7B66CDCCFFE72542E1B2DBF85CEF9</key>
+			<iv>700B37E771E88E5DCD9C81D6FD16B995</iv>
+			<input>34804672FCEF79481269B1D254DDCAF9</input>
+			<output>62FC00FDF1F6BF44FFBEB5BED5589A64</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 208</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>ED0BB6912D394136AB90AE936ADD549D</key>
+			<iv>F3A9954079382ACD97C3EC198522AE69</iv>
+			<input>62FC00FDF1F6BF44FFBEB5BED5589A64</input>
+			<output>F7901904A02544E064400A2625121C4C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 209</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>1A9BAF958D1C05D6CFD0A4B54FCF48D1</key>
+			<iv>3799F5DEF76C56F8B0A69889B85760AA</iv>
+			<input>F7901904A02544E064400A2625121C4C</input>
+			<output>A915D55AE8E14497F2693A55F83041F5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 210</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>B38E7ACF65FD41413DB99EE0B7FF0924</key>
+			<iv>5421F3F4CDD3C6F9BF38184BC61904AA</iv>
+			<input>A915D55AE8E14497F2693A55F83041F5</input>
+			<output>66EA0D0968631F3BDA46921078E495C1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 211</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D56477C60D9E5E7AE7FF0CF0CF1B9CE5</key>
+			<iv>3B87243EE38BD474E4CBF34A7C592CFC</iv>
+			<input>66EA0D0968631F3BDA46921078E495C1</input>
+			<output>283826367D00718849A6539EE8CAD8BF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 212</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>FD5C51F0709E2FF2AE595F6E27D1445A</key>
+			<iv>0FB53077D2BC27C544CD400A28212291</iv>
+			<input>283826367D00718849A6539EE8CAD8BF</input>
+			<output>B15EA2718FB406D457C8B96530EDC014</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 213</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>4C02F381FF2A2926F991E60B173C844E</key>
+			<iv>8BFE654E422E9BCCE7F1357053E1130C</iv>
+			<input>B15EA2718FB406D457C8B96530EDC014</input>
+			<output>44238CE0F1765C7983BF408D5ECFA2BA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 214</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>08217F610E5C755F7A2EA68649F326F4</key>
+			<iv>86841D597FA91F54CBAD3C57FC1FC492</iv>
+			<input>44238CE0F1765C7983BF408D5ECFA2BA</input>
+			<output>BB6408099CA64F1216D204865449E967</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 215</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>B345776892FA3A4D6CFCA2001DBACF93</key>
+			<iv>849198CEA19F4AD76013D172867A0D20</iv>
+			<input>BB6408099CA64F1216D204865449E967</input>
+			<output>B7E109C6813E686ADA396DDB277AD960</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 216</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>04A47EAE13C45227B6C5CFDB3AC016F3</key>
+			<iv>9C5E0182124701DA958CF68E1B9F8CC1</iv>
+			<input>B7E109C6813E686ADA396DDB277AD960</input>
+			<output>65C77CB822CA10AE1F95B91F0A3F6436</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 217</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>61630216310E4289A95076C430FF72C5</key>
+			<iv>2BB9026F793A64A325E02B922E3A51DD</iv>
+			<input>65C77CB822CA10AE1F95B91F0A3F6436</input>
+			<output>48E9DB9FC3F883AD28A0299561444197</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 218</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>298AD989F2F6C12481F05F5151BB3352</key>
+			<iv>6BE0B03639C858D8F2CAE00EFE8FECCA</iv>
+			<input>48E9DB9FC3F883AD28A0299561444197</input>
+			<output>02B277AB327BCB5C91831BD376DC5211</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 219</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>2B38AE22C08D0A781073448227676143</key>
+			<iv>ADC033E3EEC3705031D2FB24205823A2</iv>
+			<input>02B277AB327BCB5C91831BD376DC5211</input>
+			<output>FE288D6703CF6AB1635483305A82F192</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 220</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D5102345C34260C97327C7B27DE590D1</key>
+			<iv>F637C38CB5DF86458225143E157B9415</iv>
+			<input>FE288D6703CF6AB1635483305A82F192</input>
+			<output>B07BF02F795D13D972D5D6E556E8BA37</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 221</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>656BD36ABA1F731001F211572B0D2AE6</key>
+			<iv>824B7BBB3A339BF045C3CFEA9FD842B9</iv>
+			<input>B07BF02F795D13D972D5D6E556E8BA37</input>
+			<output>D4661C2E102C6644724DA54BE291215D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 222</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>B10DCF44AA33155473BFB41CC99C0BBB</key>
+			<iv>21FA242B2B9FFF0C7DC6B712A38A333B</iv>
+			<input>D4661C2E102C6644724DA54BE291215D</input>
+			<output>F7EDEE448559A6ACD68815B6EEAF6E38</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 223</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>46E021002F6AB3F8A537A1AA27336583</key>
+			<iv>390906ECE51C92800D620E1CD1FD3574</iv>
+			<input>F7EDEE448559A6ACD68815B6EEAF6E38</input>
+			<output>07257C91424F65E6752470A6960DF6D9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 224</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>41C55D916D25D61ED013D10CB13E935A</key>
+			<iv>918A010EC2B106DE32A220315999DF7D</iv>
+			<input>07257C91424F65E6752470A6960DF6D9</input>
+			<output>CCB4F3FCFFDEE9E93DD3AB4CC2DB870E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 225</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>8D71AE6D92FB3FF7EDC07A4073E51454</key>
+			<iv>7CF6B4948C4E04ED235F2CC96B0A6B49</iv>
+			<input>CCB4F3FCFFDEE9E93DD3AB4CC2DB870E</input>
+			<output>C455220E8C8847FF2592074A53104105</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 226</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>49248C631E737808C8527D0A20F55551</key>
+			<iv>4839E74C868786D0A109603CF98F1100</iv>
+			<input>C455220E8C8847FF2592074A53104105</input>
+			<output>B4D0F5B4C15D7AD556ED4964A94C898F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 227</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>FDF479D7DF2E02DD9EBF346E89B9DCDE</key>
+			<iv>5C6D9649E47FAA8A2DCAFB317B6BC0EA</iv>
+			<input>B4D0F5B4C15D7AD556ED4964A94C898F</input>
+			<output>B515D2904555793DDC142618DCFF8464</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 228</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>48E1AB479A7B7BE042AB1276554658BA</key>
+			<iv>E3573B4137C13BBA6CDD10D71042B8F6</iv>
+			<input>B515D2904555793DDC142618DCFF8464</input>
+			<output>2C272D6589E2E6EE09067882795E9FB9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 229</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>64C6862213999D0E4BAD6AF42C18C703</key>
+			<iv>08E335104FC5D18E2C11EF34B805F060</iv>
+			<input>2C272D6589E2E6EE09067882795E9FB9</input>
+			<output>B38E39322245C4A2E170EBF36D764AD5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 230</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D748BF1031DC59ACAADD8107416E8DD6</key>
+			<iv>E134D0DEA38A23983766DA18DADA70E0</iv>
+			<input>B38E39322245C4A2E170EBF36D764AD5</input>
+			<output>E7556255602B48D7CAC710A004FFFD2E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 231</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>301DDD4551F7117B601A91A7459170F8</key>
+			<iv>301C2808833418F45D5F97FB09A99504</iv>
+			<input>E7556255602B48D7CAC710A004FFFD2E</input>
+			<output>D4356D51B1C486AAC8BCF2F65312758C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 232</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>E428B014E03397D1A8A6635116830574</key>
+			<iv>264D556FA9A9D73510F562BBF983A4F7</iv>
+			<input>D4356D51B1C486AAC8BCF2F65312758C</input>
+			<output>B4D003D6C542B576A3EAEC8F1B017F5B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 233</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>50F8B3C2257122A70B4C8FDE0D827A2F</key>
+			<iv>8821647AD3E9E529909E60D0F75DA400</iv>
+			<input>B4D003D6C542B576A3EAEC8F1B017F5B</input>
+			<output>10056819F314FF21114BE6209AB5508C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 234</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>40FDDBDBD665DD861A0769FE97372AA3</key>
+			<iv>CBD574F4DB1EFEE4E2EC9485D1192E04</iv>
+			<input>10056819F314FF21114BE6209AB5508C</input>
+			<output>6E7AA061FE85B6F8972CB0E793BE0CB0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 235</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>2E877BBA28E06B7E8D2BD91904892613</key>
+			<iv>4F98EE1501681EC0E7834FE941DF6C6B</iv>
+			<input>6E7AA061FE85B6F8972CB0E793BE0CB0</input>
+			<output>45E0C0014219D77686E82E74E60608CA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 236</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>6B67BBBB6AF9BC080BC3F76DE28F2ED9</key>
+			<iv>1D34CAB2FF836A7E6568823784519170</iv>
+			<input>45E0C0014219D77686E82E74E60608CA</input>
+			<output>ACF686F9D6723EAFDBFE512AB3A8C6B1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 237</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>C7913D42BC8B82A7D03DA6475127E868</key>
+			<iv>BEA74B4435F9F79D39B8CCE1F090D4B8</iv>
+			<input>ACF686F9D6723EAFDBFE512AB3A8C6B1</input>
+			<output>F11FE34D158D40DEA10033BCE0253F30</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 238</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>368EDE0FA906C279713D95FBB102D758</key>
+			<iv>DF30EE5D8CA298BE630DDE4B6D8AD7AA</iv>
+			<input>F11FE34D158D40DEA10033BCE0253F30</input>
+			<output>4E970ACAB8B19C942C85FAA7825C5E67</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 239</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>7819D4C511B75EED5DB86F5C335E893F</key>
+			<iv>DC3CCC928C02710EE91391032A3B557D</iv>
+			<input>4E970ACAB8B19C942C85FAA7825C5E67</input>
+			<output>0FF6C292507CF135036E04A391210466</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 240</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>77EF165741CBAFD85ED66BFFA27F8D59</key>
+			<iv>7CC57A486E05E36F852278450C03D39F</iv>
+			<input>0FF6C292507CF135036E04A391210466</input>
+			<output>BBEF94C8179E7A124492A252507D58E7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 241</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>CC00829F5655D5CA1A44C9ADF202D5BE</key>
+			<iv>BBB92F65197F8D6B388191E78E90A858</iv>
+			<input>BBEF94C8179E7A124492A252507D58E7</input>
+			<output>BAF11150DD418ED7C28072A718815954</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 242</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>76F193CF8B145B1DD8C4BB0AEA838CEA</key>
+			<iv>99DA5A29F934BE23EB74B6DE4E8CC740</iv>
+			<input>BAF11150DD418ED7C28072A718815954</input>
+			<output>A935099B91A35655C850939D2FED1569</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 243</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>DFC49A541AB70D4810942897C56E9983</key>
+			<iv>92401B7E92A49FA5A6905E51E49D51C2</iv>
+			<input>A935099B91A35655C850939D2FED1569</input>
+			<output>F60E1B5D10CDA17FC762798B86B8708D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 244</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>29CA81090A7AAC37D7F6511C43D6E90E</key>
+			<iv>C2A57521674EB0FB3E46DE2CC1DCF419</iv>
+			<input>F60E1B5D10CDA17FC762798B86B8708D</input>
+			<output>0B976079B61F46E7F3CCCD17E23D872F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 245</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>225DE170BC65EAD0243A9C0BA1EB6E21</key>
+			<iv>66970AE807FED1E3581496C9FBE5FF50</iv>
+			<input>0B976079B61F46E7F3CCCD17E23D872F</input>
+			<output>FB44F0094A5FC03BD0A27391E58D0AA3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 246</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D9191179F63A2AEBF498EF9A44666482</key>
+			<iv>ED7B2ED1AFF7DB9B514D6E4DFAEA484B</iv>
+			<input>FB44F0094A5FC03BD0A27391E58D0AA3</input>
+			<output>41A534A69AD25FEB39BB9F754F15D8FE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 247</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>98BC25DF6CE87500CD2370EF0B73BC7C</key>
+			<iv>B7E8C7F08BCE1CF1CC2568E18C18C92B</iv>
+			<input>41A534A69AD25FEB39BB9F754F15D8FE</input>
+			<output>022B28D4F7355E14F99F654B6C35BC16</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 248</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9A970D0B9BDD2B1434BC15A46746006A</key>
+			<iv>F2EF32464FC7E5F3D397C259CB963B7F</iv>
+			<input>022B28D4F7355E14F99F654B6C35BC16</input>
+			<output>28F18EA03ADEB36C40FD8FBC590EC6C8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 249</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>B26683ABA103987874419A183E48C6A2</key>
+			<iv>687E822CCFC5800E88E59ED7DEC1409D</iv>
+			<input>28F18EA03ADEB36C40FD8FBC590EC6C8</input>
+			<output>661F9AEA300100333D64FCDD1212C663</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 250</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D47919419102984B492566C52C5A00C1</key>
+			<iv>3922BB08EE1B4CC75881D1D6F66B8EE0</iv>
+			<input>661F9AEA300100333D64FCDD1212C663</input>
+			<output>11C4D360F585EDF544D5479AE1ABDBE6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 251</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>C5BDCA21648775BE0DF0215FCDF1DB27</key>
+			<iv>9B7C0D7D0EA8CAD77B331F2E0CA1E639</iv>
+			<input>11C4D360F585EDF544D5479AE1ABDBE6</input>
+			<output>2E4695733B01CC78993E6EB464784223</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 252</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>EBFB5F525F86B9C694CE4FEBA9899904</key>
+			<iv>A2BF273F12FE1F4B2F56A86CAFD9C5BF</iv>
+			<input>2E4695733B01CC78993E6EB464784223</input>
+			<output>1CC514E9F4B13FFEF3B076DAC8C62877</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 253</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>F73E4BBBAB378638677E3931614FB173</key>
+			<iv>1D4960EBE667AC5DE5ED767183838846</iv>
+			<input>1CC514E9F4B13FFEF3B076DAC8C62877</input>
+			<output>3B1A7D179DDED66A37F3053B8B231EEA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 254</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>CC2436AC36E95052508D3C0AEA6CAF99</key>
+			<iv>974643FDFDB695A44B7EF8676A2B87DD</iv>
+			<input>3B1A7D179DDED66A37F3053B8B231EEA</input>
+			<output>620A4E7A25E8D05779C0FB8CEBA55A74</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 255</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>AE2E78D613018005294DC78601C9F5ED</key>
+			<iv>C9A1D92DB7D553DCAEB3BB81B489257A</iv>
+			<input>620A4E7A25E8D05779C0FB8CEBA55A74</input>
+			<output>93508503278ECECE65D67B5F50962C4E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 256</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>3D7EFDD5348F4ECB4C9BBCD9515FD9A3</key>
+			<iv>108E736F1DCD178A8648F6AA6D527732</iv>
+			<input>93508503278ECECE65D67B5F50962C4E</input>
+			<output>EA9E953D8B62FFAFF9FAFB97F614D65C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 257</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D7E068E8BFEDB164B561474EA74B0FFF</key>
+			<iv>B893A94302C0DAFB19D7B6656085DCA9</iv>
+			<input>EA9E953D8B62FFAFF9FAFB97F614D65C</input>
+			<output>1452ED26E774029EF30D272F8548C2F8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 258</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>C3B285CE5899B3FA466C60612203CD07</key>
+			<iv>668FF6719E5A29A99876227EEDE5818F</iv>
+			<input>1452ED26E774029EF30D272F8548C2F8</input>
+			<output>4083167E5ED1A1A449C1825B84F321E1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 259</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>833193B00648125E0FADE23AA6F0ECE6</key>
+			<iv>9F6375A022543AB8303368A235813F02</iv>
+			<input>4083167E5ED1A1A449C1825B84F321E1</input>
+			<output>9206639D076685FD2078F9B984B7A03F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 260</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>1137F02D012E97A32FD51B8322474CD9</key>
+			<iv>1B95128E90B110AED9D543D2A996271F</iv>
+			<input>9206639D076685FD2078F9B984B7A03F</input>
+			<output>AAA3F2BD0126DFD5007DD2835CCB0109</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 261</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>BB940290000848762FA8C9007E8C4DD0</key>
+			<iv>BB2E26A9CDEF9D1B2940EFFBA1971A5D</iv>
+			<input>AAA3F2BD0126DFD5007DD2835CCB0109</input>
+			<output>B58BB3761519C1726D75AE96313FB7DE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 262</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>0E1FB1E61511890442DD67964FB3FA0E</key>
+			<iv>68D3EC37EE43E3F24072F69F2DFA768D</iv>
+			<input>B58BB3761519C1726D75AE96313FB7DE</input>
+			<output>4558CD47C012B7293396D7EDFE3CEA85</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 263</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>4B477CA1D5033E2D714BB07BB18F108B</key>
+			<iv>F7E107DBF4DDBF7974B699536A4E2803</iv>
+			<input>4558CD47C012B7293396D7EDFE3CEA85</input>
+			<output>6F43B6B28AEF5DD1B66279ACAAB9A589</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 264</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>2404CA135FEC63FCC729C9D71B36B502</key>
+			<iv>B3E6DA8DE5DDF7ED6F832D1306A1C04A</iv>
+			<input>6F43B6B28AEF5DD1B66279ACAAB9A589</input>
+			<output>1BA743E148BC164C4C8324D665B5A3BD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 265</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>3FA389F2175075B08BAAED017E8316BF</key>
+			<iv>8BBBB56B39893C8F286561EF6E47E66A</iv>
+			<input>1BA743E148BC164C4C8324D665B5A3BD</input>
+			<output>49A40365092DD1360D916AAEAFD03FC1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 266</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>76078A971E7DA486863B87AFD153297E</key>
+			<iv>48BA08703A306F772E78F660173A26B3</iv>
+			<input>49A40365092DD1360D916AAEAFD03FC1</input>
+			<output>DF7DEB5968D683AAA274B0D5D3F9AA03</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 267</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>A97A61CE76AB272C244F377A02AA837D</key>
+			<iv>0C7832F9CDF65DADA7FA809B8DE709C3</iv>
+			<input>DF7DEB5968D683AAA274B0D5D3F9AA03</input>
+			<output>69689E97E9B166DA53E25BDFBCAF4A97</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 268</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>C012FF599F1A41F677AD6CA5BE05C9EA</key>
+			<iv>05BC03F59CD8C5FAE4A7240E6168CF41</iv>
+			<input>69689E97E9B166DA53E25BDFBCAF4A97</input>
+			<output>5F87DC71EF2918F75A94E43007FF50E6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 269</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9F952328703359012D398895B9FA990C</key>
+			<iv>4233E654802B55155E158B650B64718E</iv>
+			<input>5F87DC71EF2918F75A94E43007FF50E6</input>
+			<output>4F170790775A6A147E99D251C401969A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 270</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D08224B80769331553A05AC47DFB0F96</key>
+			<iv>4AEAE53003D5085F5963CC36C4589941</iv>
+			<input>4F170790775A6A147E99D251C401969A</input>
+			<output>E566D46360EF38E5CFF0C2E7E7E0D679</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 271</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>35E4F0DB67860BF09C5098239A1BD9EF</key>
+			<iv>F6CBFF51F6E59B7AAA9EB1261707429A</iv>
+			<input>E566D46360EF38E5CFF0C2E7E7E0D679</input>
+			<output>F7189C4B9E1048ED66D9B7CCD089C5F9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 272</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>C2FC6C90F996431DFA892FEF4A921C16</key>
+			<iv>0A05A4BFBBCC8B3E218C123A95FFF475</iv>
+			<input>F7189C4B9E1048ED66D9B7CCD089C5F9</input>
+			<output>68FB0909789DBFA672BEEF5DF0017B63</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 273</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>AA076599810BFCBB8837C0B2BA936775</key>
+			<iv>DF1A3AF147E72C2CEAE5D8713D52F572</iv>
+			<input>68FB0909789DBFA672BEEF5DF0017B63</input>
+			<output>AF2784590089186BED3A48ADC1B68562</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 274</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>0520E1C08182E4D0650D881F7B25E217</key>
+			<iv>BFDC5ECF596F5F3CFFEAAF4B961209FA</iv>
+			<input>AF2784590089186BED3A48ADC1B68562</input>
+			<output>E8C29D3C129AB8FA797EFDCE4CE4D4F2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 275</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>EDE27CFC93185C2A1C7375D137C136E5</key>
+			<iv>49195E71516D5117C26814F98FD94C31</iv>
+			<input>E8C29D3C129AB8FA797EFDCE4CE4D4F2</input>
+			<output>6ACF2AE12C38DB520F49E6C90D4B8F03</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 276</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>872D561DBF208778133A93183A8AB9E6</key>
+			<iv>E4FA7788D6E7AFBD08884BFCFA74D30C</iv>
+			<input>6ACF2AE12C38DB520F49E6C90D4B8F03</input>
+			<output>78FEA3B57D6176C44CE753FB01416CA6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 277</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>FFD3F5A8C241F1BC5FDDC0E33BCBD540</key>
+			<iv>08E333F43615229D95E7C425A04EA2B7</iv>
+			<input>78FEA3B57D6176C44CE753FB01416CA6</input>
+			<output>5030D7131ABBD7AC323BA31B602B776E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 278</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>AFE322BBD8FA26106DE663F85BE0A22E</key>
+			<iv>64BDE35106D9A66A4216EA20F6C52D06</iv>
+			<input>5030D7131ABBD7AC323BA31B602B776E</input>
+			<output>14B32E8BD3BD9D82613E32536E6A9F91</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 279</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>BB500C300B47BB920CD851AB358A3DBF</key>
+			<iv>8FB9E6BDCD50610E97CF731216CFE698</iv>
+			<input>14B32E8BD3BD9D82613E32536E6A9F91</input>
+			<output>1F22542AFCE63AA92CCDAF45F8DAEEF0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 280</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>A472581AF7A1813B2015FEEECD50D34F</key>
+			<iv>E18B3C5EDA8CDA9E94A376CEEF687D9F</iv>
+			<input>1F22542AFCE63AA92CCDAF45F8DAEEF0</input>
+			<output>FC986510E3ED40994D1C33201D0EDB27</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 281</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>58EA3D0A144CC1A26D09CDCED05E0868</key>
+			<iv>D1828C9DDB263064AD259A2360B3DFBA</iv>
+			<input>FC986510E3ED40994D1C33201D0EDB27</input>
+			<output>06C1CE557C9AC5D40560CF2D40DCC47C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 282</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>5E2BF35F68D60476686902E39082CC14</key>
+			<iv>3454FD0698CC8CD949970509C23E50F6</iv>
+			<input>06C1CE557C9AC5D40560CF2D40DCC47C</input>
+			<output>4287FA420FD9AFCAB7E290273BDF4054</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 283</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>1CAC091D670FABBCDF8B92C4AB5D8C40</key>
+			<iv>C2F0C044A975ADBD20DE56858A074886</iv>
+			<input>4287FA420FD9AFCAB7E290273BDF4054</input>
+			<output>447AFDD3ACF0DEEB0385799789FBAFF0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 284</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>58D6F4CECBFF7557DC0EEB5322A623B0</key>
+			<iv>299C337821B0779A7ADC3A04316A6373</iv>
+			<input>447AFDD3ACF0DEEB0385799789FBAFF0</input>
+			<output>BA0BBC980827E87EEA51E66C92C96B31</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 285</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>E2DD4856C3D89D29365F0D3FB06F4881</key>
+			<iv>2368291AD179C3C143E636898EB3E104</iv>
+			<input>BA0BBC980827E87EEA51E66C92C96B31</input>
+			<output>77A6131415B251049423FFFB1F3A8A3A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 286</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>957B5B42D66ACC2DA27CF2C4AF55C2BB</key>
+			<iv>14300EA81B57E102AEDD97CCD466E18A</iv>
+			<input>77A6131415B251049423FFFB1F3A8A3A</input>
+			<output>A7AEC0CC599D56347A72D934DDAC7899</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 287</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>32D59B8E8FF79A19D80E2BF072F9BA22</key>
+			<iv>FD62415C90DACCD22EC364877DB0CB24</iv>
+			<input>A7AEC0CC599D56347A72D934DDAC7899</input>
+			<output>1B1100FCB9F85D8CCFDEC5865083B44D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 288</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>29C49B72360FC79517D0EE76227A0E6F</key>
+			<iv>6CB24892D26E43E63819C372D5EB4F6D</iv>
+			<input>1B1100FCB9F85D8CCFDEC5865083B44D</input>
+			<output>33E9BBD018604F301C2543878FCCCA5C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 289</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>1A2D20A22E6F88A50BF5ADF1ADB6C433</key>
+			<iv>50D84A03998B897D1AE217FEA9A955C4</iv>
+			<input>33E9BBD018604F301C2543878FCCCA5C</input>
+			<output>07163D652DB035C091830042D6047DF3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 290</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>1D3B1DC703DFBD659A76ADB37BB2B9C0</key>
+			<iv>092DF26C855F07690836203E3E1790D0</iv>
+			<input>07163D652DB035C091830042D6047DF3</input>
+			<output>AD6647AF8EFCD4F3B2ECDB4D6FFFC1EB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 291</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>B05D5A688D236996289A76FE144D782B</key>
+			<iv>68634C941957E3F58F71BE37D7C5C78B</iv>
+			<input>AD6647AF8EFCD4F3B2ECDB4D6FFFC1EB</input>
+			<output>D2B51122154D10F67D2C07BD75D5E8E2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 292</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>62E84B4A986E796055B67143619890C9</key>
+			<iv>3C85044F6438FAA021BB7985A63A959D</iv>
+			<input>D2B51122154D10F67D2C07BD75D5E8E2</input>
+			<output>4131E9296FECD2DF35EDFBF0CBD0E54B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 293</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>23D9A263F782ABBF605B8AB3AA487582</key>
+			<iv>46D47F3F12B6ADD5580CE8CE7C7359CD</iv>
+			<input>4131E9296FECD2DF35EDFBF0CBD0E54B</input>
+			<output>5AEA3E73A6EC0D9D683A3526AC1C0E58</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 294</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>79339C10516EA6220861BF9506547BDA</key>
+			<iv>D3C58B190FDA0838C770C2185C553D97</iv>
+			<input>5AEA3E73A6EC0D9D683A3526AC1C0E58</input>
+			<output>A21B17CB4588C30CAD6DF25A5E83E273</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 295</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>DB288BDB14E6652EA50C4DCF58D799A9</key>
+			<iv>870E7F0E3109712E84C58BEC0E7032F6</iv>
+			<input>A21B17CB4588C30CAD6DF25A5E83E273</input>
+			<output>0021FF3BB8336E607B8DE10117005230</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 296</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>DB0974E0ACD50B4EDE81ACCE4FD7CB99</key>
+			<iv>2FC82B298A60FC40DA3EFD4E800DB063</iv>
+			<input>0021FF3BB8336E607B8DE10117005230</input>
+			<output>2EFA32680ECD84891B447393F7C1AC88</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 297</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>F5F34688A2188FC7C5C5DF5DB8166711</key>
+			<iv>E1B86C9FC466B72BE40F65973FC41FC4</iv>
+			<input>2EFA32680ECD84891B447393F7C1AC88</input>
+			<output>722117C1EE83FBA840EFEE86A930579F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 298</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>87D251494C9B746F852A31DB1126308E</key>
+			<iv>48E347A705B6E322153BFE567931346F</iv>
+			<input>722117C1EE83FBA840EFEE86A930579F</input>
+			<output>A684344231EC4C03726A0DC20EADA36D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 299</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>2156650B7D77386CF7403C191F8B93E3</key>
+			<iv>4CD618E5F959FC4C66602263F6C5C652</iv>
+			<input>A684344231EC4C03726A0DC20EADA36D</input>
+			<output>F40BFBEAC1C1BD1621FBAE1B605BD092</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 300</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D55D9EE1BCB6857AD6BB92027FD04371</key>
+			<iv>5A41E8952E6B1C551C4691DE9C0A4B6D</iv>
+			<input>F40BFBEAC1C1BD1621FBAE1B605BD092</input>
+			<output>6ECDBFB3947C7E81C7BD4BE93B603728</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 301</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>BB90215228CAFBFB1106D9EB44B07459</key>
+			<iv>52E2726B0855F993E1075077B3AB1E77</iv>
+			<input>6ECDBFB3947C7E81C7BD4BE93B603728</input>
+			<output>71E051375A3B974FE523DA47862E24AE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 302</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>CA70706572F16CB4F42503ACC29E50F7</key>
+			<iv>76B6637161FBE4760FCE90E9868B441A</iv>
+			<input>71E051375A3B974FE523DA47862E24AE</input>
+			<output>CC6CFBCF9A62A3AE55F6B040673B25B3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 303</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>061C8BAAE893CF1AA1D3B3ECA5A57544</key>
+			<iv>5563B0C2350A4ED76EE0C322480884FB</iv>
+			<input>CC6CFBCF9A62A3AE55F6B040673B25B3</input>
+			<output>DA71B26C4EE3FB1FD413FD0757B379E6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 304</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>DC6D39C6A670340575C04EEBF2160CA2</key>
+			<iv>45C1C5DAF8DE9170C01E554DD36C564E</iv>
+			<input>DA71B26C4EE3FB1FD413FD0757B379E6</input>
+			<output>BCD4BC394FFB46207EF0A8EC9883BD55</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 305</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>60B985FFE98B72250B30E6076A95B1F7</key>
+			<iv>38E5B69E6D82A760BFD65CBAACC56F8A</iv>
+			<input>BCD4BC394FFB46207EF0A8EC9883BD55</input>
+			<output>FD997E7A7B77E5DF637182399779AF75</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 306</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9D20FB8592FC97FA6841643EFDEC1E82</key>
+			<iv>8EB39B261910419E43B178DCD6803572</iv>
+			<input>FD997E7A7B77E5DF637182399779AF75</input>
+			<output>71749C51136457B604CD8B4C193928A8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 307</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>EC5467D48198C04C6C8CEF72E4D5362A</key>
+			<iv>6DFA447305215066A0B5671E5AB80951</iv>
+			<input>71749C51136457B604CD8B4C193928A8</input>
+			<output>DF48D76E54B4264304B0EC036DFDADDE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 308</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>331CB0BAD52CE60F683C037189289BF4</key>
+			<iv>8C2B316ECA96DB57322853E07BE47AB3</iv>
+			<input>DF48D76E54B4264304B0EC036DFDADDE</input>
+			<output>5E2BD374B9856C573A4DEBF1B8F453EC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 309</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>6D3763CE6CA98A585271E88031DCC818</key>
+			<iv>E541AC59CFDBEA97D1AE5221F849838E</iv>
+			<input>5E2BD374B9856C573A4DEBF1B8F453EC</input>
+			<output>D7F97B76A8D3076D343A22459EC4765D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 310</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>BACE18B8C47A8D35664BCAC5AF18BE45</key>
+			<iv>B359889A22B9502571E4817C47BC5348</iv>
+			<input>D7F97B76A8D3076D343A22459EC4765D</input>
+			<output>E24F05EEE812BD3389AC0AAC4172F5C6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 311</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>58811D562C683006EFE7C069EE6A4B83</key>
+			<iv>33F8D881A783051987103096B6C734C3</iv>
+			<input>E24F05EEE812BD3389AC0AAC4172F5C6</input>
+			<output>A2AB44CC9C41A8748201DA6F9429AB39</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 312</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>FA2A599AB02998726DE61A067A43E0BA</key>
+			<iv>2028704442AE252BCF1D081C5EE2D80B</iv>
+			<input>A2AB44CC9C41A8748201DA6F9429AB39</input>
+			<output>E8FA100D1D28186196BAF990A80109AA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 313</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>12D04997AD018013FB5CE396D242E910</key>
+			<iv>6384E3612062BC6850C94C3B14934A6F</iv>
+			<input>E8FA100D1D28186196BAF990A80109AA</input>
+			<output>683AEF47A8990E2F8AAD8813789069B1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 314</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>7AEAA6D005988E3C71F16B85AAD280A1</key>
+			<iv>12F78728F3B0EFAC7D304257E47ED5C8</iv>
+			<input>683AEF47A8990E2F8AAD8813789069B1</input>
+			<output>F3121C95A5BACDEAEFA87C4EE40B6C6D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 315</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>89F8BA45A02243D69E5917CB4ED9ECCC</key>
+			<iv>FE654BC69677E13383C4206BFB7896A6</iv>
+			<input>F3121C95A5BACDEAEFA87C4EE40B6C6D</input>
+			<output>AE9701378E128847A2669B516795D586</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 316</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>276FBB722E30CB913C3F8C9A294C394A</key>
+			<iv>E79D5C468BCBA36A79B74F32F28FA635</iv>
+			<input>AE9701378E128847A2669B516795D586</input>
+			<output>D97D988A40C5B323794F160FE8639262</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 317</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>FE1223F86EF578B245709A95C12FAB28</key>
+			<iv>4F3055450C627AD4712E042666AC0812</iv>
+			<input>D97D988A40C5B323794F160FE8639262</input>
+			<output>32381BA55D5C0C91D683D57593772496</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 318</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>CC2A385D33A9742393F34FE052588FBE</key>
+			<iv>172165B468B83B62B41A2B4310461193</iv>
+			<input>32381BA55D5C0C91D683D57593772496</input>
+			<output>4D555F31A60F1007B96FBB458B06A619</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 319</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>817F676C95A664242A9CF4A5D95E29A7</key>
+			<iv>5D5EEBEA67DCD5F7851619F1BAA6414E</iv>
+			<input>4D555F31A60F1007B96FBB458B06A619</input>
+			<output>23D1AC0F18C20FCE7E5CC4619F8376D5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 320</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>A2AECB638D646BEA54C030C446DD5F72</key>
+			<iv>54154B82B5820D5892DABD15B403345D</iv>
+			<input>23D1AC0F18C20FCE7E5CC4619F8376D5</input>
+			<output>2E55905A38F818CC04D8A792D2007332</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 321</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>8CFB5B39B59C73265018975694DD2C40</key>
+			<iv>AC47D7619A587DC8213B749918FCFEA8</iv>
+			<input>2E55905A38F818CC04D8A792D2007332</input>
+			<output>010F3396885F8F6BF15170B8E6D221BD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 322</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>8DF468AF3DC3FC4DA149E7EE720F0DFD</key>
+			<iv>6CE249D2E89C61ACD029AA3C122427D1</iv>
+			<input>010F3396885F8F6BF15170B8E6D221BD</input>
+			<output>4DB3972D9851B8A4B3150A43210D36F0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 323</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>C047FF82A59244E9125CEDAD53023B0D</key>
+			<iv>07A578889914E113C1C4DE01DC4B1DE4</iv>
+			<input>4DB3972D9851B8A4B3150A43210D36F0</input>
+			<output>84F64CFFD705E82704FF3DA4FC074B34</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 324</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>44B1B37D7297ACCE16A3D009AF057039</key>
+			<iv>CE73ADCD7BCF1807C084276EDD765256</iv>
+			<input>84F64CFFD705E82704FF3DA4FC074B34</input>
+			<output>5964DF8E8D656846EE574635787F7B18</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 325</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>1DD56CF3FFF2C488F8F4963CD77A0B21</key>
+			<iv>679903574013011E62CC5798B9633607</iv>
+			<input>5964DF8E8D656846EE574635787F7B18</input>
+			<output>E28E7E3AA93802BEEFE258F38F5D2E5C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 326</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>FF5B12C956CAC6361716CECF5827257D</key>
+			<iv>678D8583A022C60BCE2C227627A548B2</iv>
+			<input>E28E7E3AA93802BEEFE258F38F5D2E5C</input>
+			<output>D297684A7C50765C413BFA37B5E1E256</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 327</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>2DCC7A832A9AB06A562D34F8EDC6C72B</key>
+			<iv>4EF9AACC21733B65B4DD0B1F105D4037</iv>
+			<input>D297684A7C50765C413BFA37B5E1E256</input>
+			<output>9EF5F9A2B14B090A201DE74E4CF714C8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 328</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>B33983219BD1B9607630D3B6A131D3E3</key>
+			<iv>5CC41FCC9EC19619BA06D10BBC6E1F5F</iv>
+			<input>9EF5F9A2B14B090A201DE74E4CF714C8</input>
+			<output>81EF000CF6CA737E0F449927E66F6392</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 329</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>32D6832D6D1BCA1E79744A91475EB071</key>
+			<iv>6DE60CE2986CF80C5D588FA1F9A8C3A0</iv>
+			<input>81EF000CF6CA737E0F449927E66F6392</input>
+			<output>3BE177EE9F8F7BE3BCE0FAA70C0A5025</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 330</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>0937F4C3F294B1FDC594B0364B54E054</key>
+			<iv>BE2F86A52BEED4497790D6134CF0D64E</iv>
+			<input>3BE177EE9F8F7BE3BCE0FAA70C0A5025</input>
+			<output>DD313134DB126529F349808B3E766795</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 331</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D406C5F72986D4D436DD30BD752287C1</key>
+			<iv>A89E52478FDEF91AF151097CED84579C</iv>
+			<input>DD313134DB126529F349808B3E766795</input>
+			<output>330203EA36484C8E091F00CD2255E599</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 332</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>E704C61D1FCE985A3FC2307057776258</key>
+			<iv>1AEF7BA63A3E3B6D2EB8EB1980D3E581</iv>
+			<input>330203EA36484C8E091F00CD2255E599</input>
+			<output>E28A47CDB7DB0351006C1D9FB227FCEF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 333</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>058E81D0A8159B0B3FAE2DEFE5509EB7</key>
+			<iv>F67C7FCF8C5AA1574A165D8CBE694BF4</iv>
+			<input>E28A47CDB7DB0351006C1D9FB227FCEF</input>
+			<output>ACF869797690853BE142BB7BAC735FC8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 334</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>A976E8A9DE851E30DEEC96944923C17F</key>
+			<iv>636F181C4735E700897928BFC60A43EB</iv>
+			<input>ACF869797690853BE142BB7BAC735FC8</input>
+			<output>60FF9BF36809DAEB94F823FC6458B26A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 335</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>C989735AB68CC4DB4A14B5682D7B7315</key>
+			<iv>0829C0EE6B170C490C7A73401761CEAA</iv>
+			<input>60FF9BF36809DAEB94F823FC6458B26A</input>
+			<output>17630CBEAB904F7996301515F24A1F27</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 336</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>DEEA7FE41D1C8BA2DC24A07DDF316C32</key>
+			<iv>A4E0624D86F1098D2DD4D0408897ACED</iv>
+			<input>17630CBEAB904F7996301515F24A1F27</input>
+			<output>A1E35C3E2FA1B1DB11DB96E7DD58AB37</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 337</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>7F0923DA32BD3A79CDFF369A0269C705</key>
+			<iv>D3639A296FF168ED773785CFCACD1015</iv>
+			<input>A1E35C3E2FA1B1DB11DB96E7DD58AB37</input>
+			<output>14F5408460708A69A22A2023B01969CE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 338</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>6BFC635E52CDB0106FD516B9B270AECB</key>
+			<iv>37CD0428A0C08CC6AABAAA05D8830557</iv>
+			<input>14F5408460708A69A22A2023B01969CE</input>
+			<output>516991CA6530D20AB121394F51288880</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 339</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>3A95F29437FD621ADEF42FF6E358264B</key>
+			<iv>FB52F5A95F2E3665D44F0AEACB88B108</iv>
+			<input>516991CA6530D20AB121394F51288880</input>
+			<output>FB0C32B66729736F8E5EC8C92D80FDC5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 340</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>C199C02250D4117550AAE73FCED8DB8E</key>
+			<iv>403B43C740215D94E8FBAE22846D3B0A</iv>
+			<input>FB0C32B66729736F8E5EC8C92D80FDC5</input>
+			<output>C243054D022E7E9EFC21F965C71D63EB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 341</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>03DAC56F52FA6FEBAC8B1E5A09C5B865</key>
+			<iv>663796B211E7F6E05B4A107B16A904B0</iv>
+			<input>C243054D022E7E9EFC21F965C71D63EB</input>
+			<output>6CA56F6792355B2A7A60A4467A85F71E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 342</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>6F7FAA08C0CF34C1D6EBBA1C73404F7B</key>
+			<iv>A23B73DF1477EC98202135164C6EF1AB</iv>
+			<input>6CA56F6792355B2A7A60A4467A85F71E</input>
+			<output>BC590C8B427B013F873B2F5F8D66D5D1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 343</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D326A68382B435FE51D09543FE269AAA</key>
+			<iv>E84DF462C62D594AAD94C33C446E18FC</iv>
+			<input>BC590C8B427B013F873B2F5F8D66D5D1</input>
+			<output>D37CAA9BEA300FF6219349DBA25DA0A6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 344</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>005A0C1868843A087043DC985C7B3A0C</key>
+			<iv>9AAD322884EBE93D0FA084E144600174</iv>
+			<input>D37CAA9BEA300FF6219349DBA25DA0A6</input>
+			<output>AE50C328AFFC39A103C767C1FD337449</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 345</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>AE0ACF30C77803A97384BB59A1484E45</key>
+			<iv>9CEE91362FB0D50ABCEB58EF49EC3614</iv>
+			<input>AE50C328AFFC39A103C767C1FD337449</input>
+			<output>882939453C6E156CD023B468EDD16C95</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 346</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>2623F675FB1616C5A3A70F314C9922D0</key>
+			<iv>5626126CC424BF26D92C822442E4221E</iv>
+			<input>882939453C6E156CD023B468EDD16C95</input>
+			<output>B9A97FE0DEF66604F6CE928AAB532EC2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 347</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9F8A899525E070C155699DBBE7CA0C12</key>
+			<iv>E5BB374C14E36FD0C2D5F9191C967EC7</iv>
+			<input>B9A97FE0DEF66604F6CE928AAB532EC2</input>
+			<output>6ED0FF2FE8DA900A33AE20F7C1C2E457</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 348</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>F15A76BACD3AE0CB66C7BD4C2608E845</key>
+			<iv>4493B9F0FF63D392273302B6932C8F77</iv>
+			<input>6ED0FF2FE8DA900A33AE20F7C1C2E457</input>
+			<output>B7583A56BED55067A520B4F5E5C1528F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 349</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>46024CEC73EFB0ACC3E709B9C3C9BACA</key>
+			<iv>12E2BFD3EAB69E5132E3CDF8BAFBD45E</iv>
+			<input>B7583A56BED55067A520B4F5E5C1528F</input>
+			<output>28874485575E292B0C83E1B568019BF0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 350</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>6E85086924B19987CF64E80CABC8213A</key>
+			<iv>3CEFDC726C919CA265CD6C28A05DE542</iv>
+			<input>28874485575E292B0C83E1B568019BF0</input>
+			<output>A35D16BBB96BF3F9E06D96EDA9BB44BB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 351</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>CDD81ED29DDA6A7E2F097EE102736581</key>
+			<iv>4AE79901700F018D1E5D95A9FAD762F2</iv>
+			<input>A35D16BBB96BF3F9E06D96EDA9BB44BB</input>
+			<output>367E6880D369D482E7E64CFCD1BCC870</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 352</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>FBA676524EB3BEFCC8EF321DD3CFADF1</key>
+			<iv>52EEDB058A8E1FE7C651D484F86F941F</iv>
+			<input>367E6880D369D482E7E64CFCD1BCC870</input>
+			<output>32B33E97C94953392A738A964DB121FC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 353</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>C91548C587FAEDC5E29CB88B9E7E8C0D</key>
+			<iv>B3704291187E9D55901DD237EC1E2F24</iv>
+			<input>32B33E97C94953392A738A964DB121FC</input>
+			<output>965A9A0C0287AB8535436E95CC9BFB99</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 354</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>5F4FD2C9857D4640D7DFD61E52E57794</key>
+			<iv>B3878FC256FA4F9ED0BA05FF51C0CE2A</iv>
+			<input>965A9A0C0287AB8535436E95CC9BFB99</input>
+			<output>367A5C93099ACF72353DAC320A3B766E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 355</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>69358E5A8CE78932E2E27A2C58DE01FA</key>
+			<iv>774EA78AECAF5A1D7CC1785DE91CAB01</iv>
+			<input>367A5C93099ACF72353DAC320A3B766E</input>
+			<output>116EDEB1D0E6F8D1BB58AF648429B792</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 356</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>785B50EB5C0171E359BAD548DCF7B668</key>
+			<iv>FB1EC4218C5F733A54DEA7F753F45D68</iv>
+			<input>116EDEB1D0E6F8D1BB58AF648429B792</input>
+			<output>EF3C679822E3A906F380CD07EBE65F09</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 357</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>976737737EE2D8E5AA3A184F3711E961</key>
+			<iv>8BBE09AFE41C5A78EBA0524212AC570F</iv>
+			<input>EF3C679822E3A906F380CD07EBE65F09</input>
+			<output>291B066A30A3B11681D414A4BB5311D5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 358</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>BE7C31194E4169F32BEE0CEB8C42F8B4</key>
+			<iv>4E8F651C06778A964AA7D43999E41FD6</iv>
+			<input>291B066A30A3B11681D414A4BB5311D5</input>
+			<output>764F8FD22FE0BD98852F259EA6DC6F7C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 359</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>C833BECB61A1D46BAEC129752A9E97C8</key>
+			<iv>E90A35007EE7F001D1F5982BF2477C82</iv>
+			<input>764F8FD22FE0BD98852F259EA6DC6F7C</input>
+			<output>66016373A6B1A3797A1B2D2B19B73126</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 360</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>AE32DDB8C7107712D4DA045E3329A6EE</key>
+			<iv>46FF289808B1AF6B290CB5AF05747085</iv>
+			<input>66016373A6B1A3797A1B2D2B19B73126</input>
+			<output>3367064ECF5CA978001887DBDE40DE5A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 361</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9D55DBF6084CDE6AD4C28385ED6978B4</key>
+			<iv>9BAC8819E1CA613CFAA730FBC2034168</iv>
+			<input>3367064ECF5CA978001887DBDE40DE5A</input>
+			<output>5C4F01D47C9DA94DE95FC26763CC1146</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 362</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>C11ADA2274D177273D9D41E28EA569F2</key>
+			<iv>A5CE34A846E1D0A737963C49FAD6378E</iv>
+			<input>5C4F01D47C9DA94DE95FC26763CC1146</input>
+			<output>D41D854E42863F161E76A2397020C321</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 363</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>15075F6C3657483123EBE3DBFE85AAD3</key>
+			<iv>2CC823722DD3E8F15035875ED43513E2</iv>
+			<input>D41D854E42863F161E76A2397020C321</input>
+			<output>1C542DC0B54A053471AF583C909AB3C4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 364</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>095372AC831D4D055244BBE76E1F1917</key>
+			<iv>9799D03B6AD46BECD981279B35DF707C</iv>
+			<input>1C542DC0B54A053471AF583C909AB3C4</input>
+			<output>958D0254D7AFE1E678A9844DF4F4D18D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 365</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9CDE70F854B2ACE32AED3FAA9AEBC89A</key>
+			<iv>E0E401C7BA5E319F0D60AB765CBEE176</iv>
+			<input>958D0254D7AFE1E678A9844DF4F4D18D</input>
+			<output>C54888169B30587E732BD7213EE5B1A3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 366</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>5996F8EECF82F49D59C6E88BA40E7939</key>
+			<iv>711DA6521732E6868111DCC1C835F9DF</iv>
+			<input>C54888169B30587E732BD7213EE5B1A3</input>
+			<output>446F234FCADA809A8B2E167A86C9EB36</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 367</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>1DF9DBA105587407D2E8FEF122C7920F</key>
+			<iv>B7008BC907C546A56743C292185C2B02</iv>
+			<input>446F234FCADA809A8B2E167A86C9EB36</input>
+			<output>6AD93BC7E18B48810664CD1C528BA6C4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 368</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>7720E066E4D33C86D48C33ED704C34CB</key>
+			<iv>4D7DD98183E56F71D72DB76187FC5F95</iv>
+			<input>6AD93BC7E18B48810664CD1C528BA6C4</input>
+			<output>0D75BD2B8683FB819EB7F71E2E0836A7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 369</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>7A555D4D6250C7074A3BC4F35E44026C</key>
+			<iv>F4DCFB73BBE7EB5348D56F81BCBC0971</iv>
+			<input>0D75BD2B8683FB819EB7F71E2E0836A7</input>
+			<output>8CBE14862E93FE011A4F45518C7258FA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 370</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>F6EB49CB4CC33906507481A2D2365A96</key>
+			<iv>5432FBF1480AA398F09CA5AF375FA394</iv>
+			<input>8CBE14862E93FE011A4F45518C7258FA</input>
+			<output>4026D669905762F0790B6497646A2D4D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 371</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>B6CD9FA2DC945BF6297FE535B65C77DB</key>
+			<iv>CA462DC9F029A8311CA45A4116DADC1D</iv>
+			<input>4026D669905762F0790B6497646A2D4D</input>
+			<output>A8CD2E187CF274756E5736D420853435</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 372</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>1E00B1BAA0662F834728D3E196D943EE</key>
+			<iv>4FC9E7688352F4700C5F380BFD1F4FB2</iv>
+			<input>A8CD2E187CF274756E5736D420853435</input>
+			<output>A99410B60322340E279C87D3D26793AA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 373</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>B794A10CA3441B8D60B4543244BED044</key>
+			<iv>4D90B1A30EB7E957FAE3DC8C132F4F42</iv>
+			<input>A99410B60322340E279C87D3D26793AA</input>
+			<output>D136F990196C667EC35E3A0492C39968</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 374</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>66A2589CBA287DF3A3EA6E36D67D492C</key>
+			<iv>6FAD87F358F0C702C5E9E599093219ED</iv>
+			<input>D136F990196C667EC35E3A0492C39968</input>
+			<output>8CE49C1BAACAB69432DDA2FF4250C7B2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 375</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>EA46C48710E2CB679137CCC9942D8E9E</key>
+			<iv>2B6FF495B7E482360E31949C7C9B2E2B</iv>
+			<input>8CE49C1BAACAB69432DDA2FF4250C7B2</input>
+			<output>7942B80F57EA24FA200451B37899F9E2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 376</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>93047C884708EF9DB1339D7AECB4777C</key>
+			<iv>21FDC4C9B03A1A9A3F87FF9AAC80FAAE</iv>
+			<input>7942B80F57EA24FA200451B37899F9E2</input>
+			<output>DE156D56E199FDBB2600DBF9FC254003</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 377</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>4D1111DEA6911226973346831091377F</key>
+			<iv>387612E399C62916B394A9FC6BC0F059</iv>
+			<input>DE156D56E199FDBB2600DBF9FC254003</input>
+			<output>C302C494D910640271695324E64B0992</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 378</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>8E13D54A7F817624E65A15A7F6DA3EED</key>
+			<iv>34BCABDE4646BCC05CAF7E61CBF1F8D2</iv>
+			<input>C302C494D910640271695324E64B0992</input>
+			<output>110CE84E5B81867CE4FCCD1BBB5FD792</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 379</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9F1F3D042400F05802A6D8BC4D85E97F</key>
+			<iv>C7898DA9ABF2A3D364C228A83525B04F</iv>
+			<input>110CE84E5B81867CE4FCCD1BBB5FD792</input>
+			<output>7B94C0E4849AD65291F0F7BD464C544C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 380</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>E48BFDE0A09A260A93562F010BC9BD33</key>
+			<iv>00E079EEBC47AF3ED3796DBF4A2B55FC</iv>
+			<input>7B94C0E4849AD65291F0F7BD464C544C</input>
+			<output>D6518596BB53E44452393BD4440D805C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 381</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>32DA78761BC9C24EC16F14D54FC43D6F</key>
+			<iv>03E168F8AF2303593E0F936648D253DC</iv>
+			<input>D6518596BB53E44452393BD4440D805C</input>
+			<output>0C4B51FB33380BB215F29F3FCE7CA0DA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 382</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>3E91298D28F1C9FCD49D8BEA81B89DB5</key>
+			<iv>15E1ECD59BC092C974FA4738C66D9604</iv>
+			<input>0C4B51FB33380BB215F29F3FCE7CA0DA</input>
+			<output>3FC98D86A558B711807930AAA391C9BF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 383</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>0158A40B8DA97EED54E4BB402229540A</key>
+			<iv>303BD4A407015A9E899816E0FABF288D</iv>
+			<input>3FC98D86A558B711807930AAA391C9BF</input>
+			<output>85D77D90C312FE938F6C1983014BD572</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 384</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>848FD99B4EBB807EDB88A2C323628178</key>
+			<iv>E018FA96FD433CFD162E8E67D4F37015</iv>
+			<input>85D77D90C312FE938F6C1983014BD572</input>
+			<output>4F49C1740EA88B5767CE36C95158DD63</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 385</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>CBC618EF40130B29BC46940A723A5C1B</key>
+			<iv>84013D3E2AA0C77650644CD6862096A7</iv>
+			<input>4F49C1740EA88B5767CE36C95158DD63</input>
+			<output>E6F1409ABA890AC3A50FC4AAD82E1872</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 386</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>2D375875FA9A01EA194950A0AA144469</key>
+			<iv>8BFD137593BFF254414349F1147B9BFF</iv>
+			<input>E6F1409ABA890AC3A50FC4AAD82E1872</input>
+			<output>66F6E29696CFDC72EE905636614D2A72</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 387</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>4BC1BAE36C55DD98F7D90696CB596E1B</key>
+			<iv>8EC295602FB66C4A2DCA65F66B07E010</iv>
+			<input>66F6E29696CFDC72EE905636614D2A72</input>
+			<output>553B45792AE0625B357C4B68A4BB767F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 388</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>1EFAFF9A46B5BFC3C2A54DFE6FE21864</key>
+			<iv>5999E221475D06295451E52FF88F9F97</iv>
+			<input>553B45792AE0625B357C4B68A4BB767F</input>
+			<output>FAB6F53166BFDB89DF68D46D423C243E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 389</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>E44C0AAB200A644A1DCD99932DDE3C5A</key>
+			<iv>49D1944CBD7BE00C671B8E996F9A3EB9</iv>
+			<input>FAB6F53166BFDB89DF68D46D423C243E</input>
+			<output>308DDB3FE0415C46AE450C78FC5F2558</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 390</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D4C1D194C04B380CB38895EBD1811902</key>
+			<iv>9785FEE180794318514967B4199CFB93</iv>
+			<input>308DDB3FE0415C46AE450C78FC5F2558</input>
+			<output>6659969D1BD493A3851E75981BACCCB0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 391</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>B2984709DB9FABAF3696E073CA2DD5B2</key>
+			<iv>4FD1DAE14DB75AC0E6C94388805AC3B5</iv>
+			<input>6659969D1BD493A3851E75981BACCCB0</input>
+			<output>B56B950D84DCA131FD8A5E2601037B36</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 392</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>07F3D2045F430A9ECB1CBE55CB2EAE84</key>
+			<iv>3ED415E7DDDADD2DC7F0376E6CA42EFE</iv>
+			<input>B56B950D84DCA131FD8A5E2601037B36</input>
+			<output>8648F40FA13018563E6F1A799D9FCD91</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 393</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>81BB260BFE7312C8F573A42C56B16315</key>
+			<iv>FEAF76717C0905A601509BD68C6D08E5</iv>
+			<input>8648F40FA13018563E6F1A799D9FCD91</input>
+			<output>66DE6D7A74B36C7EE2737DA526F5C8CD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 394</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>E7654B718AC07EB61700D9897044ABD8</key>
+			<iv>2B808C340320DD64AB9278A9D9A3E247</iv>
+			<input>66DE6D7A74B36C7EE2737DA526F5C8CD</input>
+			<output>9BB0D29CDA21452F60B5897186F3FAFB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 395</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>7CD599ED50E13B9977B550F8F6B75123</key>
+			<iv>D2EB48117E2E9FB2058800DE1A442799</iv>
+			<input>9BB0D29CDA21452F60B5897186F3FAFB</input>
+			<output>489CDC3A2C1AE7510E03AE36D5EAB0E5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 396</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>344945D77CFBDCC879B6FECE235DE1C6</key>
+			<iv>427765E0671AA6D32634447687E9B209</iv>
+			<input>489CDC3A2C1AE7510E03AE36D5EAB0E5</input>
+			<output>1D65D0E1235AE47DBCC2C65B59892C4C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 397</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>292C95365FA138B5C57438957AD4CD8A</key>
+			<iv>D75E9F074D965FE902287B3BB1483315</iv>
+			<input>1D65D0E1235AE47DBCC2C65B59892C4C</input>
+			<output>E75B7AE5A8C3B93F15D0E3EBD04E1B4B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 398</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>CE77EFD3F762818AD0A4DB7EAA9AD6C1</key>
+			<iv>5455FD9A01E04E48CA777CF8185697ED</iv>
+			<input>E75B7AE5A8C3B93F15D0E3EBD04E1B4B</input>
+			<output>11F4A35F6C225A9DF1CA6BAF92E11B07</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 399</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>DF834C8C9B40DB17216EB0D1387BCDC6</key>
+			<iv>3C608F664492626B2208DC92E819411A</iv>
+			<input>11F4A35F6C225A9DF1CA6BAF92E11B07</input>
+			<output>9B8FB71E035CEFF9CBFA1346E5ACEFE0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tsymmetric/scripts/AESMonteCarloDecryptCBC192.txt	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,6802 @@
+<action>
+	<actionname>AES CBC MonteCarlo Dec 0</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<iv>00000000000000000000000000000000</iv>
+			<input>00000000000000000000000000000000</input>
+			<output>5DF678DD17BA4E75B61768C6ADEF7C7B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 1</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>8AB601AF30C47B225DF678DD17BA4E75B61768C6ADEF7C7B</key>
+			<iv>3B243F1A9BA094EE8AB601AF30C47B22</iv>
+			<input>5DF678DD17BA4E75B61768C6ADEF7C7B</input>
+			<output>F9604074F8FA45AC71959888DD056F9F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 2</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D443B8E25A882D05A49638A9EF400BD9C782F04E70EA13E4</key>
+			<iv>467E32A79443B0735EF5B94D6A4C5627</iv>
+			<input>F9604074F8FA45AC71959888DD056F9F</input>
+			<output>98A957EA6DBE623B7E08F919812A3898</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 3</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>5742DCD38C8FD46D3C3F6F4382FE69E2B98A0957F1C02B7C</key>
+			<iv>B9E1062EEDD9A1ED83016431D607F968</iv>
+			<input>98A957EA6DBE623B7E08F919812A3898</input>
+			<output>AD6D29D6482764BB4BC27A87AE5CD877</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 4</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>B33625F7872DE4A191524695CAD90D59F24873D05F9CF30B</key>
+			<iv>BD1AAC94D2D39445E474F9240BA230CC</iv>
+			<input>AD6D29D6482764BB4BC27A87AE5CD877</input>
+			<output>DA5EB591FDC48F0D9E4EBD373E5717A3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 5</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>35DA9F0A5DB187964B0CF304371D82546C06CEE761CBE4A8</key>
+			<iv>4782561ED717916986ECBAFDDA9C6337</iv>
+			<input>DA5EB591FDC48F0D9E4EBD373E5717A3</input>
+			<output>3F6E771434E26D4FA5A57CEF9DEE05D6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 6</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>A8182E4F8FD8C7987462841003FFEF1BC9A3B208FC25E17E</key>
+			<iv>093273C6E96EA5399DC2B145D269400E</iv>
+			<input>3F6E771434E26D4FA5A57CEF9DEE05D6</input>
+			<output>F8FBFC8CBDD4AA8E8DA58DEA7F2F344C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 7</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>71A581F408C35DA48C99789CBE2B459544063FE2830AD532</key>
+			<iv>3900E8650CA62A25D9BDAFBB871B9A3C</iv>
+			<input>F8FBFC8CBDD4AA8E8DA58DEA7F2F344C</input>
+			<output>B969AA871D3B35C260D8B36C7E9E8913</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 8</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>BCD0E4B5F0B7FB5035F0D21BA310705724DE8C8EFD945C21</key>
+			<iv>0E2BCF13C2A18FF5CD756541F874A6F4</iv>
+			<input>B969AA871D3B35C260D8B36C7E9E8913</input>
+			<output>6205EECCDD965D45339A2DFE85F52AD7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 9</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>A2796321044D9F5557F53CD77E862D121744A170786176F6</key>
+			<iv>8B935AB4C17D24D21EA98794F4FA6405</iv>
+			<input>6205EECCDD965D45339A2DFE85F52AD7</input>
+			<output>6BC27204DA1B9BC27E463D0E71557D99</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 10</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>AD4506295D5309603C374ED3A49DB6D069029C7E09340B6F</key>
+			<iv>A9AF68AB4EFDB7770F3C6508591E9635</iv>
+			<input>6BC27204DA1B9BC27E463D0E71557D99</input>
+			<output>DB1576A8F1BD88F73E6938E72F9C6DCD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 11</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>61ECB6C8660E5E20E722387B55203E27576BA49926A866A2</key>
+			<iv>DF83746D72419F65CCA9B0E13B5D5740</iv>
+			<input>DB1576A8F1BD88F73E6938E72F9C6DCD</input>
+			<output>150D14977B15FD304890D7B9C4F8536E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 12</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>03679C91B6C57828F22F2CEC2E35C3171FFB7320E25035CC</key>
+			<iv>59D101131EA2FD7F628B2A59D0CB2608</iv>
+			<input>150D14977B15FD304890D7B9C4F8536E</input>
+			<output>7AE22B73B412A81D0BCF422C68DA37F8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 13</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9A087B9DBC37B12988CD079F9A276B0A1434310C8A8A0234</key>
+			<iv>F26F03A3C84A49F0996FE70C0AF2C901</iv>
+			<input>7AE22B73B412A81D0BCF422C68DA37F8</input>
+			<output>2D1584CE9B85E7264228A8AFF8FAFF01</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 14</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>07489932E5335B38A5D8835101A28C2C561C99A37270FD35</key>
+			<iv>E76AB1C798119F5D9D40E2AF5904EA11</iv>
+			<input>2D1584CE9B85E7264228A8AFF8FAFF01</input>
+			<output>C1067030225453E808F1FF324C44BE7F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 15</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>DC3726E33013BC9964DEF36123F6DFC45EED66913E34434A</key>
+			<iv>55010D6199E792E3DB7FBFD1D520E7A1</iv>
+			<input>C1067030225453E808F1FF324C44BE7F</input>
+			<output>3AD7DBD96BB69D63BE39B9A16574AC74</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 16</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>EDD4EC10B074A36C5E0928B8484042A7E0D4DF305B40EF3E</key>
+			<iv>18C6FE6D0A2FDD7E31E3CAF380671FF5</iv>
+			<input>3AD7DBD96BB69D63BE39B9A16574AC74</input>
+			<output>3D5D82A4C06B9DDCCC8A6B8BF228482F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 17</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>23824573BD3CE30D6354AA1C882BDF7B2C5EB4BBA968A711</key>
+			<iv>E1DEAECBCFC06BCCCE56A9630D484061</iv>
+			<input>3D5D82A4C06B9DDCCC8A6B8BF228482F</input>
+			<output>C0E5F9618F2FAB97EA82F8164DC89860</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 18</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>AAA43BC528933502A3B1537D070474ECC6DC4CADE4A03F71</key>
+			<iv>2CE22FDF7E87B7CC89267EB695AFD60F</iv>
+			<input>C0E5F9618F2FAB97EA82F8164DC89860</input>
+			<output>6942155FC9EF8F7CFE37CD6FED03CECF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 19</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>A2686C442D636D31CAF34622CEEBFB9038EB81C209A3F1BE</key>
+			<iv>B7772CF7B44B856308CC578105F05833</iv>
+			<input>6942155FC9EF8F7CFE37CD6FED03CECF</input>
+			<output>6BA4C261F5173862A6789FB026099571</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 20</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>29F645A446D84EACA15784433BFCC3F29E931E722FAA64CF</key>
+			<iv>15CA23A60D99FFF68B9E29E06BBB239D</iv>
+			<input>6BA4C261F5173862A6789FB026099571</input>
+			<output>AA9E8C6497CAC6B0C8CC92F8DFE7B455</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 21</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>5E9165527010387F0BC90827AC360542565F8C8AF04DD09A</key>
+			<iv>53193227307BBE49776720F636C876D3</iv>
+			<input>AA9E8C6497CAC6B0C8CC92F8DFE7B455</input>
+			<output>7DA426C712E7F2F35087D6AA31CF56AB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 22</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>92DC0EEE09F5169E766D2EE0BED1F7B106D85A20C1828631</key>
+			<iv>85A3D20949963F95CC4D6BBC79E52EE1</iv>
+			<input>7DA426C712E7F2F35087D6AA31CF56AB</input>
+			<output>09B9FF5E5833B6CE0010C3D0C4A84C19</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 23</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>C45B938E7C18B4107FD4D1BEE6E2417F06C899F0052ACA28</key>
+			<iv>292A007187D730B956879D6075EDA28E</iv>
+			<input>09B9FF5E5833B6CE0010C3D0C4A84C19</input>
+			<output>178F7AC0FF63C33683A001F5C4171316</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 24</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>03D99546E931B761685BAB7E1981824985689805C13DD93E</key>
+			<iv>A8D8CD3B96215FCDC78206C895290371</iv>
+			<input>178F7AC0FF63C33683A001F5C4171316</input>
+			<output>C39B82763CF6901170902BE6DC1B9305</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 25</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>B52384CAC0B230F5ABC0290825771258F5F8B3E31D264A3B</key>
+			<iv>451968C3AA8D0319B6FA118C29838794</iv>
+			<input>C39B82763CF6901170902BE6DC1B9305</input>
+			<output>85D827F61EC17FD00B10356292C863E2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 26</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>DCF617A990AC4CBB2E180EFE3BB66D88FEE886818FEE29D9</key>
+			<iv>575103DAEFD233E269D59363501E7C4E</iv>
+			<input>85D827F61EC17FD00B10356292C863E2</input>
+			<output>535BAC956D5CAB917E1A1BC28E82F28F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 27</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>14D0FCAFFD961CFD7D43A26B56EAC61980F29D43016CDB56</key>
+			<iv>7DE780ACCF9F1896C826EB066D3A5046</iv>
+			<input>535BAC956D5CAB917E1A1BC28E82F28F</input>
+			<output>7E73E89F187EA6D5F5A3044A19C85941</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 28</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>AF5BFBC086F1392203304AF44E9460CC7551990918A48217</key>
+			<iv>633F0251217DECEDBB8B076F7B6725DF</iv>
+			<input>7E73E89F187EA6D5F5A3044A19C85941</input>
+			<output>B0976DFD4F0620203AC4ED89D395BAFF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 29</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>79FFB93DCF243047B3A72709019240EC4F957480CB3138E8</key>
+			<iv>C1AAE3E35613DAADD6A442FD49D50965</iv>
+			<input>B0976DFD4F0620203AC4ED89D395BAFF</input>
+			<output>5ECB838EC7F9F2E7ADBD719599F829B9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 30</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>681F54ADA7685555ED6CA487C66BB20BE228051552C91151</key>
+			<iv>4F00D9CD31BE1CC611E0ED90684C6512</iv>
+			<input>5ECB838EC7F9F2E7ADBD719599F829B9</input>
+			<output>8DDA96BD88D3D756306D249ABF99F5F9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 31</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>8663BEBF11817A3060B6323A4EB8655DD245218FED50E4A8</key>
+			<iv>7CC24DC4B003DE90EE7CEA12B6E92F65</iv>
+			<input>8DDA96BD88D3D756306D249ABF99F5F9</input>
+			<output>479E96E558540B71508FEF3173A6FC68</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 32</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>831519BE48B0021A2728A4DF16EC6E2C82CACEBE9EF618C0</key>
+			<iv>59FFA792DC8618070576A7015931782A</iv>
+			<input>479E96E558540B71508FEF3173A6FC68</input>
+			<output>080EA053745BEEBDBC5F7D964EEBD2F7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 33</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>AFC20AF72699543A2F26048C62B780913E95B328D01DCA37</key>
+			<iv>4E5BDD875324CAC02CD713496E295620</iv>
+			<input>080EA053745BEEBDBC5F7D964EEBD2F7</input>
+			<output>B5A58D345C0260A9E274E2E593B76C44</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 34</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>46AEAF002B9A297E9A8389B83EB5E038DCE151CD43AAA673</key>
+			<iv>C67419FDA89E68B1E96CA5F70D037D44</iv>
+			<input>B5A58D345C0260A9E274E2E593B76C44</input>
+			<output>5200F2D475CA388841CB0DD02C7EB7F6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 35</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>1598E4DD7DA3D7B0C8837B6C4B7FD8B09D2A5C1D6FD41185</key>
+			<iv>9F5C74A1FE2DFF2153364BDD5639FECE</iv>
+			<input>5200F2D475CA388841CB0DD02C7EB7F6</input>
+			<output>B2639C2D26BF2CAF2371CA3A4F3D3476</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 36</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>FE63AA4A158B41AE7AE0E7416DC0F41FBE5B962720E925F3</key>
+			<iv>2DC59704D531C890EBFB4E976828961E</iv>
+			<input>B2639C2D26BF2CAF2371CA3A4F3D3476</input>
+			<output>C758ADC41E334CCBF34C40E2AEAA3852</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 37</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>86B214FA7F89CE06BDB84A8573F3B8D44D17D6C58E431DA1</key>
+			<iv>D0982ADEECE45CCC78D1BEB06A028FA8</iv>
+			<input>C758ADC41E334CCBF34C40E2AEAA3852</input>
+			<output>F8E0AA1E780F18A50371CBCB1B63E83F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 38</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>C0C34A59DC653DCE4558E09B0BFCA0714E661D0E9520F59E</key>
+			<iv>A252B0F29766A24B46715EA3A3ECF3C8</iv>
+			<input>F8E0AA1E780F18A50371CBCB1B63E83F</input>
+			<output>554B524391A7A1679210CFC0152A65CE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 39</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>3CF3D7DDFFF704231013B2D89A5B0116DC76D2CE800A9050</key>
+			<iv>42EE716B821C18FCFC309D84239239ED</iv>
+			<input>554B524391A7A1679210CFC0152A65CE</input>
+			<output>3273E6C51751407B7E4ECDED7970746D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 40</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>7FCC684C43B958F02260541D8D0A416DA2381F23F97AE43D</key>
+			<iv>A4FCB2B8AB7158B9433FBF91BC4E5CD3</iv>
+			<input>3273E6C51751407B7E4ECDED7970746D</input>
+			<output>D90B75848AC14ACA3CAD9AF2A15F315F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 41</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>240724B451241314FB6B219907CB0BA79E9585D15825D562</key>
+			<iv>5C4FA1918B04D5F85BCB4CF8129D4BE4</iv>
+			<input>D90B75848AC14ACA3CAD9AF2A15F315F</input>
+			<output>753C59B87C45B21D527527C6C2DDEB0D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 42</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>F0BEECC2DB5D16F98E5778217B8EB9BACCE0A2179AF83E6F</key>
+			<iv>4E41A4AB69AEE73FD4B9C8768A7905ED</iv>
+			<input>753C59B87C45B21D527527C6C2DDEB0D</input>
+			<output>156E851810ADB0BF2D28B6150D32CAC7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 43</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>C2FB954C95633B5B9B39FD396B230905E1C8140297CAF4A8</key>
+			<iv>983906FA7F156CF33245798E4E3E2DA2</iv>
+			<input>156E851810ADB0BF2D28B6150D32CAC7</input>
+			<output>26E671DACE32070A601796207BD045B5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 44</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>BF0BD4C6DDBE22DABDDF8CE3A5110E0F81DF8222EC1AB11D</key>
+			<iv>B3188D29356783AF7DF0418A48DD1981</iv>
+			<input>26E671DACE32070A601796207BD045B5</input>
+			<output>ADAD9072859250A8590F6F54C24E5A77</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 45</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>2E4F07AD61768CC010721C9120835EA7D8D0ED762E54EB6A</key>
+			<iv>639F27016A9D99B99144D36BBCC8AE1A</iv>
+			<input>ADAD9072859250A8590F6F54C24E5A77</input>
+			<output>AC8AD3933D51D5D71CA90FB73A53F6AD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 46</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9963998A6F982462BCF8CF021DD28B70C479E2C114071DC7</key>
+			<iv>B2A3ACB0CE942F13B72C9E270EEEA8A2</iv>
+			<input>AC8AD3933D51D5D71CA90FB73A53F6AD</input>
+			<output>7319F2825648168F07D525618DA9979A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 47</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>417FD42690AAE310CFE13D804B9A9DFFC3ACC7A099AE8A5D</key>
+			<iv>EBB0EF7CE1ACF152D81C4DACFF32C772</iv>
+			<input>7319F2825648168F07D525618DA9979A</input>
+			<output>4FC19392439D6CBE6699419355E0590B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 48</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>30CD3A2A0910C7268020AE120807F141A5358633CC4ED356</key>
+			<iv>4DCACE79E4C3ADFE71B2EE0C99BA2436</iv>
+			<input>4FC19392439D6CBE6699419355E0590B</input>
+			<output>047FF92A523900A3C46D906163927DDD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 49</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>F13EE3ACC9C19E4C845F57385A3EF1E261581652AFDCAE8B</key>
+			<iv>E260680204844E6FC1F3D986C0D1596A</iv>
+			<input>047FF92A523900A3C46D906163927DDD</input>
+			<output>2DAE78D178D069918CCC11D675E09655</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 50</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>91556C720DC982D5A9F12FE922EE9873ED940784DA3C38DE</key>
+			<iv>A4E4973E74B61315606B8FDEC4081C99</iv>
+			<input>2DAE78D178D069918CCC11D675E09655</input>
+			<output>6315A6A029ED7FC5AB3CD38D8DAE561A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 51</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9120A23E63AF3BC2CAE489490B03E7B646A8D40957926EC4</key>
+			<iv>C02DA24531C794BD0075CE4C6E66B917</iv>
+			<input>6315A6A029ED7FC5AB3CD38D8DAE561A</input>
+			<output>65A796C69B769E59D34AD19803F117C6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 52</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>5C6847E25C66145DAF431F8F907579EF95E2059154637902</key>
+			<iv>0D72A6B0F3959C89CD48E5DC3FC92F9F</iv>
+			<input>65A796C69B769E59D34AD19803F117C6</input>
+			<output>70770D19D03DF488FB627F460A225F39</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 53</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>F5ECA4C905FF0EC2DF34129640488D676E807AD75E41263B</key>
+			<iv>2F60424B5062D978A984E32B59991A9F</iv>
+			<input>70770D19D03DF488FB627F460A225F39</input>
+			<output>C8A66A2CD18286D2148230BAB7D81E11</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 54</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>FF86E251C5EC6129179278BA91CA0BB57A024A6DE999382A</key>
+			<iv>CC7330AE077936B10A6A4698C0136FEB</iv>
+			<input>C8A66A2CD18286D2148230BAB7D81E11</input>
+			<output>FC0B47BA3E51927A632F457A919818DC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 55</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>5C0A7344D6FD6983EB993F00AF9B99CF192D0F17780120F6</key>
+			<iv>CA119AEE5576E06EA38C9115131108AA</iv>
+			<input>FC0B47BA3E51927A632F457A919818DC</input>
+			<output>AEEDB360C58C4CDC7ACE87AA1A4B785B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 56</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>426948BD499E8A9845748C606A17D51363E388BD624A58AD</key>
+			<iv>920C491DE39D52501E633BF99F63E31B</iv>
+			<input>AEEDB360C58C4CDC7ACE87AA1A4B785B</input>
+			<output>737ECC4294FF69495DC37DC795EC13CE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 57</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>F8AD0E545AA212E6360A4022FEE8BC5A3E20F57AF7A64B63</key>
+			<iv>B975B70450A41A2DBAC446E9133C987E</iv>
+			<input>737ECC4294FF69495DC37DC795EC13CE</input>
+			<output>3E7CDC26CCC69E02D08248224A22961E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 58</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>C2834233A26DCD8A08769C04322E2258EEA2BD58BD84DD7D</key>
+			<iv>A88326DC57AB80FC3A2E4C67F8CFDF6C</iv>
+			<input>3E7CDC26CCC69E02D08248224A22961E</input>
+			<output>88177B6502254344A364023BCAD29E79</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 59</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>962D892D6CDED6798061E761300B611C4DC6BF6377564304</key>
+			<iv>D95CFF470B1796D754AECB1ECEB31BF3</iv>
+			<input>88177B6502254344A364023BCAD29E79</input>
+			<output>A10FA825EB6DA0E242D9A381F607472D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 60</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>3ADA98C76065214A216E4F44DB66C1FE0F1F1CE281510429</key>
+			<iv>FBD25798351AF35DACF711EA0CBBF733</iv>
+			<input>A10FA825EB6DA0E242D9A381F607472D</input>
+			<output>6B5EE3A222DF46560A12E91C006D303F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 61</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>C6AB975CF71B6DDF4A30ACE6F9B987A8050DF5FE813C3416</key>
+			<iv>6CDB3875008754DAFC710F9B977E4C95</iv>
+			<input>6B5EE3A222DF46560A12E91C006D303F</input>
+			<output>A0047B92A93ACF32138A818B6E32B3EE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 62</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>FFD0E16A5C955EBAEA34D7745083489A16877475EF0E87F8</key>
+			<iv>F7061CA37B11E445397B7636AB8E3365</iv>
+			<input>A0047B92A93ACF32138A818B6E32B3EE</input>
+			<output>1707FC063700E98FF5FDA98A07A8A1C7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 63</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>AA71EC7061FA246CFD332B726783A115E37ADDFFE8A6263F</key>
+			<iv>1853E27FC0689E6755A10D1A3D6F7AD6</iv>
+			<input>1707FC063700E98FF5FDA98A07A8A1C7</input>
+			<output>06320FA4C0E2F42B364B991243FA053D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 64</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D8685685696CBF5CFB0124D6A761553ED53144EDAB5C2302</key>
+			<iv>E19A3BEC7EBCA3C87219BAF508969B30</iv>
+			<input>06320FA4C0E2F42B364B991243FA053D</input>
+			<output>BB70503E9715D653710C0630211755A7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 65</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>28C2AFFA406EF763407174E83074836DA43D42DD8A4B76A5</key>
+			<iv>5F3BCA36562AFA82F0AAF97F2902483F</iv>
+			<input>BB70503E9715D653710C0630211755A7</input>
+			<output>D632FEF42560770DF318C570AFC85285</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 66</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>260B8E0723E9AF3D96438A1C1514F460572587AD25832420</key>
+			<iv>328A42D3898A81C20EC921FD6387585E</iv>
+			<input>D632FEF42560770DF318C570AFC85285</input>
+			<output>B1C847FFF455D002E55FCFAF4A4F69A4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 67</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>F39D3CD6A68DC6BC278BCDE3E1412462B27A48026FCC4D84</key>
+			<iv>C89E7B4C1BAED0FAD596B2D185646981</iv>
+			<input>B1C847FFF455D002E55FCFAF4A4F69A4</input>
+			<output>9C484252E1FE52CD2DFCCAA3E0118F07</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 68</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>61A9714C87B94F27BBC38FB100BF76AF9F8682A18FDDC283</key>
+			<iv>56B7D716EC6F9A6D92344D9A2134899B</iv>
+			<input>9C484252E1FE52CD2DFCCAA3E0118F07</input>
+			<output>85A142323B9877E86F3A5874EA613E87</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 69</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>B504BE17C673E81F3E62CD833B270147F0BCDAD565BCFC04</key>
+			<iv>BEF2C82884510475D4ADCF5B41CAA738</iv>
+			<input>85A142323B9877E86F3A5874EA613E87</input>
+			<output>53D0EF74268F55C1B6CA84415E5A2F6F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 70</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>1A63CC27BE45C5106DB222F71DA8548646765E943BE6D36B</key>
+			<iv>CC958CC3874510F0AF67723078362D0F</iv>
+			<input>53D0EF74268F55C1B6CA84415E5A2F6F</input>
+			<output>7B7DB0F3EFAD244FFCC6991452001DF6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 71</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>4B17520C49F46EAF16CF9204F20570C9BAB0C78069E6CE9D</key>
+			<iv>48D7C0690532AFCC51749E2BF7B1ABBF</iv>
+			<input>7B7DB0F3EFAD244FFCC6991452001DF6</input>
+			<output>DD0661DCA2BE8C20E95B3A84CCACDB10</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 72</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>1ADE412393310021CBC9F3D850BBFCE953EBFD04A54A158D</key>
+			<iv>4B96B2D0CCADFF7D51C9132FDAC56E8E</iv>
+			<input>DD0661DCA2BE8C20E95B3A84CCACDB10</input>
+			<output>E505435777F3781121A4A374684E3268</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 73</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>493467065AE405B82ECCB08F274884F8724F5E70CD0427E5</key>
+			<iv>1E8116EB95B94AFC53EA2625C9D50599</iv>
+			<input>E505435777F3781121A4A374684E3268</input>
+			<output>EF4B4E997DA0DCCBDBB36C020D03E8B5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 74</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>4C94816DF6EBDEF5C187FE165AE85833A9FC3272C007CF50</key>
+			<iv>29094410F6017E5805A0E66BAC0FDB4D</iv>
+			<input>EF4B4E997DA0DCCBDBB36C020D03E8B5</input>
+			<output>FA9BAB377C654ED894024BEBDCED2FA0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 75</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>697A0BC179C07A633B1C5521268D16EB3DFE79991CEAE0F0</key>
+			<iv>83DD12597A405FB725EE8AAC8F2BA496</iv>
+			<input>FA9BAB377C654ED894024BEBDCED2FA0</input>
+			<output>DD1FDA63382552D007F6F8E995820640</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 76</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D40786ED2A6C15E8E6038F421EA8443B3A0881708968E6B0</key>
+			<iv>2F3AE5594D9CCEDCBD7D8D2C53AC6F8B</iv>
+			<input>DD1FDA63382552D007F6F8E995820640</input>
+			<output>C5FF0EB50BA651F436D0566385860ADA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 77</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9D47680C0159F69A23FC81F7150E15CF0CD8D7130CEEEC6A</key>
+			<iv>1BCFAD6802C41B9A4940EEE12B35E372</iv>
+			<input>C5FF0EB50BA651F436D0566385860ADA</input>
+			<output>67AE61A77D77CBFD48C080B21313BBAB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 78</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>86E61E031542D2DB4452E0506879DE32441857A11FFD57C1</key>
+			<iv>3DF4DA1F65C739511BA1760F141B2441</iv>
+			<input>67AE61A77D77CBFD48C080B21313BBAB</input>
+			<output>68C8512217CB9C3BBF28011FA5BED044</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 79</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>4F93757DE614CB1D2C9AB1727FB24209FB3056BEBA438785</key>
+			<iv>B2C15424EF4E4637C9756B7EF35619C6</iv>
+			<input>68C8512217CB9C3BBF28011FA5BED044</input>
+			<output>233898C850826172965695499748A1B0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 80</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>C56E54BBB54B22CC0FA229BA2F30237B6D66C3F72D0B2635</key>
+			<iv>DC2FF5992D9383EF8AFD21C6535FE9D1</iv>
+			<input>233898C850826172965695499748A1B0</input>
+			<output>70069F5E963A820D640B40697BD24716</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 81</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>A1EF05CB5AAE7A977FA4B6E4B90AA176096D839E56D96123</key>
+			<iv>EE8CB982124A394C64815170EFE5585B</iv>
+			<input>70069F5E963A820D640B40697BD24716</input>
+			<output>B136CA2EF42A9CFF53410554B28A8F65</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 82</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>ACEC084A8CED2F4FCE927CCA4D203D895A2C86CAE453EE46</key>
+			<iv>515D8B6C167EC8570D030D81D64355D8</iv>
+			<input>B136CA2EF42A9CFF53410554B28A8F65</input>
+			<output>123600CD1B5A664430413021DDC8CBBE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 83</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>8325A9391B4E106ADCA47C07567A5BCD6A6DB6EB399B25F8</key>
+			<iv>5A55A24EC8154E532FC9A17397A33F25</iv>
+			<input>123600CD1B5A664430413021DDC8CBBE</input>
+			<output>8ECCA03E10D415557C4E7D92DDBFD791</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 84</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>DB877966BE0E84575268DC3946AE4E981623CB79E424F269</key>
+			<iv>659705F3774E141758A2D05FA540943D</iv>
+			<input>8ECCA03E10D415557C4E7D92DDBFD791</input>
+			<output>CB70B675AC6BF92237F1C479516E7E6A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 85</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>59027658DEC2B5DE99186A4CEAC5B7BA21D20F00B54A8C03</key>
+			<iv>C9B803CE2D57D26F82850F3E60CC3189</iv>
+			<input>CB70B675AC6BF92237F1C479516E7E6A</input>
+			<output>5D99D06E9BEB82AB1CE22201E8467DBC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 86</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>652E430F984201E0C481BA22712E35113D302D015D0CF1BF</key>
+			<iv>1838FACBEAC13CF73C2C35574680B43E</iv>
+			<input>5D99D06E9BEB82AB1CE22201E8467DBC</input>
+			<output>11D7AED0B552D62677DEB874BF7CF8ED</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 87</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>8377A2C11B73082DD55614F2C47CE3374AEE9575E2700952</key>
+			<iv>068170C7E11427DFE659E1CE833109CD</iv>
+			<input>11D7AED0B552D62677DEB874BF7CF8ED</input>
+			<output>74B108D32ABE8401D22F2C3FB008F670</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 88</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>7B89A5C45B0A22BBA1E71C21EEC2673698C1B94A5278FF22</key>
+			<iv>5283DAD6FA2B605DF8FE070540792A96</iv>
+			<input>74B108D32ABE8401D22F2C3FB008F670</input>
+			<output>7883BD8C4DA81C21C4A5847AD801B7AE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 89</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>101261A4D23FDA13D964A1ADA36A7B175C643D308A79488C</key>
+			<iv>E2ED92DE4829CB526B9BC4608935F8A8</iv>
+			<input>7883BD8C4DA81C21C4A5847AD801B7AE</input>
+			<output>C865B27C21F6F6E681759C318607D2B9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 90</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>E6A6A13B7A64EB51110113D1829C8DF1DD11A1010C7E9A35</key>
+			<iv>AB325AD4F1FF1C52F6B4C09FA85B3142</iv>
+			<input>C865B27C21F6F6E681759C318607D2B9</input>
+			<output>E31D7AC0E8ADB302BC6C23A0B1D693ED</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 91</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>64D366C4F61E139BF21C69116A313EF3617D82A1BDA809D8</key>
+			<iv>A5201D1770A12A898275C7FF8C7AF8CA</iv>
+			<input>E31D7AC0E8ADB302BC6C23A0B1D693ED</input>
+			<output>CAE6A97EE64228EEEF02E135944C5C62</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 92</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>B006CEF05093DE2238FAC06F8C73161D8E7F639429E455BA</key>
+			<iv>62BD7E3EA22E26BAD4D5A834A68DCDB9</iv>
+			<input>CAE6A97EE64228EEEF02E135944C5C62</input>
+			<output>B7AEF117099F799BB0752C7260A2DFB5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 93</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>160AFF18C06B6C4A8F54317885EC6F863E0A4FE649468A0F</key>
+			<iv>AEBB967838133F64A60C31E890F8B268</iv>
+			<input>B7AEF117099F799BB0752C7260A2DFB5</input>
+			<output>81CCC6EDAD41D9C7986D4E175C71551D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 94</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>21112CBE896259CE0E98F79528ADB641A66701F11537DF12</key>
+			<iv>B695BBE7FA331039371BD3A649093584</iv>
+			<input>81CCC6EDAD41D9C7986D4E175C71551D</input>
+			<output>9039E01C6485040A2EDAF4C27FE93870</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 95</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>60272333C1B4CCC39EA117894C28B24B88BDF5336ADEE762</key>
+			<iv>4EE830907337D60241360F8D48D6950D</iv>
+			<input>9039E01C6485040A2EDAF4C27FE93870</input>
+			<output>44D359DBE4BE436D5133CD81B72DB5C7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 96</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>25C676A781511A98DA724E52A896F126D98E38B2DDF352A5</key>
+			<iv>38491C9FD517260445E1559440E5D65B</iv>
+			<input>44D359DBE4BE436D5133CD81B72DB5C7</input>
+			<output>7B47F95ED30563BE218E40DB4EAAE836</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 97</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>59A7B7512B5DC429A135B70C7B939298F80078699359BA93</key>
+			<iv>1FD8B8BA8B0492E67C61C1F6AA0CDEB1</iv>
+			<input>7B47F95ED30563BE218E40DB4EAAE836</input>
+			<output>C417F6A6824B165D4C26D631F77E45AC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 98</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>82E6CF234BC0AA10652241AAF9D884C5B426AE586427FF3F</key>
+			<iv>5FB017B65FE4AF34DB417872609D6E39</iv>
+			<input>C417F6A6824B165D4C26D631F77E45AC</input>
+			<output>41EC9A06B318A4D06636ED5403F46CB7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 99</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>82D69A1D747CF6E024CEDBAC4AC02015D210430C67D39388</key>
+			<iv>1CC1F56321366F420030553E3FBC5CF0</iv>
+			<input>41EC9A06B318A4D06636ED5403F46CB7</input>
+			<output>38E467F81D919F0A1704E9F5CDF4D5FC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 100</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>29EFCA26B9C67E141C2ABC545751BF1FC514AAF9AA274674</key>
+			<iv>A83BDBF4326AE806AB39503BCDBA88F4</iv>
+			<input>38E467F81D919F0A1704E9F5CDF4D5FC</input>
+			<output>A08359A20D6F405018F8180A3E8D0FD1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 101</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>AB20AC8C3C5DA5BEBCA9E5F65A3EFF4FDDECB2F394AA49A5</key>
+			<iv>A14B10E1A998B04E82CF66AA859BDBAA</iv>
+			<input>A08359A20D6F405018F8180A3E8D0FD1</input>
+			<output>A16C303138057144A3ECA63E7398DC93</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 102</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>86C5E861B9CEAF041DC5D5C7623B8E0B7E0014CDE7329536</key>
+			<iv>181D943EA950561D2DE544ED85930ABA</iv>
+			<input>A16C303138057144A3ECA63E7398DC93</input>
+			<output>EA1A2E30D890D01979D2BCE1EBE6C922</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 103</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>90321C401E4B6B30F7DFFBF7BAAB5E1207D2A82C0CD45C14</key>
+			<iv>12BDB944D898BC5A16F7F421A785C434</iv>
+			<input>EA1A2E30D890D01979D2BCE1EBE6C922</input>
+			<output>C0D620FCF33031DAD617ADBE8F6D13AC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 104</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>84964C3B41FE8E4F3709DB0B499B6FC8D1C5059283B94FB8</key>
+			<iv>0615AD27B29C55F814A4507B5FB5E57F</iv>
+			<input>C0D620FCF33031DAD617ADBE8F6D13AC</input>
+			<output>EC4B9AEDBE44C4B74B693D08AA1D175A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 105</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>6C6361F2C87BC168DB4241E6F7DFAB7F9AAC389A29A458E2</key>
+			<iv>E79F33FFCD79681CE8F52DC989854F27</iv>
+			<input>EC4B9AEDBE44C4B74B693D08AA1D175A</input>
+			<output>F34D426225ADEC3BD2580BF21EF24B3E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 106</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>FDA3FB79F1A16865280F0384D272474448F43368375613DC</key>
+			<iv>1DFE18B10032D35F91C09A8B39DAA90D</iv>
+			<input>F34D426225ADEC3BD2580BF21EF24B3E</input>
+			<output>E14841B0D0CC1E698DE8053B9F1621E1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 107</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>562D3BF792909255C947423402BE592DC51C3653A840323D</key>
+			<iv>247A46C43AE54F1FAB8EC08E6331FA30</iv>
+			<input>E14841B0D0CC1E698DE8053B9F1621E1</input>
+			<output>D21381B5032426EC3582BBD23739E04E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 108</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9D375E6E32C30A801B54C381019A7FC1F09E8D819F79D273</key>
+			<iv>E05018C26DC38BBDCB1A6599A05398D5</iv>
+			<input>D21381B5032426EC3582BBD23739E04E</input>
+			<output>82034FF505FE67B94373770348A934E5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 109</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>7D1A900B515478DB99578C7404641878B3EDFA82D7D0E696</key>
+			<iv>498AEA38AB55250CE02DCE656397725B</iv>
+			<input>82034FF505FE67B94373770348A934E5</input>
+			<output>018B5B1787138D222F6B39C1291ECD2C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 110</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>E74B55A39F67C54298DCD7638377955A9C86C343FECE2BBA</key>
+			<iv>DD89DF396236F9A59A51C5A8CE33BD99</iv>
+			<input>018B5B1787138D222F6B39C1291ECD2C</input>
+			<output>CABCB7EA14E821726602272A46CEB825</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 111</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D3FFFE0F27D9200352606089979FB428FA84E469B800939F</key>
+			<iv>A707D154BAC28BDC34B4ABACB8BEE541</iv>
+			<input>CABCB7EA14E821726602272A46CEB825</input>
+			<output>0840D09DF2B14ED4B340D32101D68A54</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 112</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>485EC313821A37095A20B014652EFAFC49C43748B9D619CB</key>
+			<iv>ADEF6A8A49BF208B9BA13D1CA5C3170A</iv>
+			<input>0840D09DF2B14ED4B340D32101D68A54</input>
+			<output>5EB0166FB04AF38F9EA60929FD641844</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 113</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>E841074638A154D90490A67BD5640973D7623E6144B2018F</key>
+			<iv>B1956D86A4F79E40A01FC455BABB63D0</iv>
+			<input>5EB0166FB04AF38F9EA60929FD641844</input>
+			<output>2ECBDAFBD0336A436D89FC12944750EC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 114</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>17E86798DB7A64E42A5B7C8005576330BAEBC273D0F55163</key>
+			<iv>0AFFE19CA1425218FFA960DEE3DB303D</iv>
+			<input>2ECBDAFBD0336A436D89FC12944750EC</input>
+			<output>A326D8C07EF7A21302A3C6A9C67C371A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 115</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D1A6F2AB7C130A60897DA4407BA0C123B84804DA16896679</key>
+			<iv>6F630069CD0333BDC64E9533A7696E84</iv>
+			<input>A326D8C07EF7A21302A3C6A9C67C371A</input>
+			<output>6D06DDFB9B12A71298E32318F582EF72</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 116</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>C7D58104581CB5C5E47B79BBE0B2663120AB27C2E30B890B</key>
+			<iv>80E47BA8410247C5167373AF240FBFA5</iv>
+			<input>6D06DDFB9B12A71298E32318F582EF72</input>
+			<output>E1391A50F140E255A9B2E628F25B9B1D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 117</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>00D8EEC433F7D68E054263EB11F284648919C1EA11501216</key>
+			<iv>96F652822C5D4496C70D6FC06BEB634B</iv>
+			<input>E1391A50F140E255A9B2E628F25B9B1D</input>
+			<output>1418A2DC8D6DBA4942932D6944011D8A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 118</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>71D444358CCCF986115AC1379C9F3E2DCB8AEC8355510F9C</key>
+			<iv>410374DE0D8A79FA710CAAF1BF3B2F08</iv>
+			<input>1418A2DC8D6DBA4942932D6944011D8A</input>
+			<output>A70A2C48CF5786868844274B8C493C56</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 119</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>B9FD9626EC74A129B650ED7F53C8B8AB43CECBC8D91833CA</key>
+			<iv>8362FAE290801C25C829D21360B858AF</iv>
+			<input>A70A2C48CF5786868844274B8C493C56</input>
+			<output>3484BA42558B199E8477B8F8280CDE91</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 120</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>94CAEE912A7B443582D4573D0643A135C7B97330F114ED5B</key>
+			<iv>F6ABE3F0A7FFC9E02D3778B7C60FE51C</iv>
+			<input>3484BA42558B199E8477B8F8280CDE91</input>
+			<output>5D79433F85C7D4C258487080E340F049</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 121</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>1D2F762CF08FAE0ADFAD1402838475F79FF103B012541D12</key>
+			<iv>A0C57652FBF9107C89E598BDDAF4EA3F</iv>
+			<input>5D79433F85C7D4C258487080E340F049</input>
+			<output>C51891EA2E68BC60E84912A91F470201</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 122</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9E691D03A3AEB6491AB585E8ADECC99777B811190D131F13</key>
+			<iv>8426C338234DB9E183466B2F53211843</iv>
+			<input>C51891EA2E68BC60E84912A91F470201</input>
+			<output>F946FD67DD7F92A7A6B93B4F71F70243</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 123</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>61EA6FD274C07ADDE3F3788F70935B30D1012A567CE41D50</key>
+			<iv>2C2AF70B07E9E6F9FF8372D1D76ECC94</iv>
+			<input>F946FD67DD7F92A7A6B93B4F71F70243</input>
+			<output>B4CB0EFF14F8CDC693CC8E7DCEE8E0B0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 124</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>84F27E5BF8B55DA657387670646B96F642CDA42BB20CFDE0</key>
+			<iv>693782638B439464E51811898C75277B</iv>
+			<input>B4CB0EFF14F8CDC693CC8E7DCEE8E0B0</input>
+			<output>EF6DDB56AAE9CFFE128FB3776DD94D20</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 125</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>5B1111EADAECDD73B855AD26CE8259085042175CDFD5B0C0</key>
+			<iv>A14AAEF7A1BF063BDFE36FB1225980D5</iv>
+			<input>EF6DDB56AAE9CFFE128FB3776DD94D20</input>
+			<output>4ACC6AF28293A647093AE788BA778835</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 126</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>A924DC707FB16DF1F299C7D44C11FF4F5978F0D465A238F5</key>
+			<iv>3F7E73BFA24B0C02F235CD9AA55DB082</iv>
+			<input>4ACC6AF28293A647093AE788BA778835</input>
+			<output>5A7989DC61AD6B66B3E83A29168BEDB9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 127</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>164FBEF9EBAEEF03A8E04E082DBC9429EA90CAFD7329D54C</key>
+			<iv>2FB4F1A000B78156BF6B6289941F82F2</iv>
+			<input>5A7989DC61AD6B66B3E83A29168BEDB9</input>
+			<output>246A94AB8488B39C52DE68E8CA5AE0D2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 128</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>B1F4A368B64A78EC8C8ADAA3A93427B5B84EA215B973359E</key>
+			<iv>5D178EC8305B804FA7BB1D915DE497EF</iv>
+			<input>246A94AB8488B39C52DE68E8CA5AE0D2</input>
+			<output>F7C758F8DC8FC0891907EBBF299F70B8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 129</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9161A39C256814AA7B4D825B75BBE73CA14949AA90EC4526</key>
+			<iv>C87E61A9434EB29F209500F493226C46</iv>
+			<input>F7C758F8DC8FC0891907EBBF299F70B8</input>
+			<output>E2D82C5506BEFA7D7BF032E4C72141CF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 130</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>0BFDA1B2CF4B15199995AE0E73051D41DAB97B4E57CD04E9</key>
+			<iv>5D00992780D9832B9A9C022EEA2301B3</iv>
+			<input>E2D82C5506BEFA7D7BF032E4C72141CF</input>
+			<output>F3A0DF1793FC88117E87478FD9E5A1A8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 131</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>F8F5F6016FECDCAF6A357119E0F99550A43E3CC18E28A541</key>
+			<iv>2800EECA83EB078CF30857B3A0A7C9B6</iv>
+			<input>F3A0DF1793FC88117E87478FD9E5A1A8</input>
+			<output>BEB572C53E9985218ED9012BAB4A9F5B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 132</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>84F3E0D153E140D6D48003DCDE6010712AE73DEA25623A1A</key>
+			<iv>E2BEAF80F4A1DDA27C0616D03C0D9C79</iv>
+			<input>BEB572C53E9985218ED9012BAB4A9F5B</input>
+			<output>7F4B21C4B7466149CB890B77AC538752</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 133</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>B69E5A72FE9B1B85ABCB221869267138E16E369D8931BD48</key>
+			<iv>FE0A667B9B2BDD29326DBAA3AD7A5B53</iv>
+			<input>7F4B21C4B7466149CB890B77AC538752</input>
+			<output>4B239C8F83F0A10DC6A3497CC3CF9C8E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 134</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>0BCF87D2538E0EADE0E8BE97EAD6D03527CD7FE14AFE21C6</key>
+			<iv>878250C5EA7834CFBD51DDA0AD151528</iv>
+			<input>4B239C8F83F0A10DC6A3497CC3CF9C8E</input>
+			<output>89F2B4B8C5AB2988CDEA61F4D4A1BCD4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 135</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>97A4FDCD2E0C993E691A0A2F2F7DF9BDEA271E159E5F9D12</key>
+			<iv>95E34D44C3E2FE319C6B7A1F7D829793</iv>
+			<input>89F2B4B8C5AB2988CDEA61F4D4A1BCD4</input>
+			<output>C622E28004842564F193C0E58AB40FCB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 136</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>38F0A45980CEF0B9AF38E8AF2BF9DCD91BB4DEF014EB92D9</key>
+			<iv>1BC195727D154539AF545994AEC26987</iv>
+			<input>C622E28004842564F193C0E58AB40FCB</input>
+			<output>DF360FBC1607BCC1E6EE9088AEE62EC7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 137</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>6638E0333D7A6765700EE7133DFE6018FD5A4E78BA0DBC1E</key>
+			<iv>F0AB65A69AA4486A5EC8446ABDB497DC</iv>
+			<input>DF360FBC1607BCC1E6EE9088AEE62EC7</input>
+			<output>9A8E5BFE223FA9D747164FC1C98B9CDC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 138</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>5103611D32D7A1EFEA80BCED1FC1C9CFBA4C01B9738620C2</key>
+			<iv>A6617B5DA41B2A32373B812E0FADC68A</iv>
+			<input>9A8E5BFE223FA9D747164FC1C98B9CDC</input>
+			<output>F0143DD4EC3A85F9FA4D5579BD7268A1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 139</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>64FD310AF27CF98C1A948139F3FB4C36400154C0CEF44863</key>
+			<iv>EBCB744B477F25E635FE5017C0AB5863</iv>
+			<input>F0143DD4EC3A85F9FA4D5579BD7268A1</input>
+			<output>C5C1FED629BF81EE343E4DAEE6BC4D44</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 140</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9390B012FA7D48D9DF557FEFDA44CDD8743F196E28480527</key>
+			<iv>7AF352D33C08F3FEF76D81180801B155</iv>
+			<input>C5C1FED629BF81EE343E4DAEE6BC4D44</input>
+			<output>26C4460F0B79E16263C38C240C276E5C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 141</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>F578E5DF6818CB58F99139E0D13D2CBA17FC954A246F6B7B</key>
+			<iv>05DA148A4EB4D12966E855CD92658381</iv>
+			<input>26C4460F0B79E16263C38C240C276E5C</input>
+			<output>E0E249ADB3A39EE2BB48959426874123</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 142</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>F23F67282BAFE10E1973704D629EB258ACB400DE02E82A58</key>
+			<iv>7748B1652DE54EF9074782F743B72A56</iv>
+			<input>E0E249ADB3A39EE2BB48959426874123</input>
+			<output>C2299AAE24C941DC44E5D492BC492FED</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 143</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>5CAC16BD99EC5067DB5AEAE34657F384E851D44CBEA105B5</key>
+			<iv>4F599B9C20378305AE937195B243B169</iv>
+			<input>C2299AAE24C941DC44E5D492BC492FED</input>
+			<output>780DA1D6FD961DA4756375A15B8BA620</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 144</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9FF7C1766F7F6F9FA3574B35BBC1EE209D32A1EDE52AA395</key>
+			<iv>044A8C7FFE220414C35BD7CBF6933FF8</iv>
+			<input>780DA1D6FD961DA4756375A15B8BA620</input>
+			<output>E63FE8BE6566E9ECCCDBEC442BCCCBD5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 145</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>3EA408C4CD15E6F24568A38BDEA707CC51E94DA9CEE66840</key>
+			<iv>05DE81CD5892F1FEA153C9B2A26A896D</iv>
+			<input>E63FE8BE6566E9ECCCDBEC442BCCCBD5</input>
+			<output>19F5E5DDDF0F6FABA9B16B732C6058B8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 146</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>29FF0DD567A810385C9D465601A86867F85826DAE28630F8</key>
+			<iv>0A2A8BF3BE53E2B5175B0511AABDF6CA</iv>
+			<input>19F5E5DDDF0F6FABA9B16B732C6058B8</input>
+			<output>41FCD9F8972431F43669863F37B4A18C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 147</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>842E4C2F46849E731D619FAE968C5993CE31A0E5D5329174</key>
+			<iv>1EABD419CA4C0D0BADD141FA212C8E4B</iv>
+			<input>41FCD9F8972431F43669863F37B4A18C</input>
+			<output>9857CFE1CFE1046F88DF3EB8ECC92E40</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 148</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>8EE3344CCB9DE2038536504F596D5DFC46EE9E5D39FBBF34</key>
+			<iv>FA266CF1AF82A2250ACD78638D197C70</iv>
+			<input>9857CFE1CFE1046F88DF3EB8ECC92E40</input>
+			<output>DE4C55865FB82BDA1FC0D024791C1B22</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 149</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>DEEEC86215A6098D5B7A05C906D57626592E4E7940E7A416</key>
+			<iv>F9B4CFCA36A1B0AB500DFC2EDE3BEB8E</iv>
+			<input>DE4C55865FB82BDA1FC0D024791C1B22</input>
+			<output>077F866BF30097D12650855C71B7DB9C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 150</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>50872D11A2E463D65C0583A2F5D5E1F77F7ECB2531507F8A</key>
+			<iv>53D4E4CE2C06FCC38E69E573B7426A5B</iv>
+			<input>077F866BF30097D12650855C71B7DB9C</input>
+			<output>670BBCB81CDE03B883D9B784124F5851</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 151</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>7DE3AF7C8550901C3B0E3F1AE90BE24FFCA77CA1231F27DB</key>
+			<iv>C26330B1219C4B4A2D64826D27B4F3CA</iv>
+			<input>670BBCB81CDE03B883D9B784124F5851</input>
+			<output>D6141C300F5E5119E1B5F4BBF415A6DD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 152</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>BB126D64220A8DB9ED1A232AE655B3561D12881AD70A8106</key>
+			<iv>74D773D0F053239CC6F1C218A75A1DA5</iv>
+			<input>D6141C300F5E5119E1B5F4BBF415A6DD</input>
+			<output>8F742130206F1047FE9CAAE4F2C31B19</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 153</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9845C3A02214A55D626E021AC63AA311E38E22FE25C99A1F</key>
+			<iv>7EC0B4E8BD4BD3EB2357AEC4001E28E4</iv>
+			<input>8F742130206F1047FE9CAAE4F2C31B19</input>
+			<output>47D0D28AF3164CC77FBAB5C015CAC1C9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 154</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>BBC47FAB874E0ED425BED090352CEFD69C34973E30035BD6</key>
+			<iv>833EC00D894BD8502381BC0BA55AAB89</iv>
+			<input>47D0D28AF3164CC77FBAB5C015CAC1C9</input>
+			<output>3202B04CFC260747BF839FF754A01E26</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 155</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>BCC028DA5F286DE017BC60DCC90AE89123B708C964A345F0</key>
+			<iv>8BCC8079D2175F4407045771D8666334</iv>
+			<input>3202B04CFC260747BF839FF754A01E26</input>
+			<output>75E9FBADAD8885FB2398427EE94C5899</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 156</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>352B0CD3E3BA0EB462559B7164826D6A002F4AB78DEF1D69</key>
+			<iv>0B159F18C1F33EA389EB2409BC926354</iv>
+			<input>75E9FBADAD8885FB2398427EE94C5899</input>
+			<output>90DA906982058C84D2E75B5DAE0EA756</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 157</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>6F32D4393B37EA77F28F0B18E687E1EED2C811EA23E1BA3F</key>
+			<iv>2F5C35DA76038E4F5A19D8EAD88DE4C3</iv>
+			<input>90DA906982058C84D2E75B5DAE0EA756</input>
+			<output>705C22072FDFB807A49BAE0FD4D254AF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 158</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>5740616769DDF57482D3291FC95859E97653BFE5F733EE90</key>
+			<iv>B276B0CE56828D683872B55E52EA1F03</iv>
+			<input>705C22072FDFB807A49BAE0FD4D254AF</input>
+			<output>A966EE217CF2BDBC17A0BB55AE769FEB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 159</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>C9E379BDBC05CC402BB5C73EB5AAE45561F304B05945717B</key>
+			<iv>E1F41EF2147CB5CE9EA318DAD5D83934</iv>
+			<input>A966EE217CF2BDBC17A0BB55AE769FEB</input>
+			<output>239D761F1F0437935464C4959546B6BB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 160</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>7B2C4F503FCC91AE0828B121AAAED3C63597C025CC03C7C0</key>
+			<iv>6F90097C7822030DB2CF36ED83C95DEE</iv>
+			<input>239D761F1F0437935464C4959546B6BB</input>
+			<output>499477B6476BA58CAEF81290ABDD46C4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 161</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>42BC1C4F29D1801D41BCC697EDC5764A9B6FD2B567DE8104</key>
+			<iv>1571EE53AE1ACAEF3990531F161D11B3</iv>
+			<input>499477B6476BA58CAEF81290ABDD46C4</input>
+			<output>ACC1FB947EB4C7F115871859CD254D96</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 162</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9BE24C041BF4DEECED7D3D039371B1BB8EE8CAECAAFBCC92</key>
+			<iv>E24F4DBEF2122A73D95E504B32255EF1</iv>
+			<input>ACC1FB947EB4C7F115871859CD254D96</input>
+			<output>85DC9D7ADF342B0733CF9812CFD58F0A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 163</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>83BEBEB5727649F268A1A0794C459ABCBD2752FE652E4398</key>
+			<iv>AF0690E77B1F140B185CF2B16982971E</iv>
+			<input>85DC9D7ADF342B0733CF9812CFD58F0A</input>
+			<output>7ED8B4DCBD1D13BEA5C819E99ECF75AA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 164</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>7020802D561D88AD167914A5F158890218EF4B17FBE13632</key>
+			<iv>F0AC93D8DDD31D5BF39E3E98246BC15F</iv>
+			<input>7ED8B4DCBD1D13BEA5C819E99ECF75AA</input>
+			<output>C81F0464C2DE212229370C7A4ED2E890</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 165</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>39F8EA2D638410ABDE6610C13386A82031D8476DB533DEA2</key>
+			<iv>FD6338FAE6F6B00B49D86A0035999806</iv>
+			<input>C81F0464C2DE212229370C7A4ED2E890</input>
+			<output>23A0FA99C632BCC62A035A09514C3EBA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 166</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>52FA33F30EFD8D0FFDC6EA58F5B414E61BDB1D64E47FE018</key>
+			<iv>04C6E0136D8E04C16B02D9DE6D799DA4</iv>
+			<input>23A0FA99C632BCC62A035A09514C3EBA</input>
+			<output>9F7F1081AE4B6AD51D395D764D2D5B68</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 167</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>95C21BD9257B233A62B9FAD95BFF7E3306E24012A952BB70</key>
+			<iv>72410E03AAE65889C738282A2B86AE35</iv>
+			<input>9F7F1081AE4B6AD51D395D764D2D5B68</input>
+			<output>5F088092968BF4AF04BF862A6721DF2B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 168</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>058F749326AE1DD53DB17A4BCD748A9C025DC638CE73645B</key>
+			<iv>D678325E266D12D7904D6F4A03D53EEF</iv>
+			<input>5F088092968BF4AF04BF862A6721DF2B</input>
+			<output>15670F60D1D70E129418AC14A425DD70</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 169</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>23D2D59C5EF4AF3D28D6752B1CA3848E96456A2C6A56B92B</key>
+			<iv>BB7B672A91E9A61A265DA10F785AB2E8</iv>
+			<input>15670F60D1D70E129418AC14A425DD70</input>
+			<output>3273AC9D250F729AE790A941739C79BF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 170</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>E11B1F94517914C81AA5D9B639ACF61471D5C36D19CAC094</key>
+			<iv>AB84F623EFA11728C2C9CA080F8DBBF5</iv>
+			<input>3273AC9D250F729AE790A941739C79BF</input>
+			<output>9B135880CB56A8E6CF3A364CC6E02175</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 171</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>66F867085DBE626581B68136F2FA5EF2BEEFF521DF2AE1E1</key>
+			<iv>01ED899C8DC9C09E87E3789C0CC776AD</iv>
+			<input>9B135880CB56A8E6CF3A364CC6E02175</input>
+			<output>681D6FC5447CCFE1152156CFF6172B6A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 172</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>98505FCD27DAB39EE9ABEEF3B6869113ABCEA3EE293DCA8B</key>
+			<iv>A58C8285C31035B1FEA838C57A64D1FB</iv>
+			<input>681D6FC5447CCFE1152156CFF6172B6A</input>
+			<output>6E30DF3FBD67A5FD491E315EF3A268A0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 173</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9F904A41C19B57A9879B31CC0BE134EEE2D092B0DA9FA22B</key>
+			<iv>6F46DCB3A84FD96907C0158CE641E437</iv>
+			<input>6E30DF3FBD67A5FD491E315EF3A268A0</input>
+			<output>5B4980E24D8F9CABE017991326FBBE95</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 174</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>A330D5A6779731D6DCD2B12E466EA84502C70BA3FC641CBE</key>
+			<iv>C5BDAB77E0CA95463CA09FE7B60C667F</iv>
+			<input>5B4980E24D8F9CABE017991326FBBE95</input>
+			<output>7324530BF94BD80D286C9BE2FE4113D3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 175</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>20F008DE76D7968AAFF6E225BF2570482AAB904102250F6D</key>
+			<iv>32F5EC4AEBB997C583C0DD780140A75C</iv>
+			<input>7324530BF94BD80D286C9BE2FE4113D3</input>
+			<output>B163425AB21DF6AFBD2C7000E777E902</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 176</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>0F48153B232E71F41E95A07F0D3886E79787E041E552E66F</key>
+			<iv>3D1854E0C481B28E2FB81DE555F9E77E</iv>
+			<input>B163425AB21DF6AFBD2C7000E777E902</input>
+			<output>EB1A6C86C3811E3081325F35BA7F2DCA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 177</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>96EE2134FD40CA34F58FCCF9CEB998D716B5BF745F2DCBA5</key>
+			<iv>8629366A8B8E266499A6340FDE6EBBC0</iv>
+			<input>EB1A6C86C3811E3081325F35BA7F2DCA</input>
+			<output>E9675AF0035C3F8E9D5E58D0652BF5C7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 178</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>BF754C828BFE309B1CE89609CDE5A7598BEBE7A43A063E62</key>
+			<iv>566D5FCEC3FF7D43299B6DB676BEFAAF</iv>
+			<input>E9675AF0035C3F8E9D5E58D0652BF5C7</input>
+			<output>24B4DA85EEFAA123948C6B5E0E07EB08</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 179</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>F0223B4AF5C885B4385C4C8C231F067A1F678CFA3401D56A</key>
+			<iv>67B98EC651B057104F5777C87E36B52F</iv>
+			<input>24B4DA85EEFAA123948C6B5E0E07EB08</input>
+			<output>753CFEBBB9E623453B8BB2976B8D7BD4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 180</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>04665169E091DEF74D60B2379AF9253F24EC3E6D5F8CAEBE</key>
+			<iv>BC3806A9E56A1DACF4446A2315595B43</iv>
+			<input>753CFEBBB9E623453B8BB2976B8D7BD4</input>
+			<output>6949284723B4F795D530B366FAE70876</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 181</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9CABB1CFD4E46F8324299A70B94DD2AAF1DC8D0BA56BA6C8</key>
+			<iv>8C864563BB8D45A098CDE0A63475B174</iv>
+			<input>6949284723B4F795D530B366FAE70876</input>
+			<output>D43FED9A25C62349787F0336BFFBBFEB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 182</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>4407065E88AE79D9F01677EA9C8BF1E389A38E3D1A901923</key>
+			<iv>539CC5888B34198FD8ACB7915C4A165A</iv>
+			<input>D43FED9A25C62349787F0336BFFBBFEB</input>
+			<output>030733E175916579F582A778B261DA1C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 183</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>84D1EE80E8FA54DEF311440BE91A949A7C212945A8F1C33F</key>
+			<iv>78306F4F56DEF759C0D6E8DE60542D07</iv>
+			<input>030733E175916579F582A778B261DA1C</input>
+			<output>F7B1ABE4B4AE3CB726F9A88B06D4552A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 184</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>E885BEA6176A75D804A0EFEF5DB4A82D5AD881CEAE259615</key>
+			<iv>3AC80B78F744208A6C545026FF902106</iv>
+			<input>F7B1ABE4B4AE3CB726F9A88B06D4552A</input>
+			<output>DA984A2C346A4B758E066EB509079168</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 185</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>2E0317B2DB3F9893DE38A5C369DEE358D4DEEF7BA722077D</key>
+			<iv>FC74E03B1068A6FEC686A914CC55ED4B</iv>
+			<input>DA984A2C346A4B758E066EB509079168</input>
+			<output>21F473636EF27B91F29BB1CE67908763</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 186</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>850E1B37E1F7DD89FFCCD6A0072C98C926455EB5C0B2801E</key>
+			<iv>7DFD76EE7EF97796AB0D0C853AC8451A</iv>
+			<input>21F473636EF27B91F29BB1CE67908763</input>
+			<output>9EEF6E211CC8EDBD3C4FBE3E14B13C70</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 187</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>655D365D66CAA5C36123B8811BE475741A0AE08BD403BC6E</key>
+			<iv>33318C04CC0B3CBDE0532D6A873D784A</iv>
+			<input>9EEF6E211CC8EDBD3C4FBE3E14B13C70</input>
+			<output>8AB49333CA7B2E58E7B24536BB34DEE7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 188</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>BE3C315647F981DCEB972BB2D19F5B2CFDB8A5BD6F376289</key>
+			<iv>79D06A0D66B5C2B1DB61070B2133241F</iv>
+			<input>8AB49333CA7B2E58E7B24536BB34DEE7</input>
+			<output>323D1E775FD729005DA7A2853A855ED4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 189</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>3126E544A65724C4D9AA35C58E48722CA01F073855B23C5D</key>
+			<iv>CC5C9D95685AF1228F1AD412E1AEA518</iv>
+			<input>323D1E775FD729005DA7A2853A855ED4</input>
+			<output>E283016FEDADEBA2BEC7ADB5A8DEA8B9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 190</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>BCF052AFAFA4852D3B2934AA63E5998E1ED8AA8DFD6C94E4</key>
+			<iv>2753144E0A26D9FE8DD6B7EB09F3A1E9</iv>
+			<input>E283016FEDADEBA2BEC7ADB5A8DEA8B9</input>
+			<output>9A9BB977D53BBD47550DC60A49AFA0FA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 191</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>ECB724A85CBC7B58A1B28DDDB6DE24C94BD56C87B4C3341E</key>
+			<iv>27F910046A94AA3B50477607F318FE75</iv>
+			<input>9A9BB977D53BBD47550DC60A49AFA0FA</input>
+			<output>AF4C7AC3B02C1B077E8F97B59AE52A21</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 192</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>BCA9E9794F9004AB0EFEF71E06F23FCE355AFB322E261E3F</key>
+			<iv>8AF06705FE272571501ECDD1132C7FF3</iv>
+			<input>AF4C7AC3B02C1B077E8F97B59AE52A21</input>
+			<output>A97DEE2A64DFA7C198B6A4F21E80F7DF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 193</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>10DCC14B9A309E25A7831934622D980FADEC5FC030A6E9E0</key>
+			<iv>B04E1C6FC657B8AEAC752832D5A09A8E</iv>
+			<input>A97DEE2A64DFA7C198B6A4F21E80F7DF</input>
+			<output>34E8228A24C7A16F9ED3F4B9A94AA70D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 194</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9CB6EE6AAEFAFBED936B3BBE46EA3960333FAB7999EC4EED</key>
+			<iv>6A966EBB8F80A1608C6A2F2134CA65C8</iv>
+			<input>34E8228A24C7A16F9ED3F4B9A94AA70D</input>
+			<output>99E6CA896906CBAA9B8D01155D1DB162</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 195</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>461916712E8BD6F10A8DF1372FECF2CAA8B2AA6CC4F1FF8F</key>
+			<iv>EAF849974783FAA7DAAFF81B80712D1C</iv>
+			<input>99E6CA896906CBAA9B8D01155D1DB162</input>
+			<output>6009B53EB4690C1F1F10639F1FD7640A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 196</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>5B9B91A966F9CE146A8444099B85FED5B7A2C9F3DB269B85</key>
+			<iv>3FB045D182F781EB1D8287D8487218E5</iv>
+			<input>6009B53EB4690C1F1F10639F1FD7640A</input>
+			<output>88ED4BC34A27F4C4B480B99857EBF541</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 197</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>404F7D8B0E966F02E2690FCAD1A20A110322706B8CCD6EC4</key>
+			<iv>49C0F4571BAEBE4C1BD4EC22686FA116</iv>
+			<input>88ED4BC34A27F4C4B480B99857EBF541</input>
+			<output>B88F0E3E01FEDF97766AC6B762D2EBC3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 198</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>CB2EA99F330A3A865AE601F4D05CD5867548B6DCEE1F8507</key>
+			<iv>2518DA0D88C02EC38B61D4143D9C5584</iv>
+			<input>B88F0E3E01FEDF97766AC6B762D2EBC3</input>
+			<output>C1C167FF37E89937DCB8D79C9BC9EC74</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 199</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>913C795CF72CD1219B27660BE7B44CB1A9F0614075D66973</key>
+			<iv>37769A59390261FB5A12D0C3C426EBA7</iv>
+			<input>C1C167FF37E89937DCB8D79C9BC9EC74</input>
+			<output>64D912270A1E60192CDAAD8168219E56</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 200</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>05F19DF919E44144FFFE742CEDAA2CA8852ACCC11DF7F725</key>
+			<iv>63E9D4D1BDD7FEAD94CDE4A5EEC89065</iv>
+			<input>64D912270A1E60192CDAAD8168219E56</input>
+			<output>C9AD2DBB1C686A67A3E21A5659576A2B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 201</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>099D0DCE5E4E194236535997F1C246CF26C8D69744A09D0E</key>
+			<iv>A01E3F917EF4652F0C6C903747AA5806</iv>
+			<input>C9AD2DBB1C686A67A3E21A5659576A2B</input>
+			<output>244C740B4B136C6C480D0147163868D1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 202</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>EA1F242E9C75C712121F2D9CBAD12AA36EC5D7D05298F5DF</key>
+			<iv>C9D2288C473BCB3EE38229E0C23BDE50</iv>
+			<input>244C740B4B136C6C480D0147163868D1</input>
+			<output>A6B125A9C570CC3ECBB5D302ADB96E34</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 203</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>CD5D7C91FBDC81A1B4AE08357FA1E69DA57004D2FF219BEB</key>
+			<iv>871F525F8ED73B7F274258BF67A946B3</iv>
+			<input>A6B125A9C570CC3ECBB5D302ADB96E34</input>
+			<output>0F9862A4A21E1FB365135C07577FB3EE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 204</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>F7D9B8C22BDC8005BB366A91DDBFF92EC06358D5A85E2805</key>
+			<iv>01BB0A9A8737C19D3A84C453D00001A4</iv>
+			<input>0F9862A4A21E1FB365135C07577FB3EE</input>
+			<output>D833DB436E1751B882D03FADF683690B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 205</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>83F81E3CED72F22F6305B1D2B3A8A89642B367785EDD410E</key>
+			<iv>80E0E7001CCA60CA7421A6FEC6AE722A</iv>
+			<input>D833DB436E1751B882D03FADF683690B</input>
+			<output>0AE2C64D2C577C420F26F2F48AA58D62</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 206</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>63310E5F2F8F0E0769E7779F9FFFD4D44D95958CD478CC6C</key>
+			<iv>57E54995CDC9417DE0C91063C2FDFC28</iv>
+			<input>0AE2C64D2C577C420F26F2F48AA58D62</input>
+			<output>B0E2976AA3891A2C71AFEB063E3C4383</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 207</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>F3AE2989B3980DC9D905E0F53C76CEF83C3A7E8AEA448FEF</key>
+			<iv>999DD6C2B1C528E2909F27D69C1703CE</iv>
+			<input>B0E2976AA3891A2C71AFEB063E3C4383</input>
+			<output>16F8A305177ECDBA15403FE5D8EEF60D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 208</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>52CF17D8DEA4CE5ACFFD43F02B080342297A416F32AA79E2</key>
+			<iv>C9F5BC961057F845A1613E516D3CC393</iv>
+			<input>16F8A305177ECDBA15403FE5D8EEF60D</input>
+			<output>A607A3EE165E82711B30B44CF4E0C4CF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 209</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>E22ADE79E75FE58E69FAE01E3D568133324AF523C64ABD2D</key>
+			<iv>E153F25DD207351AB0E5C9A139FB2BD4</iv>
+			<input>A607A3EE165E82711B30B44CF4E0C4CF</input>
+			<output>5191CDD0D077AD6BE956AF8E8E39FECA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 210</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>38C58EA4EA1E8D4C386B2DCEED212C58DB1C5AAD487343E7</key>
+			<iv>F55357187F06B142DAEF50DD0D4168C2</iv>
+			<input>5191CDD0D077AD6BE956AF8E8E39FECA</input>
+			<output>F63A42508522E5F09C31F160298E8E6F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 211</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>8C29CD4F1330EF25CE516F9E6803C9A8472DABCD61FDCD88</key>
+			<iv>2CBD520E6F6F89C7B4EC43EBF92E6269</iv>
+			<input>F63A42508522E5F09C31F160298E8E6F</input>
+			<output>E58ED2EA8671DC5D527CDE01C6D9655D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 212</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>3650C9671F38CD752BDFBD74EE7215F5155175CCA724A8D5</key>
+			<iv>73CA969AECA5574BBA7904280C082250</iv>
+			<input>E58ED2EA8671DC5D527CDE01C6D9655D</input>
+			<output>5FFCACC68357B6709F5B10D48C65EA40</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 213</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>6F68A078A75FF5A1742311B26D25A3858A0A65182B414295</key>
+			<iv>DEA2D7D8F9FE3E7D5938691FB86738D4</iv>
+			<input>5FFCACC68357B6709F5B10D48C65EA40</input>
+			<output>10BBA695F25C1F9412DB80F59F937F84</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 214</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9E08E5F9EEC5A7606498B7279F79BC1198D1E5EDB4D23D11</key>
+			<iv>20E4DE61513233E5F1604581499A52C1</iv>
+			<input>10BBA695F25C1F9412DB80F59F937F84</input>
+			<output>36CAF539734BCAF8250595E5E5DB3E94</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 215</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>F72A5636B3A2D23B5252421EEC3276E9BDD4700851090385</key>
+			<iv>9DEBE05128A2A1A06922B3CF5D67755B</iv>
+			<input>36CAF539734BCAF8250595E5E5DB3E94</input>
+			<output>C64074C9A34850C6FD1B12CD8AE9EF30</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 216</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D74FABF587AB10AA941236D74F7A262F40CF62C5DBE0ECB5</key>
+			<iv>DEF3A637247B78C02065FDC33409C291</iv>
+			<input>C64074C9A34850C6FD1B12CD8AE9EF30</input>
+			<output>DF663CE4199BC64ACB9B6F99D69EC679</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 217</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>8D12BAEA80612A284B740A3356E1E0658B540D5C0D7E2ACC</key>
+			<iv>7D9C0365E66F1A355A5D111F07CA3A82</iv>
+			<input>DF663CE4199BC64ACB9B6F99D69EC679</input>
+			<output>CD1BCBDCE7F8C008177E25B83604EE83</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 218</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>57B4196767474175866FC1EFB119206D9C2A28E43B7AC44F</key>
+			<iv>41846FA05FC28ABCDAA6A38DE7266B5D</iv>
+			<input>CD1BCBDCE7F8C008177E25B83604EE83</input>
+			<output>CD7E96FE44368C4AD22E9D4F6BE3C2C2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 219</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>CBA15BF34D728F0E4B115711F52FAC274E04B5AB5099068D</key>
+			<iv>873A6522E20108C09C1542942A35CE7B</iv>
+			<input>CD7E96FE44368C4AD22E9D4F6BE3C2C2</input>
+			<output>BCC88D6EAF2E41D9AA6E7C91DADCF92E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 220</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D3071140E7C7E244F7D9DA7F5A01EDFEE46AC93A8A45FFA3</key>
+			<iv>A50F782EA949C2A718A64AB3AAB56D4A</iv>
+			<input>BCC88D6EAF2E41D9AA6E7C91DADCF92E</input>
+			<output>1FFD3EC8E0D0AD8F3D23961703C0C445</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 221</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>3F44AB6E12394D24E824E4B7BAD14071D9495F2D89853BE6</key>
+			<iv>501500DC8A97D00BEC43BA2EF5FEAF60</iv>
+			<input>1FFD3EC8E0D0AD8F3D23961703C0C445</input>
+			<output>1D3D85A9A4BF101E12CC79640D716AC6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 222</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D6B97A7D0CEBEA71F519611E1E6E506FCB85264984F45120</key>
+			<iv>84933D2D2F1F6C13E9FDD1131ED2A755</iv>
+			<input>1D3D85A9A4BF101E12CC79640D716AC6</input>
+			<output>A2228D0483F9CF74CAA301FD30D7DB68</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 223</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>E86CCBF22BAF7B31573BEC1A9D979F1B012627B4B4238A48</key>
+			<iv>4AE5BFEB7168981E3ED5B18F27449140</iv>
+			<input>A2228D0483F9CF74CAA301FD30D7DB68</input>
+			<output>D43E1D2C7447B7C08BCA25F8371AEECF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 224</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>0279786975DB97998305F136E9D028DB8AEC024C83396487</key>
+			<iv>2FC19D77503C0296EA15B39B5E74ECA8</iv>
+			<input>D43E1D2C7447B7C08BCA25F8371AEECF</input>
+			<output>4F97B6C0B7D10763CD5CE3A45855FEC0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 225</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>7F842708B71AD43BCC9247F65E012FB847B0E1E8DB6C9A47</key>
+			<iv>BAC3ED277430C4537DFD5F61C2C143A2</iv>
+			<input>4F97B6C0B7D10763CD5CE3A45855FEC0</input>
+			<output>067B1521895AE654CA0C20492A9714B8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 226</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>2FA21F709793A1C7CAE952D7D75BC9EC8DBCC1A1F1FB8EFF</key>
+			<iv>66014BDC0AD70ABB50263878208975FC</iv>
+			<input>067B1521895AE654CA0C20492A9714B8</input>
+			<output>E07E7A1D3F39E45E3A755A82EE3C2EBC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 227</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>671468BAD93EDBD32A9728CAE8622DB2B7C99B231FC7A043</key>
+			<iv>47BFF88E3EC2E8DC48B677CA4EAD7A14</iv>
+			<input>E07E7A1D3F39E45E3A755A82EE3C2EBC</input>
+			<output>0933D51670E8918147A56816B838BC74</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 228</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9749A2F6B448445023A4FDDC988ABC33F06CF335A7FF1C37</key>
+			<iv>58F8C33F4725EED2F05DCA4C6D769F83</iv>
+			<input>0933D51670E8918147A56816B838BC74</input>
+			<output>E90570CDFC2CDCC99826780CA7CD7A1C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 229</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>C43D753C2489B403CAA18D1164A660FA684A8B390032662B</key>
+			<iv>C4027E5BF29E96A65374D7CA90C1F053</iv>
+			<input>E90570CDFC2CDCC99826780CA7CD7A1C</input>
+			<output>65B6C303491459554CDDA630AAB36C12</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 230</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>32F2C804DF89C908AF174E122DB239AF24972D09AA810A39</key>
+			<iv>51DE94724DCE9B10F6CFBD38FB007D0B</iv>
+			<input>65B6C303491459554CDDA630AAB36C12</input>
+			<output>A0B1694685785EFBDD6DB8E4FC312BC4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 231</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9431549183D690920FA62754A8CA6754F9FA95ED56B021FD</key>
+			<iv>5CBDC9F06F45D2F5A6C39C955C5F599A</iv>
+			<input>A0B1694685785EFBDD6DB8E4FC312BC4</input>
+			<output>C271A8F639D1A293F4B8899428F618C2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 232</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>0AA1211F2A2134DACDD78FA2911BC5C70D421C797E46393F</key>
+			<iv>E52D7ACAF5DFAF799E90758EA9F7A448</iv>
+			<input>C271A8F639D1A293F4B8899428F618C2</input>
+			<output>AB7968C2A1859D5AEBFAEB201910B672</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 233</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>88BFBDDC6D21FC0E66AEE760309E589DE6B8F75967568F4D</key>
+			<iv>15AF9C49191BF995821E9CC34700C8D4</iv>
+			<input>AB7968C2A1859D5AEBFAEB201910B672</input>
+			<output>59D394BB9C41BE21C050A9DF2DD94C2B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 234</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>05AB922FA8B6F5FF3F7D73DBACDFE6BC26E85E864A8FC366</key>
+			<iv>0FB568270892E7A98D142FF3C59709F1</iv>
+			<input>59D394BB9C41BE21C050A9DF2DD94C2B</input>
+			<output>43F89BAE0DCCB0EAF30411E6239A753C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 235</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>7A7ED7932DED53767C85E875A1135656D5EC4F606915B65A</key>
+			<iv>48F1E1DAEE9C16CD7FD545BC855BA689</iv>
+			<input>43F89BAE0DCCB0EAF30411E6239A753C</input>
+			<output>8196A2F49E2508443F86B294D71A5D5E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 236</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>8955F595C21BF3AAFD134A813F365E12EA6AFDF4BE0FEB04</key>
+			<iv>B3DEB1ED557CB477F32B2206EFF6A0DC</iv>
+			<input>8196A2F49E2508443F86B294D71A5D5E</input>
+			<output>5ED45F8741E7FC5C77CAACA9D3DFA26D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 237</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>09205C9C2A528A5BA3C715067ED1A24E9DA0515D6DD04969</key>
+			<iv>3742941BC0992AAC8075A909E84979F1</iv>
+			<input>5ED45F8741E7FC5C77CAACA9D3DFA26D</input>
+			<output>F60C9F9616A03B40655CB733EE1C3B68</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 238</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>46DAA0A9A034745355CB8A906871990EF8FCE66E83CC7201</key>
+			<iv>A3E1EA7D9E5BA6CE4FFAFC358A66FE08</iv>
+			<input>F60C9F9616A03B40655CB733EE1C3B68</input>
+			<output>E73F7E14A3A245B1E594F659D996ED06</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 239</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>DA145A69C9D459E1B2F4F484CBD3DCBF1D6810375A5A9F07</key>
+			<iv>F5D4EB0EAB3486D29CCEFAC069E02DB2</iv>
+			<input>E73F7E14A3A245B1E594F659D996ED06</input>
+			<output>52651C2039168170765B235D85BF6CEC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 240</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>61CD045E05969B9FE091E8A4F2C55DCF6B33336ADFE5F3EB</key>
+			<iv>F7162437A85A186ABBD95E37CC42C27E</iv>
+			<input>52651C2039168170765B235D85BF6CEC</input>
+			<output>665C920C4BB95B5C716D60AE9C30DB1B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 241</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>BDF9F289D095660D86CD7AA8B97C06931A5E53C443D528F0</key>
+			<iv>ADD7416105DB0CF0DC34F6D7D503FD92</iv>
+			<input>665C920C4BB95B5C716D60AE9C30DB1B</input>
+			<output>F6E1D36CF7D41F70885587A85B897EA2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 242</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>4CBAF7692571D8C5702CA9C44EA819E3920BD46C185C5652</key>
+			<iv>9FBF3815905FCD9FF14305E0F5E4BEC8</iv>
+			<input>F6E1D36CF7D41F70885587A85B897EA2</input>
+			<output>137DB7F20F98671E37F55E401D0482E2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 243</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>CEBF572BB09CC72963511E3641307EFDA5FE8A2C0558D4B0</key>
+			<iv>0C3951BDCA9582CA8205A04295ED1FEC</iv>
+			<input>137DB7F20F98671E37F55E401D0482E2</input>
+			<output>72125C79A48573158496EFCC5CA552D4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 244</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>0D8978CF8179CBBF1143424FE5B50DE8216865E059FD8664</key>
+			<iv>898422AB0DB951B1C3362FE431E50C96</iv>
+			<input>72125C79A48573158496EFCC5CA552D4</input>
+			<output>6B12016832DE435A963FFFA857824CF7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 245</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>180D2DA794FEAF777A514327D76B4EB2B7579A480E7FCA93</key>
+			<iv>0B47A508EAD8008015845568158764C8</iv>
+			<input>6B12016832DE435A963FFFA857824CF7</input>
+			<output>18693A241FB5687CF3A793B9B7EE4B15</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 246</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>3D6C36453DCA611462387903C8DE26CE44F009F1B9918186</key>
+			<iv>857CC19C3E72C1AD25611BE2A934CE63</iv>
+			<input>18693A241FB5687CF3A793B9B7EE4B15</input>
+			<output>4E04BD363AFC26BDDD3D98892A7C705A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 247</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>8B626E8D8E075BCE2C3CC435F222007399CD917893EDF1DC</key>
+			<iv>6E4FCD034F6E2AF5B60E58C8B3CD3ADA</iv>
+			<input>4E04BD363AFC26BDDD3D98892A7C705A</input>
+			<output>06FB2C371C3F54518AA0A2766CE1CCF3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 248</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>A5ECEB5BAE22C2E72AC7E802EE1D5422136D330EFF0C3D2F</key>
+			<iv>4A23E1EFBB43855E2E8E85D620259929</iv>
+			<input>06FB2C371C3F54518AA0A2766CE1CCF3</input>
+			<output>D7DE2C298EB1EF273A6386986BDEC555</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 249</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>B25537EEFD5BDA7AFD19C42B60ACBB05290EB59694D2F87A</key>
+			<iv>9034BBDBF74A369E17B9DCB55379189D</iv>
+			<input>D7DE2C298EB1EF273A6386986BDEC555</input>
+			<output>0F4A1CEA83DA845DEC063ADFF173F424</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 250</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>39FEF1C45697DABCF253D8C1E3763F58C5088F4965A10C5E</key>
+			<iv>2B5EF64E50A2CF5F8BABC62AABCC00C6</iv>
+			<input>0F4A1CEA83DA845DEC063ADFF173F424</input>
+			<output>CE27F8AF55009D3658D166B960CA12D6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 251</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>5657BBA1106032F13C74206EB676A26E9DD9E9F0056B1E88</key>
+			<iv>CE96953F749BBFD66FA94A6546F7E84D</iv>
+			<input>CE27F8AF55009D3658D166B960CA12D6</input>
+			<output>BF1458E052637EFC0EEF352621606029</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 252</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>A1BC53DEFD62921A8360788EE415DC929336DCD6240B7EA1</key>
+			<iv>B944FC42142E4940F7EBE87FED02A0EB</iv>
+			<input>BF1458E052637EFC0EEF352621606029</input>
+			<output>E4D96706DB5B0DA8FA429BB65BFBE4D8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 253</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>DAC8C0328BA4104167B91F883F4ED13A697447607FF09A79</key>
+			<iv>A8D8E3A3BB687ECC7B7493EC76C6825B</iv>
+			<input>E4D96706DB5B0DA8FA429BB65BFBE4D8</input>
+			<output>1B11FF1367FE94F7759D1BEC40B8FDCC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 254</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>03AE3AA5E62CA4927CA8E09B58B045CD1CE95C8C3F4867B5</key>
+			<iv>35D7DB1466E14E3ED966FA976D88B4D3</iv>
+			<input>1B11FF1367FE94F7759D1BEC40B8FDCC</input>
+			<output>0989D688C947C616AC13B63892E35E74</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 255</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>EAD5A60BB601C1147521361391F783DBB0FAEAB4ADAB39C1</key>
+			<iv>59BA56CC11EFA9A2E97B9CAE502D6586</iv>
+			<input>0989D688C947C616AC13B63892E35E74</input>
+			<output>978C150575871FB2C8847AA0CB092108</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 256</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>C608EE8A971A0383E2AD2316E4709C69787E901466A218C9</key>
+			<iv>253A79448D79B0B72CDD4881211BC297</iv>
+			<input>978C150575871FB2C8847AA0CB092108</input>
+			<output>D08629CCCF6B869B10768DE9E2984B2E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 257</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D8EB4FC4230D3E39322B0ADA2B1B1AF268081DFD843A53E7</key>
+			<iv>E9A7FDB26A37B6601EE3A14EB4173DBA</iv>
+			<input>D08629CCCF6B869B10768DE9E2984B2E</input>
+			<output>E320AECF3803401AB95E09EB50A6EDA5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 258</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>E3F18E12233B5A30D10BA41513185AE8D1561416D49CBE42</key>
+			<iv>4C6B62E3E6658BE73B1AC1D600366409</iv>
+			<input>E320AECF3803401AB95E09EB50A6EDA5</input>
+			<output>D29E97683C9989C75D5D73EAADC23EE2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 259</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>7D9DEAA58D97A2FC0395337D2F81D32F8C0B67FC795E80A0</key>
+			<iv>414A2961119CE4D79E6C64B7AEACF8CC</iv>
+			<input>D29E97683C9989C75D5D73EAADC23EE2</input>
+			<output>8D859D878DF32FDD26AF4984D48A1BD2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 260</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>E4A19E3554E8D73B8E10AEFAA272FCF2AAA42E78ADD49B72</key>
+			<iv>9DF8066FCF854065993C7490D97F75C7</iv>
+			<input>8D859D878DF32FDD26AF4984D48A1BD2</input>
+			<output>7B524B71439722F0555D4681F7EEAAC9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 261</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>0C93CDDA4435E903F542E58BE1E5DE02FFF968F95A3A31BB</key>
+			<iv>9529BF1B1ACEEDA5E83253EF10DD3E38</iv>
+			<input>7B524B71439722F0555D4681F7EEAAC9</input>
+			<output>8C8ECC9829F06F73497EA90D48CD7FC5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 262</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>637747C6EF7B72B579CC2913C815B171B687C1F412F74E7E</key>
+			<iv>ADC9666D259469516FE48A1CAB4E9BB6</iv>
+			<input>8C8ECC9829F06F73497EA90D48CD7FC5</input>
+			<output>6E416C2563212821F0D8E7D75297B11F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 263</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>7E4BB22E1A7C4E25178D4536AB349950465F26234060FF61</key>
+			<iv>C3BE9A54FDDA99731D3CF5E8F5073C90</iv>
+			<input>6E416C2563212821F0D8E7D75297B11F</input>
+			<output>EFC73DFA5FB87EA16284E25D22360C2F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 264</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>62B7D329DC5EA208F84A78CCF48CE7F124DBC47E6256F34E</key>
+			<iv>E2145312DF24CBDB1CFC6107C622EC2D</iv>
+			<input>EFC73DFA5FB87EA16284E25D22360C2F</input>
+			<output>1191FC5E2EFA9F19004C7D00E1F4D8B1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 265</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>039B0E1DE399831EE9DB8492DA7678E82497B97E83A22BFF</key>
+			<iv>0931D0D100EEB87D612CDD343FC72116</iv>
+			<input>1191FC5E2EFA9F19004C7D00E1F4D8B1</input>
+			<output>717B1B902086B97296B7E97BC01C259E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 266</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>CB02B3C8CA4A0C9498A09F02FAF0C19AB220500543BE0E61</key>
+			<iv>65D0C1DFC85C7FB9C899BDD529D38F8A</iv>
+			<input>717B1B902086B97296B7E97BC01C259E</input>
+			<output>569097DA8C43871CC5A55AC150ABCD31</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 267</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>5FFAEE959D35C247CE3008D876B3468677850AC41315C350</key>
+			<iv>7A4A448600ACA08994F85D5D577FCED3</iv>
+			<input>569097DA8C43871CC5A55AC150ABCD31</input>
+			<output>4046F3DF53DFC1B56400501F08200FE0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 268</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>0CA33FAAA4B25FEB8E76FB07256C873313855ADB1B35CCB0</key>
+			<iv>C83E2121AA25A5295359D13F39879DAC</iv>
+			<input>4046F3DF53DFC1B56400501F08200FE0</input>
+			<output>87C5362AAF3F31B05C92189E38FD9C66</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 269</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>5B782B675EE9A8A509B3CD2D8A53B6834F17424523C850D6</key>
+			<iv>567E0CD5EAFC699457DB14CDFA5BF74E</iv>
+			<input>87C5362AAF3F31B05C92189E38FD9C66</input>
+			<output>03A5CD79734810F4D9559FDC97A4B1A1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 270</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>B069B5DCAADA727F0A160054F91BA6779642DD99B46CE177</key>
+			<iv>5397ED8A6DF7641EEB119EBBF433DADA</iv>
+			<input>03A5CD79734810F4D9559FDC97A4B1A1</input>
+			<output>1B1ECDDFD726C66594DF7B050F6758FF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 271</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>52477DE5EFBAE2621108CD8B2E3D6012029DA69CBB0BB988</key>
+			<iv>52151355DA4369C8E22EC8394560901D</iv>
+			<input>1B1ECDDFD726C66594DF7B050F6758FF</input>
+			<output>26E9A7A560DD36D9767A51DA06301BBD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 272</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>6E59FF11BED37F8837E16A2E4EE056CB74E7F746BD3BA235</key>
+			<iv>FB1A5F8FA1C3D1F43C1E82F451699DEA</iv>
+			<input>26E9A7A560DD36D9767A51DA06301BBD</input>
+			<output>C2FAB5CDDB329F2EA1E1459251A3CB1B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 273</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>504DE2EC58CE17BBF51BDFE395D2C9E5D506B2D4EC98692E</key>
+			<iv>6BCD90C4D648AB783E141DFDE61D6833</iv>
+			<input>C2FAB5CDDB329F2EA1E1459251A3CB1B</input>
+			<output>4293D0A26E81DBE9FED6113B1954D59F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 274</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>CC6C6C4150E763AAB7880F41FB53120C2BD0A3EFF5CCBCB1</key>
+			<iv>0F61DAA62B7E95A79C218EAD08297411</iv>
+			<input>4293D0A26E81DBE9FED6113B1954D59F</input>
+			<output>5DC81F054088DB9B3D1F8AD4BACC2039</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 275</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>BD3B4967A596578FEA401044BBDBC99716CF293B4F009C88</key>
+			<iv>0C6435697122955071572526F5713425</iv>
+			<input>5DC81F054088DB9B3D1F8AD4BACC2039</input>
+			<output>B6FB950586C671E968FFC709B79E8AF8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 276</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9A08B753E07CD6535CBB85413D1DB87E7E30EE32F89E1670</key>
+			<iv>377A670B7487B3EB2733FE3445EA81DC</iv>
+			<input>B6FB950586C671E968FFC709B79E8AF8</input>
+			<output>ED69B1E52F5F095EFF0AC73A76039B65</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 277</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>E5FAA83242346B4EB1D234A41242B120813A29088E9D8D15</key>
+			<iv>DBEEED8784AD80B57FF21F61A248BD1D</iv>
+			<input>ED69B1E52F5F095EFF0AC73A76039B65</input>
+			<output>FBC0C9A6FBC2CCD02BF5A009B43FE903</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 278</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>44770F6B1653E2754A12FD02E9807DF0AACF89013AA26416</key>
+			<iv>7D9B061A6209E0FAA18DA7595467893B</iv>
+			<input>FBC0C9A6FBC2CCD02BF5A009B43FE903</input>
+			<output>ADBE2B6C2C979C90E019991C5E81F69E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 279</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>89A3B49BBE885D34E7ACD66EC517E1604AD6101D64239288</key>
+			<iv>5495C29E4DDA4E26CDD4BBF0A8DBBF41</iv>
+			<input>ADBE2B6C2C979C90E019991C5E81F69E</input>
+			<output>E382D6611C0B2591BE9B7B6BC66D479D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 280</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>457D838277C2797B042E000FD91CC4F1F44D6B76A24ED515</key>
+			<iv>0303BB8A65CCE419CCDE3719C94A244F</iv>
+			<input>E382D6611C0B2591BE9B7B6BC66D479D</input>
+			<output>7A39D5BFC7ADB6B7539A1AA45A31A7E5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 281</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>814AD70FBAF9D8AA7E17D5B01EB17246A7D771D2F87F72F0</key>
+			<iv>550BD125E57ADE94C437548DCD3BA1D1</iv>
+			<input>7A39D5BFC7ADB6B7539A1AA45A31A7E5</input>
+			<output>3CB8FF426FF48FA93EFAEDC559833C86</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 282</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>89599F584B46337342AF2AF27145FDEF992D9C17A1FC4E76</key>
+			<iv>45800DE7659A8FD008134857F1BFEBD9</iv>
+			<input>3CB8FF426FF48FA93EFAEDC559833C86</input>
+			<output>2F5C7660310DE65B1C5254E2176A15CA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 283</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>8EF84BDE14C7412B6DF35C9240481BB4857FC8F5B6965BBC</key>
+			<iv>5142FFEADEC300C107A1D4865F817258</iv>
+			<input>2F5C7660310DE65B1C5254E2176A15CA</input>
+			<output>7A3056742CF8CFDE9CBEAE32607E8DE3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 284</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>F076085EE3EA165617C30AE66CB0D46A19C166C7D6E8D65F</key>
+			<iv>02FBB83EDCB092957E8E4380F72D577D</iv>
+			<input>7A3056742CF8CFDE9CBEAE32607E8DE3</input>
+			<output>B2B7B7551B2A1D59601003C6EDD70A78</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 285</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>7D74D286D9CEC1C3A574BDB3779AC93379D165013B3FDC27</key>
+			<iv>890E42EAA4C59B078D02DAD83A24D795</iv>
+			<input>B2B7B7551B2A1D59601003C6EDD70A78</input>
+			<output>8B617CCD9B1289F485167DC13126795C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 286</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>8BA3AA3C04001B9D2E15C17EEC8840C7FCC718C00A19A57B</key>
+			<iv>F96182D81751ECCAF6D778BADDCEDA5E</iv>
+			<input>8B617CCD9B1289F485167DC13126795C</input>
+			<output>D4800EE4A5E29A18C655AD5CE23063F9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 287</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>E51B3BF1DF7B0D54FA95CF9A496ADADF3A92B59CE829C682</key>
+			<iv>46297563D303DF226EB891CDDB7B16C9</iv>
+			<input>D4800EE4A5E29A18C655AD5CE23063F9</input>
+			<output>4A6008072DCEB7602BF120F0984FF1D6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 288</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>82091A039C558D36B0F5C79D64A46DBF1163956C70663754</key>
+			<iv>28E82D15BAC860EA671221F2432E8062</iv>
+			<input>4A6008072DCEB7602BF120F0984FF1D6</input>
+			<output>B05CD61BC646851726441B147FBB1AD3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 289</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>C503B4B113DE349700A91186A2E2E8A837278E780FDD2D87</key>
+			<iv>342F9FDEEEBE130A470AAEB28F8BB9A1</iv>
+			<input>B05CD61BC646851726441B147FBB1AD3</input>
+			<output>33E1834199EE6CD5C6F950D4823B2337</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 290</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>4B06065B748AFB69334892C73B0C847DF1DEDEAC8DE60EB0</key>
+			<iv>02928C43C0FF24968E05B2EA6754CFFE</iv>
+			<input>33E1834199EE6CD5C6F950D4823B2337</input>
+			<output>BA0BD1FFA54258361D3A8BD9F3C689E4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 291</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>AD0B10216B5D496B894343389E4EDC4BECE455757E208754</key>
+			<iv>50DC56062E88C9CAE60D167A1FD7B202</iv>
+			<input>BA0BD1FFA54258361D3A8BD9F3C689E4</input>
+			<output>4911046D8F1D2BCF54F22B5A83AF5AE1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 292</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>AF6CC229A2618121C05247551153F784B8167E2FFD8FDDB5</key>
+			<iv>A7CC6A2B280A9DE80267D208C93CC84A</iv>
+			<input>4911046D8F1D2BCF54F22B5A83AF5AE1</input>
+			<output>254CA1983D7B794911B455E857CE902B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 293</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>66413E8C7D11836FE51EE6CD2C288ECDA9A22BC7AA414D9E</key>
+			<iv>D01066ADC643A032C92DFCA5DF70024E</iv>
+			<input>254CA1983D7B794911B455E857CE902B</input>
+			<output>B0A100E60D0404D123D10AE78E9CFFCB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 294</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D13AF271F9C3337455BFE62B212C8A1C8A73212024DDB255</key>
+			<iv>20D00A218F07ECEDB77BCCFD84D2B01B</iv>
+			<input>B0A100E60D0404D123D10AE78E9CFFCB</input>
+			<output>D4CD0CC7D2EBAB050108E94365D34FAA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 295</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>8B3C7094C3AD8B018172EAECF3C721198B7BC863410EFDFF</key>
+			<iv>EC5F46869A00FFC25A0682E53A6EB875</iv>
+			<input>D4CD0CC7D2EBAB050108E94365D34FAA</input>
+			<output>DF913CC34675469401CCA41DB50BFBA4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 296</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>7DCF9D4559C3EA3A5EE3D62FB5B2678D8AB76C7EF405065B</key>
+			<iv>8718728B7105A417F6F3EDD19A6E613B</iv>
+			<input>DF913CC34675469401CCA41DB50BFBA4</input>
+			<output>5B09F0AF91EA41851A232543E97A6ED4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 297</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>C3E6C2A9975117B605EA2680245826089094493D1D7F688F</key>
+			<iv>21D001128A401EBFBE295FECCE92FD8C</iv>
+			<input>5B09F0AF91EA41851A232543E97A6ED4</input>
+			<output>8544DFD1E46D14FF1B0E9CF43A7E9EB6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 298</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>54C6D7971066FDD380AEF951C03532F78B9AD5C92701F639</key>
+			<iv>F861E1C66C3F21779720153E8737EA65</iv>
+			<input>8544DFD1E46D14FF1B0E9CF43A7E9EB6</input>
+			<output>586696A67E355CCDC41AD16D87786773</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 299</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>B47A128050D1FC84D8C86FF7BE006E3A4F8004A4A079914A</key>
+			<iv>55A87D49D3640887E0BCC51740B70157</iv>
+			<input>586696A67E355CCDC41AD16D87786773</input>
+			<output>6C7FF8D2F033B33C729C556E0731ACFF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 300</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>C66EA18D75351D93B4B797254E33DD063D1C51CAA7483DB5</key>
+			<iv>7224A11A5D122A607214B30D25E4E117</iv>
+			<input>6C7FF8D2F033B33C729C556E0731ACFF</input>
+			<output>BC031D9B497C64B15EE143CF4D2130B1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 301</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>00432A82295B2C6708B48ABE074FB9B763FD1205EA690D04</key>
+			<iv>61D8239BE618CC39C62D8B0F5C6E31F4</iv>
+			<input>BC031D9B497C64B15EE143CF4D2130B1</input>
+			<output>325D14CCDE09311A8069C5522FD050FD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 302</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>E03B01935511FA7E3AE99E72D94688ADE394D757C5B95DF9</key>
+			<iv>339B83266B282A96E0782B117C4AD619</iv>
+			<input>325D14CCDE09311A8069C5522FD050FD</input>
+			<output>FA25D0913004A26A3232F743ACC7677E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 303</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>47F79639F27D47E9C0CC4EE3E9422AC7D1A62014697E3A87</key>
+			<iv>C5F60E2EC86A0971A7CC97AAA76CBD97</iv>
+			<input>FA25D0913004A26A3232F743ACC7677E</input>
+			<output>61AA67B567F1CE94326B4711F8115727</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 304</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>EE86C028A3B01E7EA16629568EB3E453E3CD6705916F6DA0</key>
+			<iv>4037462A5B08A27FA971561151CD5997</iv>
+			<input>61AA67B567F1CE94326B4711F8115727</input>
+			<output>35D0FD8AFF6CBDF34065CED4796D9D27</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 305</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>EE88DBE9CCC930CB94B6D4DC71DF59A0A3A8A9D1E802F087</key>
+			<iv>20CB619D26A05953000E1BC16F792EB5</iv>
+			<input>35D0FD8AFF6CBDF34065CED4796D9D27</input>
+			<output>DD69B839EAE7D0DF79F5D06140D54325</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 306</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>C77ADB703861D01649DF6CE59B38897FDA5D79B0A8D7B3A2</key>
+			<iv>16CFCF6A4F3272EA29F20099F4A8E0DD</iv>
+			<input>DD69B839EAE7D0DF79F5D06140D54325</input>
+			<output>CA93E79E612893AA0D979ABDF5CA788A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 307</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>3F486F048B5D9716834C8B7BFA101AD5D7CAE30D5D1DCB28</key>
+			<iv>58332C3A8F187A96F832B474B33C4700</iv>
+			<input>CA93E79E612893AA0D979ABDF5CA788A</input>
+			<output>39974A1C62DF12F62EC9F75704B0EFA8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 308</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>B9022C8EA2C6FEF4BADBC16798CF0823F903145A59AD2480</key>
+			<iv>3C09D97EFC480CD6864A438A299B69E2</iv>
+			<input>39974A1C62DF12F62EC9F75704B0EFA8</input>
+			<output>B840EFC34BCD941BF551E437D633BB3A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 309</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D22317E3BB60B9FA029B2EA4D3029C380C52F06D8F9E9FBA</key>
+			<iv>C755A4CF1FAD90046B213B6D19A6470E</iv>
+			<input>B840EFC34BCD941BF551E437D633BB3A</input>
+			<output>979F6217FD73CAB73A1DE1FACF68542C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 310</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>E196EBBFCDA64F7095044CB32E71568F364F119740F6CB96</key>
+			<iv>D342A7B4EF6CB49F33B5FC5C76C6F68A</iv>
+			<input>979F6217FD73CAB73A1DE1FACF68542C</input>
+			<output>A290A25CFBCB1BEE137AFB860BB2CF29</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 311</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>B756B878A99088B83794EEEFD5BA4D612535EA114B4404BF</key>
+			<iv>D92C9835E799541056C053C76436C7C8</iv>
+			<input>A290A25CFBCB1BEE137AFB860BB2CF29</input>
+			<output>7E99249836CA5167C88BD3431C78C2E0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 312</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>2515F524203B507E490DCA77E3701C06EDBE3952573CC65F</key>
+			<iv>FD7219F6C131C4BD92434D5C89ABD8C6</iv>
+			<input>7E99249836CA5167C88BD3431C78C2E0</input>
+			<output>5B7DAB9C2148A2B7ACCE4723D1D63B3F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 313</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>28A33899811FE9B7127061EBC238BEB141707E7186EAFD60</key>
+			<iv>F6B29A78141D8F8A0DB6CDBDA124B9C9</iv>
+			<input>5B7DAB9C2148A2B7ACCE4723D1D63B3F</input>
+			<output>12BAE3836257C52B88ECEEAAE8DE3B80</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 314</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>85C6089FEF19163500CA8268A06F7B9AC99C90DB6E34C6E0</key>
+			<iv>AE11E9BE14B4ECB1AD6530066E06FF82</iv>
+			<input>12BAE3836257C52B88ECEEAAE8DE3B80</input>
+			<output>71C5D9F8747D428DE30736C4DD33E3E5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 315</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>86665ED5DA56FE90710F5B90D41239172A9BA61FB3072505</key>
+			<iv>2CBAA91201D1980B03A0564A354FE8A5</iv>
+			<input>71C5D9F8747D428DE30736C4DD33E3E5</input>
+			<output>D824A3FB80554CCD519D730D25EED2AF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 316</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>F6D0840D75423D5CA92BF86B544775DA7B06D51296E9F7AA</key>
+			<iv>66AA086063C3768C70B6DAD8AF14C3CC</iv>
+			<input>D824A3FB80554CCD519D730D25EED2AF</input>
+			<output>C974BCBE88ACA9D29312192BE52885BD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 317</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>56F2FDAAB52A8691605F44D5DCEBDC08E814CC3973C17217</key>
+			<iv>14D16CCEDE70F435A02279A7C068BBCD</iv>
+			<input>C974BCBE88ACA9D29312192BE52885BD</input>
+			<output>23B74C4B5E661FA157F571F4C13AA3AE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 318</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>676109782F02525643E8089E828DC3A9BFE1BDCDB2FBD1B9</key>
+			<iv>46BB517768227D1D3193F4D29A28D4C7</iv>
+			<input>23B74C4B5E661FA157F571F4C13AA3AE</input>
+			<output>BDF2A1A79D553C85F5867B2BD5259A82</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 319</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D21B20B085B317EDFE1AA9391FD8FF2C4A67C6E667DE4B3B</key>
+			<iv>054B26F10A7F2D69B57A29C8AAB145BB</iv>
+			<input>BDF2A1A79D553C85F5867B2BD5259A82</input>
+			<output>1E02970BE31FEE63C9BCCC79FB41F670</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 320</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>3CF3F93D44647FB7E0183E32FCC7114F83DB0A9F9C9FBD4B</key>
+			<iv>C44342FC579F9083EEE8D98DC1D7685A</iv>
+			<input>1E02970BE31FEE63C9BCCC79FB41F670</input>
+			<output>70F71372F64174D7C8757F043812439F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 321</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>2C83CB76D99E054E90EF2D400A8665984BAE759BA48DFED4</key>
+			<iv>884B46D9FBE7D99C1070324B9DFA7AF9</iv>
+			<input>70F71372F64174D7C8757F043812439F</input>
+			<output>46B20E91579B5CC0ADE9327478DF25FA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 322</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>0ADEA18FAA36E94BD65D23D15D1D3958E64747EFDC52DB2E</key>
+			<iv>F256BC3206E11E9C265D6AF973A8EC05</iv>
+			<input>46B20E91579B5CC0ADE9327478DF25FA</input>
+			<output>51FE245369F67740615E159E28C2D56C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 323</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>E0C00F8BFD4ADCD087A3078234EB4E1887195271F4900E42</key>
+			<iv>836F6756B9EC572DEA1EAE04577C359B</iv>
+			<input>51FE245369F67740615E159E28C2D56C</input>
+			<output>58A1B407358C1F9783A05C0A43D5B4FB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 324</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>EEA0B17E70A6FC53DF02B3850167518F04B90E7BB745BAB9</key>
+			<iv>0E584BF6D72F08310E60BEF58DEC2083</iv>
+			<input>58A1B407358C1F9783A05C0A43D5B4FB</input>
+			<output>6212DD8752996CC4D747790D5F2BC7E7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 325</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>B6E49EEA07D03112BD106E0253FE3D4BD3FE7776E86E7D5E</key>
+			<iv>2BA760FB0CC14D1858442F947776CD41</iv>
+			<input>6212DD8752996CC4D747790D5F2BC7E7</input>
+			<output>DB16C25BDE0B95F4EC7B34FA2096E6A6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 326</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>F64DCEBA5E71D73E6606AC598DF5A8BF3F85438CC8F89BF8</key>
+			<iv>674AA4866EE9988E40A9505059A1E62C</iv>
+			<input>DB16C25BDE0B95F4EC7B34FA2096E6A6</input>
+			<output>BB98BBB3289F3B5A96C5D3DA92F8CD0F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 327</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>23CBCCA3D63DABB8DD9E17EAA56A93E5A94090565A0056F7</key>
+			<iv>E3D676539CBD9676D5860219884C7C86</iv>
+			<input>BB98BBB3289F3B5A96C5D3DA92F8CD0F</input>
+			<output>324C1661B1E289EA3DAC27AF14E026C5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 328</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D6F7C4A098C4E809EFD2018B14881A0F94ECB7F94EE07032</key>
+			<iv>E7FB3F340E160FB5F53C08034EF943B1</iv>
+			<input>324C1661B1E289EA3DAC27AF14E026C5</input>
+			<output>6EDA104789445C38F66EC2562F95FBDB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 329</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>4B795FAB98879223810811CC9DCC4637628275AF61758BE9</key>
+			<iv>C5E830814D72E9449D8E9B0B00437A2A</iv>
+			<input>6EDA104789445C38F66EC2562F95FBDB</input>
+			<output>C834C54858181891C7D654A7502C0B60</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 330</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>AA317465E376BAF2493CD484C5D45EA6A554210831598089</key>
+			<iv>2388FCCDB47CB5DBE1482BCE7BF128D1</iv>
+			<input>C834C54858181891C7D654A7502C0B60</input>
+			<output>9C5F5599557D176050BBAC4258B87F66</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 331</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>B601C39C0E5F02DED563811D90A949C6F5EF8D4A69E1FFEF</key>
+			<iv>10C2528D377387311C30B7F9ED29B82C</iv>
+			<input>9C5F5599557D176050BBAC4258B87F66</input>
+			<output>ED5F51A6AFA843D467E21F6C68992273</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 332</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>44A1FE3F8349D500383CD0BB3F010A12920D92260178DD9C</key>
+			<iv>9E73D9FB1D2471E8F2A03DA38D16D7DE</iv>
+			<input>ED5F51A6AFA843D467E21F6C68992273</input>
+			<output>D7A5F18382F892264008F75707254D95</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 333</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>568F031D75B9B48FEF992138BDF99834D2056571065D9009</key>
+			<iv>DEC9B60FA5A91887122EFD22F6F0618F</iv>
+			<input>D7A5F18382F892264008F75707254D95</input>
+			<output>D13A34D9F57884ECEE2FA1A412584BE4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 334</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>72CFCCE9FE5EB48A3EA315E148811CD83C2AC4D51405DBED</key>
+			<iv>75C70261D0C49D692440CFF48BE70005</iv>
+			<input>D13A34D9F57884ECEE2FA1A412584BE4</input>
+			<output>064D550098F0813D145A2AA296064CCF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 335</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>58448186BD1ED1FC38EE40E1D0719DE52870EE7782039722</key>
+			<iv>754A1B79A75BD3B32A8B4D6F43406576</iv>
+			<input>064D550098F0813D145A2AA296064CCF</input>
+			<output>D7CD7D2B23E42F7A9808D48C28982743</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 336</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>6FF7BCC770079D57EF233DCAF395B29FB0783AFBAA9BB061</key>
+			<iv>25EE1F4D8F257C6437B33D41CD194CAB</iv>
+			<input>D7CD7D2B23E42F7A9808D48C28982743</input>
+			<output>6F55D4C7A13F08A1D936C5F0177040CA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 337</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>7ECBB104AA3505E58076E90D52AABA3E694EFF0BBDEBF0AB</key>
+			<iv>E21F1527B69B89C8113C0DC3DA3298B2</iv>
+			<input>6F55D4C7A13F08A1D936C5F0177040CA</input>
+			<output>7F061908571CDDBC1F8F82A31A3AF1F9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 338</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>135D99B5F2482FFAFF70F00505B6678276C17DA8A7D10152</key>
+			<iv>5DA54CDB26A0DC2D6D9628B1587D2A1F</iv>
+			<input>7F061908571CDDBC1F8F82A31A3AF1F9</input>
+			<output>30AB085953DE3E8027DE0C8A185A7D02</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 339</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>3C76458A987B66F0CFDBF85C56685902511F7122BF8B7C50</key>
+			<iv>E0614E072D2563DD2F2BDC3F6A33490A</iv>
+			<input>30AB085953DE3E8027DE0C8A185A7D02</input>
+			<output>92C915E98AEBF6265C43A66AC5B40787</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 340</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>EBD41B4484EA67A05D12EDB5DC83AF240D5CD7487A3F7BD7</key>
+			<iv>6EA27DF02FA0A9A9D7A25ECE1C910150</iv>
+			<input>92C915E98AEBF6265C43A66AC5B40787</input>
+			<output>E9AC0996F97FFBA0F7C860A089CDF99F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 341</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>85B6BBBC8E2243D3B4BEE42325FC5484FA94B7E8F3F28248</key>
+			<iv>46D915F802932C936E62A0F80AC82473</iv>
+			<input>E9AC0996F97FFBA0F7C860A089CDF99F</input>
+			<output>BA1D082EDB28E255CB37AFEDB497D43A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 342</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>BDA8736E56DDB34F0EA3EC0DFED4B6D131A3180547655672</key>
+			<iv>0A7B9BCBE89E4CDE381EC8D2D8FFF09C</iv>
+			<input>BA1D082EDB28E255CB37AFEDB497D43A</input>
+			<output>63298FE15A14C4A4E582C57772A0581E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 343</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9B5DC0C3B097B7CE6D8A63ECA4C07275D421DD7235C50E6C</key>
+			<iv>81F4666446CB470526F5B3ADE64A0481</iv>
+			<input>63298FE15A14C4A4E582C57772A0581E</input>
+			<output>AE79390C6789DFCF7110BA93281E9895</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 344</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>E64DDC6A55048E35C3F35AE0C349ADBAA53167E11DDB96F9</key>
+			<iv>DB4439803A1ACA807D101CA9E59339FB</iv>
+			<input>AE79390C6789DFCF7110BA93281E9895</input>
+			<output>2C9DF2ED511595756E5CF6D33442D3A3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 345</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9C75AC9CBA0918CDEF6EA80D925C38CFCB6D91322999455A</key>
+			<iv>B73DBACA0C10AD0A7A3870F6EF0D96F8</iv>
+			<input>2C9DF2ED511595756E5CF6D33442D3A3</input>
+			<output>90FDAEAEDC379128B73515CB2AAC9B7A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 346</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>A045744F6BB9205F7F9306A34E6BA9E77C5884F90335DE20</key>
+			<iv>356BBCDD4EBDA8F93C30D8D3D1B03892</iv>
+			<input>90FDAEAEDC379128B73515CB2AAC9B7A</input>
+			<output>E66EA385E1F20791090CA24ADB250AFC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 347</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>48E94FAC40CFC94B99FDA526AF99AE76755426B3D810D4DC</key>
+			<iv>ABAF17EBE3658829E8AC3BE32B76E914</iv>
+			<input>E66EA385E1F20791090CA24ADB250AFC</input>
+			<output>A17C6802F4322D97C6966B523B54CF88</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 348</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>3FC9CD7847FF49D73881CD245BAB83E1B3C24DE1E3441B54</key>
+			<iv>7D25F4EE8B874E2D772082D40730809C</iv>
+			<input>A17C6802F4322D97C6966B523B54CF88</input>
+			<output>CBEC825D143BF30C58B608B58ABFB618</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 349</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D4464B5CD3CFAD06F36D4F794F9070EDEB74455469FBAD4C</key>
+			<iv>93D0E88641960F8EEB8F86249430E4D1</iv>
+			<input>CBEC825D143BF30C58B608B58ABFB618</input>
+			<output>D7A8E224DAA4DB7629790D3D4D5A8560</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 350</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>73DD2DA38114D0BD24C5AD5D9534AB9BC20D486924A1282C</key>
+			<iv>3E6B8F8084BAA391A79B66FF52DB7DBB</iv>
+			<input>D7A8E224DAA4DB7629790D3D4D5A8560</input>
+			<output>EB7EAD5CF27BA091DEF8D7839EFD7C90</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 351</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>CDA609EB23BB90EBCFBB0001674F0B0A1CF59FEABA5C54BC</key>
+			<iv>8EEE61573B01F1E4BE7B2448A2AF4056</iv>
+			<input>EB7EAD5CF27BA091DEF8D7839EFD7C90</input>
+			<output>2EFA41B666ECBBB1D699C1FB8CA9E175</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 352</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>768FCC098B8F48FFE14141B701A3B0BBCA6C5E1136F5B5C9</key>
+			<iv>60BC671273707E17BB29C5E2A834D814</iv>
+			<input>2EFA41B666ECBBB1D699C1FB8CA9E175</input>
+			<output>44D7245914CF3BF73831D4225BD32FDD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 353</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>91F2FFA6BB520FD1A59665EE156C8B4CF25D8A336D269A14</key>
+			<iv>21187FBCFC5E01BEE77D33AF30DD472E</iv>
+			<input>44D7245914CF3BF73831D4225BD32FDD</input>
+			<output>E9FA049C77C326A4F03D2C9E740DE4A1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 354</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>2FC9C39B5DBC560E4C6C617262AFADE80260A6AD192B7EB5</key>
+			<iv>72912E59A0095846BE3B3C3DE6EE59DF</iv>
+			<input>E9FA049C77C326A4F03D2C9E740DE4A1</input>
+			<output>9A62281465C72FDAA73E00E343A99BC3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 355</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>F401ED3768BC72D4D60E496607688232A55EA64E5A82E576</key>
+			<iv>88022668FE843060DBC82EAC350024DA</iv>
+			<input>9A62281465C72FDAA73E00E343A99BC3</input>
+			<output>FAD9ADA4B98A4141A2857F93F6F71DEB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 356</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>1AD741BDF8A18D8E2CD7E4C2BEE2C37307DBD9DDAC75F89D</key>
+			<iv>F98FECC470C84631EED6AC8A901DFF5A</iv>
+			<input>FAD9ADA4B98A4141A2857F93F6F71DEB</input>
+			<output>630453171FEE434834490229830E1C1A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 357</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>24F7B99681335EAD4FD3B7D5A10C803B3392DBF42F7BE487</key>
+			<iv>5D69B4D81847DABD3E20F82B7992D323</iv>
+			<input>630453171FEE434834490229830E1C1A</input>
+			<output>DE613189001598BA6AE67F259F9FD349</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 358</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>60E401E96083FF2291B2865CA11918815974A4D1B0E437CE</key>
+			<iv>AADE84AD4127FCDA4413B87FE1B0A18F</iv>
+			<input>DE613189001598BA6AE67F259F9FD349</input>
+			<output>CA18925634072DEC80F2F724A0F24235</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 359</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>66831E7F4FC51DB95BAA140A951E356DD98653F5101675FB</key>
+			<iv>1C1E2F698C5DD62006671F962F46E29B</iv>
+			<input>CA18925634072DEC80F2F724A0F24235</input>
+			<output>B289F06551C56B77F5CDF7B321E0E8E3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 360</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>48FB1A5B41F634D5E923E46FC4DB5E1A2C4BA44631F69D18</key>
+			<iv>6A872620ED13A14B2E7804240E33296C</iv>
+			<input>B289F06551C56B77F5CDF7B321E0E8E3</input>
+			<output>13B1F93DD388A192D6FB836C90E0E022</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 361</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>F13FA6E33170F596FA921D521753FF88FAB0272AA1167D3A</key>
+			<iv>40BF714207DA180BB9C4BCB87086C143</iv>
+			<input>13B1F93DD388A192D6FB836C90E0E022</input>
+			<output>298B7B19A27EA1BE9574588A5885F64B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 362</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>CE171639A4DDA77DD319664BB52D5E366FC47FA0F9938B71</key>
+			<iv>8FB32729166E154F3F28B0DA95AD52EB</iv>
+			<input>298B7B19A27EA1BE9574588A5885F64B</input>
+			<output>11FA000C73485654A8918360DF3C1F5E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 363</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9322B0E9AE4D6B20C2E36647C6650862C755FCC026AF942F</key>
+			<iv>809DE75B169C56BE5D35A6D00A90CC5D</iv>
+			<input>11FA000C73485654A8918360DF3C1F5E</input>
+			<output>05533E642958E2F6F29BB1848BE225CB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 364</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>21B86D89874D627FC7B05823EF3DEA9435CE4D44AD4DB1E4</key>
+			<iv>81CF24C876471695B29ADD602900095F</iv>
+			<input>05533E642958E2F6F29BB1848BE225CB</input>
+			<output>613DB485B9565B4889887282A3C8CFB5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 365</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>6E5AD95BDDA04D12A68DECA6566BB1DCBC463FC60E857E51</key>
+			<iv>7E3AC16D28733BD84FE2B4D25AED2F6D</iv>
+			<input>613DB485B9565B4889887282A3C8CFB5</input>
+			<output>0CDDDA3B3375430B601BA1CCBD567284</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 366</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>807937B80E55E814AA50369D651EF2D7DC5D9E0AB3D30CD5</key>
+			<iv>C49324EE3A928684EE23EEE3D3F5A506</iv>
+			<input>0CDDDA3B3375430B601BA1CCBD567284</input>
+			<output>C47A6E22A123AB6397F9C2AFFA6D45AB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 367</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>20B3595EFE3D3DA76E2A58BFC43D59B44BA45CA549BE497E</key>
+			<iv>B188E4D3A2AC3F42A0CA6EE6F068D5B3</iv>
+			<input>C47A6E22A123AB6397F9C2AFFA6D45AB</input>
+			<output>71592AFCA1FEEE8AB6D6CEF22C14A21D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 368</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>A97EAD081EDF66D11F73724365C3B73EFD72925765AAEB63</key>
+			<iv>0DFF90FA3722469289CDF456E0E25B76</iv>
+			<input>71592AFCA1FEEE8AB6D6CEF22C14A21D</input>
+			<output>F4E0C4BCF8B386CF1BD457BD1FB65646</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 369</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>DA90448D67D59E3CEB93B6FF9D7031F1E6A6C5EA7A1CBD25</key>
+			<iv>154DB6488872217073EEE985790AF8ED</iv>
+			<input>F4E0C4BCF8B386CF1BD457BD1FB65646</input>
+			<output>9ED1119909322C280FE92B7840792605</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 370</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>CF62D3016C8507F17542A76694421DD9E94FEE923A659B20</key>
+			<iv>ED45F0A7D33FC08515F2978C0B5099CD</iv>
+			<input>9ED1119909322C280FE92B7840792605</input>
+			<output>F812615F1BE701E74FCEEFC288303C7C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 371</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>C2681849C663E45A8D50C6398FA51C3EA6810150B255A75C</key>
+			<iv>19E09027253115100D0ACB48AAE6E3AB</iv>
+			<input>F812615F1BE701E74FCEEFC288303C7C</input>
+			<output>25897C51C5FEDBFDC630BF8E9F3B2875</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 372</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>F47C452077541CEEA8D9BA684A5BC7C360B1BEDE2D6E8F29</key>
+			<iv>2C2EE28C518163DF36145D69B137F8B4</iv>
+			<input>25897C51C5FEDBFDC630BF8E9F3B2875</input>
+			<output>9929E5E9F0CA00D0E02022E2FCFAFC3F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 373</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>F7BF8679C8D86E2C31F05F81BA91C71380919C3CD1947316</key>
+			<iv>FCF0C5D85049463103C3C359BF8C72C2</iv>
+			<input>9929E5E9F0CA00D0E02022E2FCFAFC3F</input>
+			<output>3B603A3FDAA669E7C965708C9789E329</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 374</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9312EDA0B14017910A9065BE6037AEF449F4ECB0461D903F</key>
+			<iv>364CDACF5762B18864AD6BD9799879BD</iv>
+			<input>3B603A3FDAA669E7C965708C9789E329</input>
+			<output>AC33F7B1A778C36617668C98E20B318A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 375</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D5BC989407D78D82A6A3920FC74F6D925E926028A416A1B5</key>
+			<iv>5FB00506C71711D046AE7534B6979A13</iv>
+			<input>AC33F7B1A778C36617668C98E20B318A</input>
+			<output>B408AF5509EF45E0AEDF12570FAE3651</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 376</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>6BBB14591C12578112AB3D5ACEA02872F04D727FABB897E4</key>
+			<iv>D41F58F192CF60D6BE078CCD1BC5DA03</iv>
+			<input>B408AF5509EF45E0AEDF12570FAE3651</input>
+			<output>39EB055E027AC0DEA5992B7BA3753AB5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 377</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>3F71566EA7D07EBF2B403804CCDAE8AC55D4590408CDAD51</key>
+			<iv>7E495DEC2224696554CA4237BBC2293E</iv>
+			<input>39EB055E027AC0DEA5992B7BA3753AB5</input>
+			<output>832B01D2AD4F0EE077244CF9B6ABE31C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 378</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>0BDC563CE47527D1A86B39D66195E64C22F015FDBE664E4D</key>
+			<iv>4FE13E98163C3F7734AD005243A5596E</iv>
+			<input>832B01D2AD4F0EE077244CF9B6ABE31C</input>
+			<output>926EB7E17FA4262D1D390D83CDAC6FB2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 379</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>07D4D606747858B63A058E371E31C0613FC9187E73CA21FF</key>
+			<iv>12D459160DCFFEFE0C08803A900D7F67</iv>
+			<input>926EB7E17FA4262D1D390D83CDAC6FB2</input>
+			<output>DBFBC3313F86C26BA54B9F69BA93C665</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 380</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>84BE014D4BFA8ACCE1FE4D0621B7020A9A828717C959E79A</key>
+			<iv>179322B7D19F3A38836AD74B3F82D27A</iv>
+			<input>DBFBC3313F86C26BA54B9F69BA93C665</input>
+			<output>39B00A1A655B298F56271B2BDBA6B16B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 381</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>A921F537F5F324CAD84E471C44EC2B85CCA59C3C12FF56F1</key>
+			<iv>D4B03D3AB6FF79D22D9FF47ABE09AE06</iv>
+			<input>39B00A1A655B298F56271B2BDBA6B16B</input>
+			<output>7C5DABBF7C7951808DCD35DB2617B763</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 382</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>3BB6AACEEEC21A9FA413ECA338957A054168A9E734E8E192</key>
+			<iv>5C92A3C4C3C8567792975FF91B313E55</iv>
+			<input>7C5DABBF7C7951808DCD35DB2617B763</input>
+			<output>BD88FB3B815415503D4F9264AFEA7887</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 383</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>008F402C3524BCA8199B1798B9C16F557C273B839B029915</key>
+			<iv>08360D06E31B3AA43B39EAE2DBE6A637</iv>
+			<input>BD88FB3B815415503D4F9264AFEA7887</input>
+			<output>B2813AFBC477618F4C6A436C97AA26F2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 384</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>8AB9F9FC4EE8B2D4AB1A2D637DB60EDA304D78EF0CA8BFE7</key>
+			<iv>DCF7EF19F68916268A36B9D07BCC0E7C</iv>
+			<input>B2813AFBC477618F4C6A436C97AA26F2</input>
+			<output>1E96D52E46B1D73EB00778B203946F28</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 385</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>CA9D4CE917399619B58CF84D3B07D9E4804A005D0F3CD0CF</key>
+			<iv>63A112DB63DDECB54024B51559D124CD</iv>
+			<input>1E96D52E46B1D73EB00778B203946F28</input>
+			<output>C03D770FE4B1733C5E59DD68F0060D5A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 386</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>1D8268F833FC772575B18F42DFB6AAD8DE13DD35FF3ADD95</key>
+			<iv>8B7AC769F85BA650D71F241124C5E13C</iv>
+			<input>C03D770FE4B1733C5E59DD68F0060D5A</input>
+			<output>6495A8A3667DEDE2CAB58BA3B2F7034E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 387</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>CCCEE884786AF28A112427E1B9CB473A14A656964DCDDEDB</key>
+			<iv>280C5BD88E3B88ACD14C807C4B9685AF</iv>
+			<input>6495A8A3667DEDE2CAB58BA3B2F7034E</input>
+			<output>4CC3C2AC85EBD619E708988C9FEC60C6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 388</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>8B85284B2B06874D5DE7E54D3C209123F3AECE1AD221BE1D</key>
+			<iv>62E112946391FEFB474BC0CF536C75C7</iv>
+			<input>4CC3C2AC85EBD619E708988C9FEC60C6</input>
+			<output>1522371FD5D53919F52CD97258CEBDA7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 389</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>B2EBBE81CF234A7E48C5D252E9F5A83A068217688AEF03BA</key>
+			<iv>8A936BAE971C0C9F396E96CAE425CD33</iv>
+			<input>1522371FD5D53919F52CD97258CEBDA7</input>
+			<output>4AA882DCB39AA79E8439E9ECE9F4F3BD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 390</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>043B9FDDEC299802026D508E5A6F0FA482BBFE84631BF007</key>
+			<iv>6FA7FCDBA3B1BCA5B6D0215C230AD27C</iv>
+			<input>4AA882DCB39AA79E8439E9ECE9F4F3BD</input>
+			<output>28C1E45D8D01AD148FA7D7C4F41ACE04</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 391</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>1074F9BD3FFD4EAF2AACB4D3D76EA2B00D1C294097013E03</key>
+			<iv>1210BAF1D69B23FE144F6660D3D4D6AD</iv>
+			<input>28C1E45D8D01AD148FA7D7C4F41ACE04</input>
+			<output>3ABE04FC59C3BDF9D7721902DEFCB439</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 392</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D97F3440E3684D291012B02F8EAD1F49DA6E304249FD8A3A</key>
+			<iv>C271800852E147D5C90BCDFDDC950386</iv>
+			<input>3ABE04FC59C3BDF9D7721902DEFCB439</input>
+			<output>3A563A6A047E16123B289B047BB54C4E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 393</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>49A10E68A38B02F42A448A458AD3095BE146AB463248C674</key>
+			<iv>9DB6856C7E01CF3690DE3A2840E34FDD</iv>
+			<input>3A563A6A047E16123B289B047BB54C4E</input>
+			<output>F8CB54B8D16274E9A20C0F026866E52F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 394</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9DD96DCFD4A1B11FD28FDEFD5BB17DB2434AA4445A2E235B</key>
+			<iv>233C069312D97A03D47863A7772AB3EB</iv>
+			<input>F8CB54B8D16274E9A20C0F026866E52F</input>
+			<output>0302D25C39BF21F67F1AF2E1951D40F9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 395</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>746E55928D7E549DD18D0CA1620E5C443C5056A5CF3363A2</key>
+			<iv>B6086C5FEEE9A078E9B7385D59DFE582</iv>
+			<input>0302D25C39BF21F67F1AF2E1951D40F9</input>
+			<output>721192A3A5140DD63D93E0D6ACC4A4B8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 396</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>7E6FC505EAAB07E4A39C9E02C71A519201C3B67363F7C71A</key>
+			<iv>9828A03F0ADCE33E0A01909767D55379</iv>
+			<input>721192A3A5140DD63D93E0D6ACC4A4B8</input>
+			<output>1C0F7440EF41FF18E263392741AD9D8B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 397</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D13AD442CAE026C3BF93EA42285BAE8AE3A08F54225A5A91</key>
+			<iv>4FC707A846B4469AAF551147204B2127</iv>
+			<input>1C0F7440EF41FF18E263392741AD9D8B</input>
+			<output>442F978615AC3983AA5ABEA81AD1ACA6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 398</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>043A4EFFCD44EEB1FBBC7DC43DF7970949FA31FC388BF637</key>
+			<iv>05D58B4A88A961AFD5009ABD07A4C872</iv>
+			<input>442F978615AC3983AA5ABEA81AD1ACA6</input>
+			<output>E75C29413A33AA1210F36AADEC02FCEE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 399</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>81492E2C6296C9341CE0548507C43D1B59095B51D4890AD9</key>
+			<iv>D89794EAA1791507857360D3AFD22785</iv>
+			<input>E75C29413A33AA1210F36AADEC02FCEE</input>
+			<output>6342BFDDD2F6610350458B6695463484</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tsymmetric/scripts/AESMonteCarloDecryptCBC256.txt	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,6800 @@
+<action>
+	<actionname>AES CBC MonteCarlo Dec 0</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<iv>00000000000000000000000000000000</iv>
+			<input>00000000000000000000000000000000</input>
+			<output>4804E1818FE6297519A3E88C57310413</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 1</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>098E3797788EA3BCD5477BF1660373944804E1818FE6297519A3E88C57310413</key>
+			<iv>098E3797788EA3BCD5477BF166037394</iv>
+			<input>4804E1818FE6297519A3E88C57310413</input>
+			<output>D36C27EBB8FA0BC9FA368DF850FD45FB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 2</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D949E143F98BDE24BD40A256F9E369339B68C66A371C22BCE395657407CC41E8</key>
+			<iv>D0C7D6D481057D986807D9A79FE01AA7</iv>
+			<input>D36C27EBB8FA0BC9FA368DF850FD45FB</input>
+			<output>EBCB4DC84155682856D94B442BC597EE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 3</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>296352DA0158E197EBC80771EC1ECC7D70A38BA276494A94B54C2E302C09D606</key>
+			<iv>F02AB399F8D33FB35688A52715FDA54E</iv>
+			<input>EBCB4DC84155682856D94B442BC597EE</input>
+			<output>23AA6A6B4BE8C04E19707CA330804C4E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 4</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>5D3E9E2EA4DEDDB65A58DADB5B9679BC5309E1C93DA18ADAAC3C52931C899A48</key>
+			<iv>745DCCF4A5863C21B190DDAAB788B5C1</iv>
+			<input>23AA6A6B4BE8C04E19707CA330804C4E</input>
+			<output>9B1AA0F33416484BA68740E821F95CD3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 5</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>E35024184CCA14687DB19E13093D2A31C813413A09B7C2910ABB127B3D70C69B</key>
+			<iv>BE6EBA36E814C9DE27E944C852AB538D</iv>
+			<input>9B1AA0F33416484BA68740E821F95CD3</input>
+			<output>8A8C6ADF453CB7A2FC4F3690FF7C6F23</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 6</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>FDC6EB83FF93BA06DE2D09CB33F05406429F2BE54C8B7533F6F424EBC20CA9B8</key>
+			<iv>1E96CF9BB359AE6EA39C97D83ACD7E37</iv>
+			<input>8A8C6ADF453CB7A2FC4F3690FF7C6F23</input>
+			<output>B104182A3D85B857FB342BD06063E989</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 7</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>7177668BAC9407FB2835524D58F1311EF39B33CF710ECD640DC00F3BA26F4031</key>
+			<iv>8CB18D085307BDFDF6185B866B016518</iv>
+			<input>B104182A3D85B857FB342BD06063E989</input>
+			<output>68AD7EB507FAEE8FF54E5B7EB4314208</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 8</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>790AE8470B39A60E9F32F4025B2251849B364D7A76F423EBF88E5445165E0239</key>
+			<iv>087D8ECCA7ADA1F5B707A64F03D3609A</iv>
+			<input>68AD7EB507FAEE8FF54E5B7EB4314208</input>
+			<output>99736D55B2730FDBC4FCD9128A3E6F06</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 9</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>4EAF05AC15913059B6B0E43EFA7ADC1C0245202FC4872C303C728D579C606D3F</key>
+			<iv>37A5EDEB1EA896572982103CA1588D98</iv>
+			<input>99736D55B2730FDBC4FCD9128A3E6F06</input>
+			<output>DF326CEE98EE253C855D171D93AA9455</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 10</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>55EE1CCDBA5A04040F4212DFBF6ABC89DD774CC15C69090CB92F9A4A0FCAF96A</key>
+			<iv>1B411961AFCB345DB9F2F6E145106095</iv>
+			<input>DF326CEE98EE253C855D171D93AA9455</input>
+			<output>B4E41BD5257CD7AF0A6F020BEE5F4067</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 11</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>6190A91725B7D4E8DD42F3F3B4E42E14699357147915DEA3B3409841E195B90D</key>
+			<iv>347EB5DA9FEDD0ECD200E12C0B8E929D</iv>
+			<input>B4E41BD5257CD7AF0A6F020BEE5F4067</input>
+			<output>3608F41CA4C677E74F48B113D9B336B0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 12</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>0A93E973CCBAC75C9C0AA05502A43E945F9BA308DDD3A944FC08295238268FBD</key>
+			<iv>6B034064E90D13B4414853A6B6401080</iv>
+			<input>3608F41CA4C677E74F48B113D9B336B0</input>
+			<output>FB54DBB9C0C7176C4C9E1E4E6688B570</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 13</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>584CCAEDD52F491A935D892AD132F75AA4CF78B11D14BE28B096371C5EAE3ACD</key>
+			<iv>52DF239E19958E460F57297FD396C9CE</iv>
+			<input>FB54DBB9C0C7176C4C9E1E4E6688B570</input>
+			<output>F40A6A6AE95E9D163D88AAE9A2D359BC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 14</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>0DD784E96CAB96D702DD3972E95317FD50C512DBF44A233E8D1E9DF5FC7D6371</key>
+			<iv>559B4E04B984DFCD9180B0583861E0A7</iv>
+			<input>F40A6A6AE95E9D163D88AAE9A2D359BC</input>
+			<output>0FE04B8BB249E49E24FEB6FFE106121C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 15</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>2BC3A4EBD80215F0130EC1F76821BC515F2559504603C7A0A9E02B0A1D7B716D</key>
+			<iv>26142002B4A9832711D3F8858172ABAC</iv>
+			<input>0FE04B8BB249E49E24FEB6FFE106121C</input>
+			<output>EBA4EF8D541919A0D0947359344D61C9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 16</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>0B5856BE9A78457868F7CF9C9C58EF7AB481B6DD121ADE0079745853293610A4</key>
+			<iv>209BF255427A50887BF90E6BF479532B</iv>
+			<input>EBA4EF8D541919A0D0947359344D61C9</input>
+			<output>06484C36A29BD3CA7CBAB7FBEA47313B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 17</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>C004F13C83AA1FD5C2A592D27B47C437B2C9FAEBB0810DCA05CEEFA8C371219F</key>
+			<iv>CB5CA78219D25AADAA525D4EE71F2B4D</iv>
+			<input>06484C36A29BD3CA7CBAB7FBEA47313B</input>
+			<output>376157B7DB3B027980C5EF0E88B3F9EF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 18</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>AD89203CAD17908C4F44F3FD2D61505385A8AD5C6BBA0FB3850B00A64BC2D870</key>
+			<iv>6D8DD1002EBD8F598DE1612F56269464</iv>
+			<input>376157B7DB3B027980C5EF0E88B3F9EF</input>
+			<output>756783C2F0EE73BBD81B908F660AA6F7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 19</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>FBE990A6247EABC0CD5090DF0C566E01F0CF2E9E9B547C085D1090292DC87E87</key>
+			<iv>5660B09A89693B4C8214632221373E52</iv>
+			<input>756783C2F0EE73BBD81B908F660AA6F7</input>
+			<output>6CC64B773ECDFA9749DB33197F7EA0AB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 20</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>FEC46AD20DA3E667B26D79B11A82A40F9C0965E9A599869F14CBA33052B6DE2C</key>
+			<iv>052DFA7429DD4DA77F3DE96E16D4CA0E</iv>
+			<input>6CC64B773ECDFA9749DB33197F7EA0AB</input>
+			<output>9230E4DCA927E2F8E617A2EBC4F11477</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 21</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>F4396B035E4E1BD914877124D1CD4B370E3981350CBE6467F2DC01DB9647CA5B</key>
+			<iv>0AFD01D153EDFDBEA6EA0895CB4FEF38</iv>
+			<input>9230E4DCA927E2F8E617A2EBC4F11477</input>
+			<output>6ACD9F3939A86EE4236A3C060D2F5C3C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 22</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>49C90E620094D6A85E75BD886FAFE79264F41E0C35160A83D1B63DDD9B689667</key>
+			<iv>BDF065615EDACD714AF2CCACBE62ACA5</iv>
+			<input>6ACD9F3939A86EE4236A3C060D2F5C3C</input>
+			<output>E5F4F050827F69B60B417063AC1060E4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 23</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>1AED4D36938AB2D5D884EF2F106D2CEF8100EE5CB7696335DAF74DBE3778F683</key>
+			<iv>53244354931E647D86F152A77FC2CB7D</iv>
+			<input>E5F4F050827F69B60B417063AC1060E4</input>
+			<output>5CE4B0B3C32700B6B887E05A88EE0239</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 24</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>EF14B937F6E0F19AC8ADBD208DD60EE5DDE45EEF744E63836270ADE4BF96F4BA</key>
+			<iv>F5F9F401656A434F1029520F9DBB220A</iv>
+			<input>5CE4B0B3C32700B6B887E05A88EE0239</input>
+			<output>4794284E2BB56A47332E84AD7A2006A2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 25</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>182581A233332DDCD43C25AF9AA3AD7F9A7076A15FFB09C4515E2949C5B6F218</key>
+			<iv>F7313895C5D3DC461C91988F1775A39A</iv>
+			<input>4794284E2BB56A47332E84AD7A2006A2</input>
+			<output>C8AE2CAA7C257508C3AB75BE28D2602F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 26</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>ABE7FE236E28332AE7A74A9EA03B97A952DE5A0B23DE7CCC92F55CF7ED649237</key>
+			<iv>B3C27F815D1B1EF6339B6F313A983AD6</iv>
+			<input>C8AE2CAA7C257508C3AB75BE28D2602F</input>
+			<output>A9FD4B9D4833B647FF60F8013C3B5B9D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 27</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>08248BDC5F9186DCD65DA6344A10C57EFB2311966BEDCA8B6D95A4F6D15FC9AA</key>
+			<iv>A3C375FF31B9B5F631FAECAAEA2B52D7</iv>
+			<input>A9FD4B9D4833B647FF60F8013C3B5B9D</input>
+			<output>C871D7B4C0167DCFDD79AF1DEAC49D4F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 28</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>BF29FB1B11AA7DB8742FF06458C384853352C622ABFBB744B0EC0BEB3B9B54E5</key>
+			<iv>B70D70C74E3BFB64A272565012D341FB</iv>
+			<input>C871D7B4C0167DCFDD79AF1DEAC49D4F</input>
+			<output>E2DE7BAC726C404FC7BA5099E39409CA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 29</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>1810253DDF0CC5ECE2381FB4C2BEEDCCD18CBD8ED997F70B77565B72D80F5D2F</key>
+			<iv>A739DE26CEA6B8549617EFD09A7D6949</iv>
+			<input>E2DE7BAC726C404FC7BA5099E39409CA</input>
+			<output>D4A8257110EF7FFE2A1F026B28D7483A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 30</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>F343D1EC9AEB200B65DB4AA369F6A47E052498FFC97888F55D495919F0D81515</key>
+			<iv>EB53F4D145E7E5E787E35517AB4849B2</iv>
+			<input>D4A8257110EF7FFE2A1F026B28D7483A</input>
+			<output>9EA25895CFEAEAD224095C4687726D06</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 31</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>86A93B0F219E1FFEBC0E4BA0334046AA9B86C06A069262277940055F77AA7813</key>
+			<iv>75EAEAE3BB753FF5D9D501035AB6E2D4</iv>
+			<input>9EA25895CFEAEAD224095C4687726D06</input>
+			<output>5C5DD66E7AD197DA86844D53C8ACEA0E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 32</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>2278C61356CB0A951DAE3B6DC76868C9C7DB16047C43F5FDFFC4480CBF06921D</key>
+			<iv>A4D1FD1C7755156BA1A070CDF4282E63</iv>
+			<input>5C5DD66E7AD197DA86844D53C8ACEA0E</input>
+			<output>011959D35C8FE620E1C49D1804912F26</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 33</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>E1972A31ACF850A22CBC592AF6CAF6F0C6C24FD720CC13DD1E00D514BB97BD3B</key>
+			<iv>C3EFEC22FA335A373112624731A29E39</iv>
+			<input>011959D35C8FE620E1C49D1804912F26</input>
+			<output>895DDA7BB43DC3060B41DA70CAE4D2ED</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 34</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>BB4A76B5E8FD3820CC5D4A44F527E6704F9F95AC94F1D0DB15410F6471736FD6</key>
+			<iv>5ADD5C8444056882E0E1136E03ED1080</iv>
+			<input>895DDA7BB43DC3060B41DA70CAE4D2ED</input>
+			<output>94E8BBC942B4127A0A8EBEC59319CF57</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 35</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>4D98C60F0FA316B2DA3D11CFB3B9FE0CDB772E65D645C2A11FCFB1A1E26AA081</key>
+			<iv>F6D2B0BAE75E2E9216605B8B469E187C</iv>
+			<input>94E8BBC942B4127A0A8EBEC59319CF57</input>
+			<output>274FE85E229321D4A6B2E9D4F0D3830F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 36</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>A9FC5AC4A7B3550BC34E4BA94C0D328BFC38C63BF4D6E375B97D587512B9238E</key>
+			<iv>E4649CCBA81043B919735A66FFB4CC87</iv>
+			<input>274FE85E229321D4A6B2E9D4F0D3830F</input>
+			<output>256AC08E72D79B0CB7457B26769AC226</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 37</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>1C44DEF03398188AC1B2EF6A6E91A33FD95206B5860178790E3823536423E1A8</key>
+			<iv>B5B88434942B4D8102FCA4C3229C91B4</iv>
+			<input>256AC08E72D79B0CB7457B26769AC226</input>
+			<output>366D17A14CA0FC192DBB731C1C305874</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 38</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>3D80B92C01F9721032366B20D97DC097EF3F1114CAA184602383504F7813B9DC</key>
+			<iv>21C467DC32616A9AF384844AB7EC63A8</iv>
+			<input>366D17A14CA0FC192DBB731C1C305874</input>
+			<output>000B4A6054663874ECAE310144BA9377</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 39</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>48DD38DC16A4CE76338C95A866C1C795EF345B749EC7BC14CF2D614E3CA92AAB</key>
+			<iv>755D81F0175DBC6601BAFE88BFBC0702</iv>
+			<input>000B4A6054663874ECAE310144BA9377</input>
+			<output>32B32D65566626D794FB296CA816B0A8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 40</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>C62EFA02F23FE796799BF9151FBFD8D7DD877611C8A19AC35BD6482294BF9A03</key>
+			<iv>8EF3C2DEE49B29E04A176CBD797E1F42</iv>
+			<input>32B32D65566626D794FB296CA816B0A8</input>
+			<output>D743A090101B1BAF5B83E8C06517E193</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 41</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>91400A96EEADA906ABD4C3F6863CE4750AC4D681D8BA816C0055A0E2F1A87B90</key>
+			<iv>576EF0941C924E90D24F3AE399833CA2</iv>
+			<input>D743A090101B1BAF5B83E8C06517E193</input>
+			<output>2DE61760BEE8F811B3FEB44D2C566DB0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 42</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9983EAD4BF987E39644D7D0963F93DB62722C1E16652797DB3AB14AFDDFE1620</key>
+			<iv>08C3E0425135D73FCF99BEFFE5C5D9C3</iv>
+			<input>2DE61760BEE8F811B3FEB44D2C566DB0</input>
+			<output>E97598EFFED4128DCCCDD7A04D8405E1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 43</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>B72929D2D02A00D36E7C3BD11CDB9FA4CE57590E98866BF07F66C30F907A13C1</key>
+			<iv>2EAAC3066FB27EEA0A3146D87F22A212</iv>
+			<input>E97598EFFED4128DCCCDD7A04D8405E1</input>
+			<output>5983276B92B95898302385F5156B6201</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 44</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>CC9928E45F7885515986E0D431F3288E97D47E650A3F33684F4546FA851171C0</key>
+			<iv>7BB001368F52858237FADB052D28B72A</iv>
+			<input>5983276B92B95898302385F5156B6201</input>
+			<output>ABDEFF06E04995FD2C5472D05056A0A3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 45</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>59A2D8FCED30176B73FF5642BCE4A9163C0A8163EA76A6956311342AD547D163</key>
+			<iv>953BF018B248923A2A79B6968D178198</iv>
+			<input>ABDEFF06E04995FD2C5472D05056A0A3</input>
+			<output>E4210D117B05F3EADC8AF75D1A80B823</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 46</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>FFCCE373B679DE040165054D9EECA460D82B8C729173557FBF9BC377CFC76940</key>
+			<iv>A66E3B8F5B49C96F729A530F22080D76</iv>
+			<input>E4210D117B05F3EADC8AF75D1A80B823</input>
+			<output>4786111E1B0F2CA78E43CC0D154BC1EA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 47</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>36E29D3C942DBC6A12B53088632260649FAD9D6C8A7C79D831D80F7ADA8CA8AA</key>
+			<iv>C92E7E4F2254626E13D035C5FDCEC404</iv>
+			<input>4786111E1B0F2CA78E43CC0D154BC1EA</input>
+			<output>122DC3B40007BA36BC7E7EE808911DAE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 48</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>3692660415E53226D2758E60FD6E3F5F8D805ED88A7BC3EE8DA67192D21DB504</key>
+			<iv>0070FB3881C88E4CC0C0BEE89E4C5F3B</iv>
+			<input>122DC3B40007BA36BC7E7EE808911DAE</input>
+			<output>5E443EC882C1B938C2A4C412D3A92FDF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 49</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>E3C167B38A29EDFBDC37A50F434C7056D3C4601008BA7AD64F02B58001B49ADB</key>
+			<iv>D55301B79FCCDFDD0E422B6FBE224F09</iv>
+			<input>5E443EC882C1B938C2A4C412D3A92FDF</input>
+			<output>14A8F43BA8829B134D6BD110E6D43F92</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 50</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>8AD38A575E425D347C5B5BFB08A5173CC76C942BA038E1C502696490E760A549</key>
+			<iv>6912EDE4D46BB0CFA06CFEF44BE9676A</iv>
+			<input>14A8F43BA8829B134D6BD110E6D43F92</input>
+			<output>025982911796C2FE34C89157BF2959BD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 51</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>AE4ABA37DD2C3C5109B13C3DD9FCB67EC53516BAB7AE233B36A1F5C75849FCF4</key>
+			<iv>24993060836E616575EA67C6D159A142</iv>
+			<input>025982911796C2FE34C89157BF2959BD</input>
+			<output>BC658642A8EEBEC6DBE2A76BCD70799B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 52</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>31AC934C58BF87AD1EE4357BBE315175795090F81F409DFDED4352AC9539856F</key>
+			<iv>9FE6297B8593BBFC1755094667CDE70B</iv>
+			<input>BC658642A8EEBEC6DBE2A76BCD70799B</input>
+			<output>132CE1CC36EFE58A4A53534B962D2D70</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 53</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>79F7C18CA600203D404363908749B22F6A7C713429AF7877A71001E70314A81F</key>
+			<iv>485B52C0FEBFA7905EA756EB3978E35A</iv>
+			<input>132CE1CC36EFE58A4A53534B962D2D70</input>
+			<output>8D2BA39F08ED00BEB51543C0FCCFA57C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 54</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>162A4089A1E46EAB5C9592BF1F98BCC2E757D2AB214278C912054227FFDB0D63</key>
+			<iv>6FDD810507E44E961CD6F12F98D10EED</iv>
+			<input>8D2BA39F08ED00BEB51543C0FCCFA57C</input>
+			<output>2E8D05A8A3066094025FE07F3A53A94E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 55</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>DB5F33F93F2B795EDA54095937B79E4CC9DAD7038244185D105AA258C588A42D</key>
+			<iv>CD7573709ECF17F586C19BE6282F228E</iv>
+			<input>2E8D05A8A3066094025FE07F3A53A94E</input>
+			<output>D39EC2261C53AD45F91627E1B1F62D22</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 56</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>CCA770427DF8CF5350864D4E86E6D8891A4415259E17B518E94C85B9747E890F</key>
+			<iv>17F843BB42D3B60D8AD24417B15146C5</iv>
+			<input>D39EC2261C53AD45F91627E1B1F62D22</input>
+			<output>F517DC01890C3D300520B6CE343B7F94</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 57</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>25F53E7CC6590220E9426296568DE496EF53C924171B8828EC6C33774045F69B</key>
+			<iv>E9524E3EBBA1CD73B9C42FD8D06B3C1F</iv>
+			<input>F517DC01890C3D300520B6CE343B7F94</input>
+			<output>ECBCCBB21AC2D07E3ECACD26D42E4444</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 58</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>6D4A92C82C6C3D44CED65D76BB33B23E03EF02960DD95856D2A6FE51946BB2DF</key>
+			<iv>48BFACB4EA353F6427943FE0EDBE56A8</iv>
+			<input>ECBCCBB21AC2D07E3ECACD26D42E4444</input>
+			<output>6FF7C241A5FF025FAA8C4DAF5E0950AE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 59</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>A3D0AB0A0F8EDF232D111458D3B8B1C66C18C0D7A8265A09782AB3FECA62E271</key>
+			<iv>CE9A39C223E2E267E3C7492E688B03F8</iv>
+			<input>6FF7C241A5FF025FAA8C4DAF5E0950AE</input>
+			<output>3B7E4B74F021F9E995627DE42B03D7D8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 60</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>A8E2D59CF188CDA75C80FA49889F7EE357668BA35807A3E0ED48CE1AE16135A9</key>
+			<iv>0B327E96FE0612847191EE115B27CF25</iv>
+			<input>3B7E4B74F021F9E995627DE42B03D7D8</input>
+			<output>6759C15ED1049A51953E814C2445F3C6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 61</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>092010B28BD3C8E59D09CE85169190BB303F4AFD890339B178764F56C524C66F</key>
+			<iv>A1C2C52E7A5B0542C18934CC9E0EEE58</iv>
+			<input>6759C15ED1049A51953E814C2445F3C6</input>
+			<output>05F681CB7984491E2CE5B1025F860BEB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 62</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>538E3068E1059FE89C27D5F19405274835C9CB36F08770AF5493FE549AA2CD84</key>
+			<iv>5AAE20DA6AD6570D012E1B748294B7F3</iv>
+			<input>05F681CB7984491E2CE5B1025F860BEB</input>
+			<output>E046F5B143CEEAC44EF520F2C3BFA96E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 63</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>78B5D2551099875910844A17ABBACD64D58F3E87B3499A6B1A66DEA6591D64EA</key>
+			<iv>2B3BE23DF19C18B18CA39FE63FBFEA2C</iv>
+			<input>E046F5B143CEEAC44EF520F2C3BFA96E</input>
+			<output>0F508DD1BCC6C520A81AE7EC75361179</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 64</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>8D6E7E66F496C358A369EF7C49D117A3DADFB3560F8F5F4BB27C394A2C2B7593</key>
+			<iv>F5DBAC33E40F4401B3EDA56BE26BDAC7</iv>
+			<input>0F508DD1BCC6C520A81AE7EC75361179</input>
+			<output>BAE114FFF19FD11336D454BF0FF6954D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 65</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>781164DD6F90037E9896672FD24F1AF6603EA7A9FE108E5884A86DF523DDE0DE</key>
+			<iv>F57F1ABB9B06C0263BFF88539B9E0D55</iv>
+			<input>BAE114FFF19FD11336D454BF0FF6954D</input>
+			<output>FE73CE62C227459729E8FDC9116EC6BB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 66</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9268D6C0E8DE5AFBCCE137EADE6293E49E4D69CB3C37CBCFAD40903C32B32665</key>
+			<iv>EA79B21D874E5985547750C50C2D8912</iv>
+			<input>FE73CE62C227459729E8FDC9116EC6BB</input>
+			<output>B13971219C12C12A8308213759196B0D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 67</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>701EB5AEF8262D8634B53AF1768ED68E2F7418EAA0250AE52E48B10B6BAA4D68</key>
+			<iv>E276636E10F8777DF8540D1BA8EC456A</iv>
+			<input>B13971219C12C12A8308213759196B0D</input>
+			<output>4F5A36173C16ED45F5D36B9D1AED84FF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 68</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>40D027792516E1FE962F63B9C939677C602E2EFD9C33E7A0DB9BDA967147C997</key>
+			<iv>30CE92D7DD30CC78A29A5948BFB7B1F2</iv>
+			<input>4F5A36173C16ED45F5D36B9D1AED84FF</input>
+			<output>9FB89D6FEFE606058FE40B5492643596</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 69</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>CAAFC0DD2E4FC86AC19B40BC34F14630FF96B39273D5E1A5547FD1C2E323FC01</key>
+			<iv>8A7FE7A40B59299457B42305FDC8214C</iv>
+			<input>9FB89D6FEFE606058FE40B5492643596</input>
+			<output>F6D0717F197CBAE383B55117FCBE07AC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 70</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>CE03D67B6DAB9CFAA0C20129475620230946C2ED6AA95B46D7CA80D51F9DFBAD</key>
+			<iv>04AC16A643E454906159419573A76613</iv>
+			<input>F6D0717F197CBAE383B55117FCBE07AC</input>
+			<output>7747114FF82F8C7568BE51912CFDB51A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 71</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>DDCEDD32E5F0D26F7707DAE453288B537E01D3A29286D733BF74D14433604EB7</key>
+			<iv>13CD0B49885B4E95D7C5DBCD147EAB70</iv>
+			<input>7747114FF82F8C7568BE51912CFDB51A</input>
+			<output>E75313A8DFA7EB0AD1664B14D2DBE284</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 72</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>6B032958C3379BD4BEC22CD4271EB4589952C00A4D213C396E129A50E1BBAC33</key>
+			<iv>B6CDF46A26C749BBC9C5F63074363F0B</iv>
+			<input>E75313A8DFA7EB0AD1664B14D2DBE284</input>
+			<output>42FEDBDC4F0BD11DA42163D76E952DC7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 73</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>1710F6CF86EDB5F1364F19CA676ED69BDBAC1BD6022AED24CA33F9878F2E81F4</key>
+			<iv>7C13DF9745DA2E25888D351E407062C3</iv>
+			<input>42FEDBDC4F0BD11DA42163D76E952DC7</input>
+			<output>6E0166BA404B3AEFACCA8E972F087EA5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 74</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9D9711F138D0C2D1003E2C99BB0F0447B5AD7D6C4261D7CB66F97710A026FF51</key>
+			<iv>8A87E73EBE3D772036713553DC61D2DC</iv>
+			<input>6E0166BA404B3AEFACCA8E972F087EA5</input>
+			<output>644A1DCFCA2EC01C3E8911768837D99E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 75</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>1BD7E446FADA5507ECE26BBB635045E7D1E760A3884F17D758706666281126CF</key>
+			<iv>8640F5B7C20A97D6ECDC4722D85F41A0</iv>
+			<input>644A1DCFCA2EC01C3E8911768837D99E</input>
+			<output>4E69AE75BD37DB8024DBD1A11D6D414E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 76</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>3454FD4B259FB4C086288ADAFF6464CD9F8ECED63578CC577CABB7C7357C6781</key>
+			<iv>2F83190DDF45E1C76ACAE1619C34212A</iv>
+			<input>4E69AE75BD37DB8024DBD1A11D6D414E</input>
+			<output>F63964784AD35374EAFC933AC11A48B6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 77</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>97EFD593918FB16F2D6889C118C5ED4469B7AAAE7FAB9F23965724FDF4662F37</key>
+			<iv>A3BB28D8B41005AFAB40031BE7A18989</iv>
+			<input>F63964784AD35374EAFC933AC11A48B6</input>
+			<output>51CBF7F67A22DA909567D67F1919ECEF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 78</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>481E90BC31903905C08D0E5AEF79A514387C5D58058945B30330F282ED7FC3D8</key>
+			<iv>DFF1452FA01F886AEDE5879BF7BC4850</iv>
+			<input>51CBF7F67A22DA909567D67F1919ECEF</input>
+			<output>9AE181DE8DB65E7E242926091A17D0B1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 79</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>35A4F86146CED63BDCB485B0AE4C205AA29DDC86883F1BCD2719D48BF7681369</key>
+			<iv>7DBA68DD775EEF3E1C398BEA4135854E</iv>
+			<input>9AE181DE8DB65E7E242926091A17D0B1</input>
+			<output>47E15B5AC96A7FDB805F3B8862D9055F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 80</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>5ECF20C5884FDF95C2B7C17D40CD6923E57C87DC41556416A746EF0395B11636</key>
+			<iv>6B6BD8A4CE8109AE1E0344CDEE814979</iv>
+			<input>47E15B5AC96A7FDB805F3B8862D9055F</input>
+			<output>1806C474A1ECE5D8183E725804FB92C3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 81</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>AC473047ADF97E75C100CBBD73FA0892FD7A43A8E0B981CEBF789D5B914A84F5</key>
+			<iv>F288108225B6A1E003B70AC0333761B1</iv>
+			<input>1806C474A1ECE5D8183E725804FB92C3</input>
+			<output>0A0615424DAD4EFC25EC43B13C672727</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 82</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>6620AE39484EDD0EC21A3E3F659537DDF77C56EAAD14CF329A94DEEAAD2DA3D2</key>
+			<iv>CA679E7EE5B7A37B031AF582166F3F4F</iv>
+			<input>0A0615424DAD4EFC25EC43B13C672727</input>
+			<output>551639A520D0D043CAD42CB02900D5EF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 83</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>04D696BB056CC59492B376CB3A0286EAA26A6F4F8DC41F715040F25A842D763D</key>
+			<iv>62F638824D22189A50A948F45F97B137</iv>
+			<input>551639A520D0D043CAD42CB02900D5EF</input>
+			<output>DF906B0E72FEACC9B45381B992E23A5A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 84</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>0AED1F2A6660BDBA660E00137E38C1C97DFA0441FF3AB3B8E41373E316CF4C67</key>
+			<iv>0E3B8991630C782EF4BD76D8443A4723</iv>
+			<input>DF906B0E72FEACC9B45381B992E23A5A</input>
+			<output>D477C6287D05C0F83B27B1FD91F5F908</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 85</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>E0A51B848A913A860FD2C39941C8C3A1A98DC269823F7340DF34C21E873AB56F</key>
+			<iv>EA4804AEECF1873C69DCC38A3FF00268</iv>
+			<input>D477C6287D05C0F83B27B1FD91F5F908</input>
+			<output>6AB7E109C085B0BA7C8A8B76482F9C80</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 86</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>A8B0500EC0292EF668A03E8293E235BAC33A236042BAC3FAA3BE4968CF1529EF</key>
+			<iv>48154B8A4AB814706772FD1BD22AF61B</iv>
+			<input>6AB7E109C085B0BA7C8A8B76482F9C80</input>
+			<output>71A31000A5763A0C79B6353E39FFBE84</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 87</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>34C53C34901B693F4611F20F1DD5125EB2993360E7CCF9F6DA087C56F6EA976B</key>
+			<iv>9C756C3A503247C92EB1CC8D8E3727E4</iv>
+			<input>71A31000A5763A0C79B6353E39FFBE84</input>
+			<output>B5B377EBEBC0B32A5A0C7E2A2504C32A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 88</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>A13850B9164EF60EB77E06819605AC01072A448B0C0C4ADC8004027CD3EE5441</key>
+			<iv>95FD6C8D86559F31F16FF48E8BD0BE5F</iv>
+			<input>B5B377EBEBC0B32A5A0C7E2A2504C32A</input>
+			<output>B74459D1E7C5CF9106C362572FE9C917</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 89</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>37261F6D588FF9028A23319CE02DDA71B06E1D5AEBC9854D86C7602BFC079D56</key>
+			<iv>961E4FD44EC10F0C3D5D371D76287670</iv>
+			<input>B74459D1E7C5CF9106C362572FE9C917</input>
+			<output>5777A0854A6E00DB0B6B199BDD35447A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 90</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>085A7B276E58B9175204A87D74B9E78AE719BDDFA1A785968DAC79B02132D92C</key>
+			<iv>3F7C644A36D74015D82799E194943DFB</iv>
+			<input>5777A0854A6E00DB0B6B199BDD35447A</input>
+			<output>01CC73B6EE44403DFED2C91D6F0DC441</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 91</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>61DC99DD0C1470F511D79DCC2541002AE6D5CE694FE3C5AB737EB0AD4E3F1D6D</key>
+			<iv>6986E2FA624CC9E243D335B151F8E7A0</iv>
+			<input>01CC73B6EE44403DFED2C91D6F0DC441</input>
+			<output>8993161CF3E75DE836BB2C1955581DB6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 92</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>AEB68207F1E4395794BA7E28CE9BF7996F46D875BC04984345C59CB41B6700DB</key>
+			<iv>CF6A1BDAFDF049A2856DE3E4EBDAF7B3</iv>
+			<input>8993161CF3E75DE836BB2C1955581DB6</input>
+			<output>2A4D6929ED3A66E71EFC40F1840CD649</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 93</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>DBF8A8AED7B6D7BCFD1B5BEEC3F01AC0450BB15C513EFEA45B39DC459F6BD692</key>
+			<iv>754E2AA92652EEEB69A125C60D6BED59</iv>
+			<input>2A4D6929ED3A66E71EFC40F1840CD649</input>
+			<output>596CE09B1176A9FB5A9973086A0E4C12</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 94</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>1A61C7F2FB652E256190C0896F800CD61C6751C74048575F01A0AF4DF5659A80</key>
+			<iv>C1996F5C2CD3F9999C8B9B67AC701616</iv>
+			<input>596CE09B1176A9FB5A9973086A0E4C12</input>
+			<output>B57AC41360C13F6831689C311BD0ED2C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 95</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>FC3828E6A9487698231D11C10C353F2DA91D95D42089683730C8337CEEB577AC</key>
+			<iv>E659EF14522D58BD428DD14863B533FB</iv>
+			<input>B57AC41360C13F6831689C311BD0ED2C</input>
+			<output>F58AA69EEBF25943C728FA26524DE154</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 96</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9D16CAD42D19D1A3B9CB12566745B2765C97334ACB7B3174F7E0C95ABCF896F8</key>
+			<iv>612EE2328451A73B9AD603976B708D5B</iv>
+			<input>F58AA69EEBF25943C728FA26524DE154</input>
+			<output>4A678FED6C5E5898A47F2DFE9DF71DF2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 97</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D9A8554717435E69EFD4A617CA70B0D216F0BCA7A72569EC539FE4A4210F8B0A</key>
+			<iv>44BE9F933A5A8FCA561FB441AD3502A4</iv>
+			<input>4A678FED6C5E5898A47F2DFE9DF71DF2</input>
+			<output>38011537A04E6C4A81510899741F2FFC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 98</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>AA9D9A7B4E187F8D78AAEE11967A20A42EF1A990076B05A6D2CEEC3D5510A4F6</key>
+			<iv>7335CF3C595B21E4977E48065C0A9076</iv>
+			<input>38011537A04E6C4A81510899741F2FFC</input>
+			<output>6472060F536BC5F83A3C247F63C3580E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 99</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>90A5D8CD93F0AE068E8DC72CA5DD6E184A83AF9F5400C05EE8F2C84236D3FCF8</key>
+			<iv>3A3842B6DDE8D18BF627293D33A74EBC</iv>
+			<input>6472060F536BC5F83A3C247F63C3580E</input>
+			<output>08B99B59D0584DAC0412796871FE3F27</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 100</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>489520777A18D5BF65B85AAEA29DB3D8423A34C684588DF2ECE0B12A472DC3DF</key>
+			<iv>D830F8BAE9E87BB9EB359D820740DDC0</iv>
+			<input>08B99B59D0584DAC0412796871FE3F27</input>
+			<output>E8B8579DF9E918B3D24C18E17068AD66</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 101</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>69542EE000ACEEFB5E0EB471F3CD0927AA82635B7DB195413EACA9CB37456EB9</key>
+			<iv>21C10E977AB43B443BB6EEDF5150BAFF</iv>
+			<input>E8B8579DF9E918B3D24C18E17068AD66</input>
+			<output>9B6C3234993F6900B3E572B5A43CA644</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 102</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>E88C863186548F35DF6EFB48743B7C1831EE516FE48EFC418D49DB7E9379C8FD</key>
+			<iv>81D8A8D186F861CE81604F3987F6753F</iv>
+			<input>9B6C3234993F6900B3E572B5A43CA644</input>
+			<output>E0A2962A02698489813292D33D02D0AB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 103</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>C9DD7904D060B79B83F97A1FC93E50DED14CC745E6E778C80C7B49ADAE7B1856</key>
+			<iv>2151FF35563438AE5C978157BD052CC6</iv>
+			<input>E0A2962A02698489813292D33D02D0AB</input>
+			<output>10C80B22D8EC54B855E103D6B76C03BC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 104</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D208B7A87003A507561FA5C7422A85C5C184CC673E0B2C70599A4A7B19171BEA</key>
+			<iv>1BD5CEACA063129CD5E6DFD88B14D51B</iv>
+			<input>10C80B22D8EC54B855E103D6B76C03BC</input>
+			<output>CE88B76CC2223EB68BA9B5852C1921DB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 105</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>27B0E1BF8EA57E8AD51BC3FA278369780F0C7B0BFC2912C6D233FFFE350E3A31</key>
+			<iv>F5B85617FEA6DB8D8304663D65A9ECBD</iv>
+			<input>CE88B76CC2223EB68BA9B5852C1921DB</input>
+			<output>00401EEE034A193C86A23152AF4B767E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 106</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>45E37A710D9E754EE90B7C1DBB894DC20F4C65E5FF630BFA5491CEAC9A454C4F</key>
+			<iv>62539BCE833B0BC43C10BFE79C0A24BA</iv>
+			<input>00401EEE034A193C86A23152AF4B767E</input>
+			<output>CEF1DC8A618BF71C68720E6EEDE31EEF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 107</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>B432E78F49D50B045C8B598EEA3D4142C1BDB96F9EE8FCE63CE3C0C277A652A0</key>
+			<iv>F1D19DFE444B7E4AB580259351B40C80</iv>
+			<input>CEF1DC8A618BF71C68720E6EEDE31EEF</input>
+			<output>EF8FB3790627F31E5CBF21B31FF942DE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 108</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>F5CE9C0AF13DA60D32912620673AEE572E320A1698CF0FF8605CE171685F107E</key>
+			<iv>41FC7B85B8E8AD096E1A7FAE8D07AF15</iv>
+			<input>EF8FB3790627F31E5CBF21B31FF942DE</input>
+			<output>2EF1C697D948D712AA177855B0D56650</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 109</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>DA14D71084F47D87385EF58128C7517F00C3CC814187D8EACA4B9924D88A762E</key>
+			<iv>2FDA4B1A75C9DB8A0ACFD3A14FFDBF28</iv>
+			<input>2EF1C697D948D712AA177855B0D56650</input>
+			<output>0A20E82375680D134FE05AC74E3A0217</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 110</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>B68F8C980984E2508E9706117256A4A70AE324A234EFD5F985ABC3E396B07439</key>
+			<iv>6C9B5B888D709FD7B6C9F3905A91F5D8</iv>
+			<input>0A20E82375680D134FE05AC74E3A0217</input>
+			<output>46AF886AB871A3DABDEB32F1738E180B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 111</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>078A8955ECB2F6ACB249E2DB36B660794C4CACC88C9E76233840F112E53E6C32</key>
+			<iv>B10505CDE53614FC3CDEE4CA44E0C4DE</iv>
+			<input>46AF886AB871A3DABDEB32F1738E180B</input>
+			<output>79949181E3D20A3042C1E7BDAE73330B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 112</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>7CB2A8360EE65417A979D9B5D4A32D2935D83D496F4C7C137A8116AF4B4D5F39</key>
+			<iv>7B382163E254A2BB1B303B6EE2154D50</iv>
+			<input>79949181E3D20A3042C1E7BDAE73330B</input>
+			<output>12C5E55F6EA47BC44392AE9FB888C1FB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 113</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>E5835F97C4FF1B007D695DD0E72324A9271DD81601E807D73913B830F3C59EC2</key>
+			<iv>9931F7A1CA194F17D410846533800980</iv>
+			<input>12C5E55F6EA47BC44392AE9FB888C1FB</input>
+			<output>FCA15AB64A01FA6E89FE41F72A67D9E8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 114</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>50932FF04CCCE411AA0541726C1C4CD7DBBC82A04BE9FDB9B0EDF9C7D9A2472A</key>
+			<iv>B51070678833FF11D76C1CA28B3F687E</iv>
+			<input>FCA15AB64A01FA6E89FE41F72A67D9E8</input>
+			<output>7B75EC39F707C3C90691BE561AD5CAC6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 115</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>ECAEC5FD6AF5F7DF2587C1A40CB046ADA0C96E99BCEE3E70B67C4791C3778DEC</key>
+			<iv>BC3DEA0D263913CE8F8280D660AC0A7A</iv>
+			<input>7B75EC39F707C3C90691BE561AD5CAC6</input>
+			<output>1D3D15FFA0B69EFA8E146301411DFA49</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 116</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>82F88C3850CC3D111C2125F34840A9A2BDF47B661C58A08A38682490826A77A5</key>
+			<iv>6E5649C53A39CACE39A6E45744F0EF0F</iv>
+			<input>1D3D15FFA0B69EFA8E146301411DFA49</input>
+			<output>34AFB3D6F0BD9ACB6954BB96B1067F9E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 117</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>702FEC9E7F0D2369FF35D4B7A1269AD3895BC8B0ECE53A41513C9F06336C083B</key>
+			<iv>F2D760A62FC11E78E314F144E9663371</iv>
+			<input>34AFB3D6F0BD9ACB6954BB96B1067F9E</input>
+			<output>899E4C8192661CCA7C73CDFBC3DCA2F3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 118</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>A1DF98E4585C1A4C15C42AD0782C925000C584317E83268B2D4F52FDF0B0AAC8</key>
+			<iv>D1F0747A27513925EAF1FE67D90A0883</iv>
+			<input>899E4C8192661CCA7C73CDFBC3DCA2F3</input>
+			<output>3097C0413291E217FB0E3A8A2D908C12</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 119</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9F9082177BF33D8AF6131018E1EFD49F305244704C12C49CD6416877DD2026DA</key>
+			<iv>3E4F1AF323AF27C6E3D73AC899C346CF</iv>
+			<input>3097C0413291E217FB0E3A8A2D908C12</input>
+			<output>6C71968295905F881F95DC8BA481CA72</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 120</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>B7E5B267EDBFFD4DB4526BA2A1978C105C23D2F2D9829B14C9D4B4FC79A1ECA8</key>
+			<iv>28753070964CC0C742417BBA4078588F</iv>
+			<input>6C71968295905F881F95DC8BA481CA72</input>
+			<output>96D0AB98DBD0CB94A68FC41BEF0B418D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 121</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>127FAA6C94663FA9008A1FB7A419C036CAF3796A025250806F5B70E796AAAD25</key>
+			<iv>A59A180B79D9C2E4B4D87415058E4C26</iv>
+			<input>96D0AB98DBD0CB94A68FC41BEF0B418D</input>
+			<output>9E3E4428A911FB328A9F89D7D5E527DB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 122</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>1B9493F07E7E5F07473E6997AE15CCDC54CD3D42AB43ABB2E5C4F930434F8AFE</key>
+			<iv>09EB399CEA1860AE47B476200A0C0CEA</iv>
+			<input>9E3E4428A911FB328A9F89D7D5E527DB</input>
+			<output>0DB5EF3481A9945BAF2E499B5CDE8DDC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 123</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>7B2B8201EEF1601C44006A6D7E06EE355978D2762AEA3FE94AEAB0AB1F910722</key>
+			<iv>60BF11F1908F3F1B033E03FAD01322E9</iv>
+			<input>0DB5EF3481A9945BAF2E499B5CDE8DDC</input>
+			<output>C0569DD7DCAE99859D3987B04FFD8CF0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 124</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>B2D7FEE25A564FA00CEDC8E05BAC7F7D992E4FA1F644A66CD7D3371B506C8BD2</key>
+			<iv>C9FC7CE3B4A72FBC48EDA28D25AA9148</iv>
+			<input>C0569DD7DCAE99859D3987B04FFD8CF0</input>
+			<output>D8AF74B5BB8E632299D32E8DD4DDA012</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 125</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>5A06C176A290538BC549CAA8041539A941813B144DCAC54E4E00199684B12BC0</key>
+			<iv>E8D13F94F8C61C2BC9A402485FB946D4</iv>
+			<input>D8AF74B5BB8E632299D32E8DD4DDA012</input>
+			<output>0821FB911EDE8CDCD97DDAEDCCDB7B1C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 126</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>1318D23A3A966D16FDEEE300571F3A8549A0C08553144992977DC37B486A50DC</key>
+			<iv>491E134C98063E9D38A729A8530A032C</iv>
+			<input>0821FB911EDE8CDCD97DDAEDCCDB7B1C</input>
+			<output>BCB2831AF3721C020FC1D683C19AEBEA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 127</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D6D24AA79B3CA4434CCE2B1470B4FE18F512439FA066559098BC15F889F0BB36</key>
+			<iv>C5CA989DA1AAC955B120C81427ABC49D</iv>
+			<input>BCB2831AF3721C020FC1D683C19AEBEA</input>
+			<output>BE869BB3C18EB622CCAC81B6F5B62CC4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 128</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>5F62348BCD9ADB23A19E683400D968404B94D82C61E8E3B25410944E7C4697F2</key>
+			<iv>89B07E2C56A67F60ED504320706D9658</iv>
+			<input>BE869BB3C18EB622CCAC81B6F5B62CC4</input>
+			<output>C8D3EDD549FEA614B4F2348F82DE5531</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 129</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>A64795E417B7C9344185F6B0C66C096B834735F9281645A6E0E2A0C1FE98C2C3</key>
+			<iv>F925A16FDA2D1217E01B9E84C6B5612B</iv>
+			<input>C8D3EDD549FEA614B4F2348F82DE5531</input>
+			<output>4049BDBD9C302D8F2E06F10D34317784</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 130</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>CD1F9AB35436014B0CF7ECE9FF98C2BDC30E8844B4266829CEE451CCCAA9B547</key>
+			<iv>6B580F574381C87F4D721A5939F4CBD6</iv>
+			<input>4049BDBD9C302D8F2E06F10D34317784</input>
+			<output>E1338EA5C5462E8C458E5546FA60324D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 131</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>78F7558C14BB5100CE93CD49C22BE2D9223D06E1716046A58B6A048A30C9870A</key>
+			<iv>B5E8CF3F408D504BC26421A03DB32064</iv>
+			<input>E1338EA5C5462E8C458E5546FA60324D</input>
+			<output>055984AA929F4D45F5812DC719D4EF24</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 132</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>2DBC5092C4C7AB427576EBA2855E00562764824BE3FF0BE07EEB294D291D682E</key>
+			<iv>554B051ED07CFA42BBE526EB4775E28F</iv>
+			<input>055984AA929F4D45F5812DC719D4EF24</input>
+			<output>ABC519C4290C69D98BF7AC2A56767202</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 133</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>68FA1D8FE36FC5B48A7486FBB34A7B598CA19B8FCAF36239F51C85677F6B1A2C</key>
+			<iv>45464D1D27A86EF6FF026D5936147B0F</iv>
+			<input>ABC519C4290C69D98BF7AC2A56767202</input>
+			<output>C825E44799B1739A1F4CB406BBEABEDD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 134</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>A2302849850FD33D4048B898DB6C7B0244847FC8534211A3EA503161C481A4F1</key>
+			<iv>CACA35C666601689CA3C3E636826005B</iv>
+			<input>C825E44799B1739A1F4CB406BBEABEDD</input>
+			<output>D24EE8D56CE09AFE1061B4016ADD61F7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 135</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9B2E669EA4BB938072E6E97B0ACF834E96CA971D3FA28B5DFA318560AE5CC506</key>
+			<iv>391E4ED721B440BD32AE51E3D1A3F84C</iv>
+			<input>D24EE8D56CE09AFE1061B4016ADD61F7</input>
+			<output>50FECB118EABF93BB97102E9212C883D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 136</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>A07C5EBAC9D0F862AD525C76460B4BA9C6345C0CB1097266434087898F704D3B</key>
+			<iv>3B5238246D6B6BE2DFB4B50D4CC4C8E7</iv>
+			<input>50FECB118EABF93BB97102E9212C883D</input>
+			<output>C370C26BD3805211A4679399DFA4DDCB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 137</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>414C776222058D6285574741B2B4D11D05449E6762892077E727141050D490F0</key>
+			<iv>E13029D8EBD5750028051B37F4BF9AB4</iv>
+			<input>C370C26BD3805211A4679399DFA4DDCB</input>
+			<output>79715A04DF9216268C77A152CA96C2F6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 138</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>5E54A416470FE8BA263C0FC88FD884297C35C463BD1B36516B50B5429A425206</key>
+			<iv>1F18D374650A65D8A36B48893D6C5534</iv>
+			<input>79715A04DF9216268C77A152CA96C2F6</input>
+			<output>06DF18B5FAF35F03FE22E39CAE430655</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 139</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>98C55CFFB53FA72345EF936283F64BB17AEADCD647E86952957256DE34015453</key>
+			<iv>C691F8E9F2304F9963D39CAA0C2ECF98</iv>
+			<input>06DF18B5FAF35F03FE22E39CAE430655</input>
+			<output>1AED42EB32C4BAEAF9946818AA00C324</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 140</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>B8332B1EE5D6A4E1BBFA20AEAE22330560079E3D752CD3B86CE63EC69E019777</key>
+			<iv>20F677E150E903C2FE15B3CC2DD478B4</iv>
+			<input>1AED42EB32C4BAEAF9946818AA00C324</input>
+			<output>D276B6A6D480165A944572EF76D4B3E8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 141</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>6E50753A2A0814A778FA2BC773C6A7A2B271289BA1ACC5E2F8A34C29E8D5249F</key>
+			<iv>D6635E24CFDEB046C3000B69DDE494A7</iv>
+			<input>D276B6A6D480165A944572EF76D4B3E8</input>
+			<output>BA46F59DFADC6CA2CBB7D80E33D7B24B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 142</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D8E1763EAD728AB8AA2284964BE586880837DD065B70A94033149427DB0296D4</key>
+			<iv>B6B10304877A9E1FD2D8AF513823212A</iv>
+			<input>BA46F59DFADC6CA2CBB7D80E33D7B24B</input>
+			<output>FC9B9F7B5120E1D8B2DD58D211EFF053</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 143</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>458CB146C73342F9D5EE4364C400E8E5F4AC427D0A50489881C9CCF5CAED6687</key>
+			<iv>9D6DC7786A41C8417FCCC7F28FE56E6D</iv>
+			<input>FC9B9F7B5120E1D8B2DD58D211EFF053</input>
+			<output>6AD8BCAEFF6F0BF9F360FF601C9B7A43</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 144</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>F1FBE00DA1F634ACACB6E2F4F15C11179E74FED3F53F436172A93395D6761CC4</key>
+			<iv>B477514B66C576557958A190355CF9F2</iv>
+			<input>6AD8BCAEFF6F0BF9F360FF601C9B7A43</input>
+			<output>BB6E45D060E186323AC2B50CFB988856</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 145</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>3FBC35054FFF43657936BB676A5C5D1F251ABB0395DEC553486B86992DEE9492</key>
+			<iv>CE47D508EE0977C9D58059939B004C08</iv>
+			<input>BB6E45D060E186323AC2B50CFB988856</input>
+			<output>31B6157397933EE35DEE5B40FE7237BB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 146</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D49B4E96F8FC2D91FBED3985C53BEB8314ACAE70024DFBB01585DDD9D39CA329</key>
+			<iv>EB277B93B7036EF482DB82E2AF67B69C</iv>
+			<input>31B6157397933EE35DEE5B40FE7237BB</input>
+			<output>EFEB82ED91C5C60FB8F910542804B57B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 147</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>8D4ABC926827F066B4391FF4B3D6EC99FB472C9D93883DBFAD7CCD8DFB981652</key>
+			<iv>59D1F20490DBDDF74FD4267176ED071A</iv>
+			<input>EFEB82ED91C5C60FB8F910542804B57B</input>
+			<output>E30D071737AB9991F000302502BE84A6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 148</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>086A14365F781B2FAF533B1534F458D2184A2B8AA423A42E5D7CFDA8F92692F4</key>
+			<iv>8520A8A4375FEB491B6A24E18722B44B</iv>
+			<input>E30D071737AB9991F000302502BE84A6</input>
+			<output>856AF9DF9A9FE5038B75C98E0E1C720F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 149</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>A64DE8CF2DF04ADB60E88C769F7025BC9D20D2553EBC412DD6093426F73AE0FB</key>
+			<iv>AE27FCF9728851F4CFBBB763AB847D6E</iv>
+			<input>856AF9DF9A9FE5038B75C98E0E1C720F</input>
+			<output>D84910F298F91E081480A912B1AF32D6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 150</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>C52575277A0BD189E2F746FC51CA77844569C2A7A6455F25C2899D344695D22D</key>
+			<iv>63689DE857FB9B52821FCA8ACEBA5238</iv>
+			<input>D84910F298F91E081480A912B1AF32D6</input>
+			<output>57E4A4A2D639D414ED7F82583B4FFA52</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 151</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>CB9A5219490F7EE31B030ECE521C589B128D6605707C8B312FF61F6C7DDA287F</key>
+			<iv>0EBF273E3304AF6AF9F4483203D62F1F</iv>
+			<input>57E4A4A2D639D414ED7F82583B4FFA52</input>
+			<output>1CECC8218392F2047C0B70BEBFCC5846</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 152</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>AA6412AAC8FC309E6BCDFFD1DA01B6470E61AE24F3EE793553FD6FD2C2167039</key>
+			<iv>61FE40B381F34E7D70CEF11F881DEEDC</iv>
+			<input>1CECC8218392F2047C0B70BEBFCC5846</input>
+			<output>EC2B86A04DB2B4F41830E5EA035531E3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 153</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>EFF5BC892E47F4C7EA859969255AC665E24A2884BE5CCDC14BCD8A38C14341DA</key>
+			<iv>4591AE23E6BBC459814866B8FF5B7022</iv>
+			<input>EC2B86A04DB2B4F41830E5EA035531E3</input>
+			<output>8A1A8EE6E08F61E99FC37AC177881C8A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 154</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D62E9405D7402765E30FDAD7A29B2E716850A6625ED3AC28D40EF0F9B6CB5D50</key>
+			<iv>39DB288CF907D3A2098A43BE87C1E814</iv>
+			<input>8A1A8EE6E08F61E99FC37AC177881C8A</input>
+			<output>F21583AC8C5F03C19A1A9B856C97D6E0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 155</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D49F229B7DB6973EDE6BD14AB20234379A4525CED28CAFE94E146B7CDA5C8BB0</key>
+			<iv>02B1B69EAAF6B05B3D640B9D10991A46</iv>
+			<input>F21583AC8C5F03C19A1A9B856C97D6E0</input>
+			<output>323191D5997CF0424B7F5501CBD55B17</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 156</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>08B1021CD316864EF5B370CBF891FD27A874B41B4BF05FAB056B3E7D1189D0A7</key>
+			<iv>DC2E2087AEA011702BD8A1814A93C910</iv>
+			<input>323191D5997CF0424B7F5501CBD55B17</input>
+			<output>B2BBCC6E54CB33319536A81174B0D73B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 157</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>786AE1D89ECC32C8883D984E7DC5FD0A1ACF78751F3B6C9A905D966C6539079C</key>
+			<iv>70DBE3C44DDAB4867D8EE8858554002D</iv>
+			<input>B2BBCC6E54CB33319536A81174B0D73B</input>
+			<output>6E4ADDA6895734D891F328C6D0C71467</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 158</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>E6C7441B75AF8701E29376287A126CB07485A5D3966C584201AEBEAAB5FE13FB</key>
+			<iv>9EADA5C3EB63B5C96AAEEE6607D791BA</iv>
+			<input>6E4ADDA6895734D891F328C6D0C71467</input>
+			<output>8BED3D2AAB5271F90EE5335520E87AA2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 159</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>22D515400072783951742ACDF2FA6DC8FF6898F93D3E29BB0F4B8DFF95166959</key>
+			<iv>C412515B75DDFF38B3E75CE588E80178</iv>
+			<input>8BED3D2AAB5271F90EE5335520E87AA2</input>
+			<output>D3059CA1B293AA1F52D459643C5FAB5C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 160</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D6E6A383AF38A1CD2889A5F79A23CE512C6D04588FAD83A45D9FD49BA949C205</key>
+			<iv>F433B6C3AF4AD9F479FD8F3A68D9A399</iv>
+			<input>D3059CA1B293AA1F52D459643C5FAB5C</input>
+			<output>C20D8580ACA043B0ED2F409EEA42C0F0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 161</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>AA95A47ADECB61AAD1A05DA0CE6B17BDEE6081D8230DC014B0B09405430B02F5</key>
+			<iv>7C7307F971F3C067F929F8575448D9EC</iv>
+			<input>C20D8580ACA043B0ED2F409EEA42C0F0</input>
+			<output>61C0D0081F176C53DE83B70608201EE6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 162</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>168A56A528A70354AD74C59A8AF33A508FA051D03C1AAC476E3323034B2B1C13</key>
+			<iv>BC1FF2DFF66C62FE7CD4983A44982DED</iv>
+			<input>61C0D0081F176C53DE83B70608201EE6</input>
+			<output>C016536FEFC08B69867AB2946FFBE011</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 163</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>92157F38953622D8C0E191DAC4179A6A4FB602BFD3DA272EE849919724D0FC02</key>
+			<iv>849F299DBD91218C6D9554404EE4A03A</iv>
+			<input>C016536FEFC08B69867AB2946FFBE011</input>
+			<output>6923FF03C812710270438F67EF2F42D1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 164</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>CCB6779947D31DF17182FB54555B49422695FDBC1BC8562C980A1EF0CBFFBED3</key>
+			<iv>5EA308A1D2E53F29B1636A8E914CD328</iv>
+			<input>6923FF03C812710270438F67EF2F42D1</input>
+			<output>0D1674014AD9DC2150E073E2FCF006A8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 165</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>22AA52C07B42CFEB5E75687D395D86092B8389BD51118A0DC8EA6D12370FB87B</key>
+			<iv>EE1C25593C91D21A2FF793296C06CF4B</iv>
+			<input>0D1674014AD9DC2150E073E2FCF006A8</input>
+			<output>6399A65CC66E9318F2CEE1103B8FFB90</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 166</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>527EF084271AC57F5D33F2E7C7BE1FF1481A2FE1977F19153A248C020C8043EB</key>
+			<iv>70D4A2445C580A9403469A9AFEE399F8</iv>
+			<input>6399A65CC66E9318F2CEE1103B8FFB90</input>
+			<output>511CBDD6CFA31788A43C765301D6BAAB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 167</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D826E762C9EA31B6F4415B3AE5ED888B1906923758DC0E9D9E18FA510D56F940</key>
+			<iv>8A5817E6EEF0F4C9A972A9DD2253977A</iv>
+			<input>511CBDD6CFA31788A43C765301D6BAAB</input>
+			<output>B04E78AB18AE3F5B825087D9D5794BD7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 168</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>B4C2DEE60A738C428B187EC3A3A4A982A948EA9C407231C61C487D88D82FB297</key>
+			<iv>6CE43984C399BDF47F5925F946492109</iv>
+			<input>B04E78AB18AE3F5B825087D9D5794BD7</input>
+			<output>6B013F9A972D82BD5A87DA6C1DD5FD0F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 169</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>C4A41F8C4B26391F6C0D629C6B052BD8C249D506D75FB37B46CFA7E4C5FA4F98</key>
+			<iv>7066C16A4155B55DE7151C5FC8A1825A</iv>
+			<input>6B013F9A972D82BD5A87DA6C1DD5FD0F</input>
+			<output>9005F8243C6486F63590E7508503719C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 170</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>91A18F2681FCACE1C80DC772BD0F2628524C2D22EB3B358D735F40B440F93E04</key>
+			<iv>550590AACADA95FEA400A5EED60A0DF0</iv>
+			<input>9005F8243C6486F63590E7508503719C</input>
+			<output>39DEEEC3D3AEEBBF4B573462B375B5E4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 171</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>E8FF0EE1269AFDCA213F69757C84704D6B92C3E13895DE32380874D6F38C8BE0</key>
+			<iv>795E81C7A766512BE932AE07C18B5665</iv>
+			<input>39DEEEC3D3AEEBBF4B573462B375B5E4</input>
+			<output>1910F8E7C3D863784058CB35D674AEEB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 172</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>F00751EFCCECA0ECA3C252F396B4078E72823B06FB4DBD4A7850BFE325F8250B</key>
+			<iv>18F85F0EEA765D2682FD3B86EA3077C3</iv>
+			<input>1910F8E7C3D863784058CB35D674AEEB</input>
+			<output>4A71250E55629D3C5CC62B18B4B67653</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 173</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>383A1B81E82B8174A9B9F0AF9EA498A338F31E08AE2F2076249694FB914E5358</key>
+			<iv>C83D4A6E24C721980A7BA25C08109F2D</iv>
+			<input>4A71250E55629D3C5CC62B18B4B67653</input>
+			<output>19CBB63FBB92C7A10B676DBB5EB29060</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 174</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>A6695341053BD5B1E15A6CD73DEF84E12138A83715BDE7D72FF1F940CFFCC338</key>
+			<iv>9E5348C0ED1054C548E39C78A34B1C42</iv>
+			<input>19CBB63FBB92C7A10B676DBB5EB29060</input>
+			<output>18BA0A45E67D2CFEC691203FC2509837</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 175</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>71B4C384EF619E5D6CADBFC7D53564913982A272F3C0CB29E960D97F0DAC5B0F</key>
+			<iv>D7DD90C5EA5A4BEC8DF7D310E8DAE070</iv>
+			<input>18BA0A45E67D2CFEC691203FC2509837</input>
+			<output>7699C8550933C30D630AC16D8DA6F13D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 176</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>7D0527970FD45C35817091A317A2EAB04F1B6A27FAF308248A6A1812800AAA32</key>
+			<iv>0CB1E413E0B5C268EDDD2E64C2978E21</iv>
+			<input>7699C8550933C30D630AC16D8DA6F13D</input>
+			<output>78FE8EEC14618ED34F63E8671434ADA7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 177</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>204ECE43E91409C515077FACC37C4DF837E5E4CBEE9286F7C509F075943E0795</key>
+			<iv>5D4BE9D4E6C055F09477EE0FD4DEA748</iv>
+			<input>78FE8EEC14618ED34F63E8671434ADA7</input>
+			<output>0907F75149A74B49F302D2C08CF18AF5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 178</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>8E80DC69B6CC0F0D7F1F0BE6E9F178AD3EE2139AA735CDBE360B22B518CF8D60</key>
+			<iv>AECE122A5FD806C86A18744A2A8D3555</iv>
+			<input>0907F75149A74B49F302D2C08CF18AF5</input>
+			<output>FE24023BCABCD83E6212FA53E7320D92</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 179</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>5152CCE87D9CCC930D7B376C4F1B334BC0C611A16D8915805419D8E6FFFD80F2</key>
+			<iv>DFD21081CB50C39E72643C8AA6EA4BE6</iv>
+			<input>FE24023BCABCD83E6212FA53E7320D92</input>
+			<output>9526CDED534CB3366306F8C731F87CD6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 180</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>00C9D78F67F1B63181ADE21A02675C6755E0DC4C3EC5A6B6371F2021CE05FC24</key>
+			<iv>519B1B671A6D7AA28CD6D5764D7C6F2C</iv>
+			<input>9526CDED534CB3366306F8C731F87CD6</input>
+			<output>801F005EA2E9287FFD8D9B01BE8E2205</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 181</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>442603CF6A012BDB23086BD7EFD7396ED5FFDC129C2C8EC9CA92BB20708BDE21</key>
+			<iv>44EFD4400DF09DEAA2A589CDEDB06509</iv>
+			<input>801F005EA2E9287FFD8D9B01BE8E2205</input>
+			<output>7558994ACE0299E34EB586B832C98560</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 182</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>B153C7C49983077FB0C79C30266A487AA0A74558522E172A84273D9842425B41</key>
+			<iv>F575C40BF3822CA493CFF7E7C9BD7114</iv>
+			<input>7558994ACE0299E34EB586B832C98560</input>
+			<output>324273A52FFBFBCAC5401CFCD3075C98</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 183</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>0E038D82F7FAD738824EF9FEB6F6627692E536FD7DD5ECE041672164914507D9</key>
+			<iv>BF504A466E79D047328965CE909C2A0C</iv>
+			<input>324273A52FFBFBCAC5401CFCD3075C98</input>
+			<output>509E651E053E85340A5B545AA0E40A71</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 184</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>B2237D5D0E16B5F9A8FD7274F4CA1206C27B53E378EB69D44B3C753E31A10DA8</key>
+			<iv>BC20F0DFF9EC62C12AB38B8A423C7070</iv>
+			<input>509E651E053E85340A5B545AA0E40A71</input>
+			<output>1716AB4DCAB205D62EF356E4C565BA70</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 185</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>CBE25CF8F3CAB9849F44F330AD8B17E1D56DF8AEB2596C0265CF23DAF4C4B7D8</key>
+			<iv>79C121A5FDDC0C7D37B98144594105E7</iv>
+			<input>1716AB4DCAB205D62EF356E4C565BA70</input>
+			<output>093CA7764E7F6828EF210E89D3D01C73</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 186</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>2BF3C06B0CAE728C8A6134634D5DEAF1DC515FD8FC26042A8AEE2D532714ABAB</key>
+			<iv>E0119C93FF64CB081525C753E0D6FD10</iv>
+			<input>093CA7764E7F6828EF210E89D3D01C73</input>
+			<output>86F8B39DB10EB8B3CFED4C98BBBFFAE1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 187</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>A2C742CFF575CA98D3261BE7DA99E3935AA9EC454D28BC99450361CB9CAB514A</key>
+			<iv>893482A4F9DBB81459472F8497C40962</iv>
+			<input>86F8B39DB10EB8B3CFED4C98BBBFFAE1</input>
+			<output>8BF9C14617B3CE1511ABBD484439D041</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 188</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>F8AB8BAD8F2C5A54ED4C80AD094A36D4D1502D035A9B728C54A8DC83D892810B</key>
+			<iv>5A6CC9627A5990CC3E6A9B4AD3D3D547</iv>
+			<input>8BF9C14617B3CE1511ABBD484439D041</input>
+			<output>C41B937B1D5E10D982C7850685997862</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 189</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>4DBA6859C8D681253E8F6278BE76D87D154BBE7847C56255D66F59855D0BF969</key>
+			<iv>B511E3F447FADB71D3C3E2D5B73CEEA9</iv>
+			<input>C41B937B1D5E10D982C7850685997862</input>
+			<output>467114F3F33C8BA65AA76C297E9DA11C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 190</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>2738E652A9F41B48B443B487B2AF6D7C533AAA8BB4F9E9F38CC835AC23965875</key>
+			<iv>6A828E0B61229A6D8ACCD6FF0CD9B501</iv>
+			<input>467114F3F33C8BA65AA76C297E9DA11C</input>
+			<output>CB9D772C72BC5BB3E18087CABADDE5B2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 191</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>A1C138E8AFAA19465AE9BD1968C19E8798A7DDA7C645B2406D48B266994BBDC7</key>
+			<iv>86F9DEBA065E020EEEAA099EDA6EF3FB</iv>
+			<input>CB9D772C72BC5BB3E18087CABADDE5B2</input>
+			<output>678837A26F65190F44107C19A01F97E6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 192</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>CD73AF62C6130630324F71F35042BC9AFF2FEA05A920AB4F2958CE7F39542A21</key>
+			<iv>6CB2978A69B91F7668A6CCEA3883221D</iv>
+			<input>678837A26F65190F44107C19A01F97E6</input>
+			<output>E395804E9F2D61447B5207AA438F7D98</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 193</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>F076EAF59DAC3F3975E9CBED6697A21B1CBA6A4B360DCA0B520AC9D57ADB57B9</key>
+			<iv>3D0545975BBF390947A6BA1E36D51E81</iv>
+			<input>E395804E9F2D61447B5207AA438F7D98</input>
+			<output>CA6E3E780C170E950306FEE08CAB46D9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 194</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>87DD7A9906E626E1AC55611A52EBC196D6D454333A1AC49E510C3735F6701160</key>
+			<iv>77AB906C9B4A19D8D9BCAAF7347C638D</iv>
+			<input>CA6E3E780C170E950306FEE08CAB46D9</input>
+			<output>419B7C538E827E431B2C2BA5AEB95373</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 195</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>C8D569C710030750FDA3A48E748BED26974F2860B498BADD4A201C9058C94213</key>
+			<iv>4F08135E16E521B151F6C59426602CB0</iv>
+			<input>419B7C538E827E431B2C2BA5AEB95373</input>
+			<output>1D6607B51B0DA629C62D00CB20870FEA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 196</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>A3A22E3CED89316BC747E3326CB53C448A292FD5AF951CF48C0D1C5B784E4DF9</key>
+			<iv>6B7747FBFD8A363B3AE447BC183ED162</iv>
+			<input>1D6607B51B0DA629C62D00CB20870FEA</input>
+			<output>58169D0006C9031C7CCE502F086B0CD6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 197</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>DDB2F456CFE201D5E1DD9EFC6593813FD23FB2D5A95C1FE8F0C34C747025412F</key>
+			<iv>7E10DA6A226B30BE269A7DCE0926BD7B</iv>
+			<input>58169D0006C9031C7CCE502F086B0CD6</input>
+			<output>8001E1BDAE24A2A9ABE102C2BEB4AD70</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 198</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>A990048427C8E19BABE1D0BB5D6A83CA523E53680778BD415B224EB6CE91EC5F</key>
+			<iv>7422F0D2E82AE04E4A3C4E4738F902F5</iv>
+			<input>8001E1BDAE24A2A9ABE102C2BEB4AD70</input>
+			<output>EA143E99846F5DF1C1A2AD0565D3AE45</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 199</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>5074E20E5B70B571A7155A3AAFE3AF2AB82A6DF18317E0B09A80E3B3AB42421A</key>
+			<iv>F9E4E68A7CB854EA0CF48A81F2892CE0</iv>
+			<input>EA143E99846F5DF1C1A2AD0565D3AE45</input>
+			<output>C1EBFE1B00D813BB5AC9E4B007977B19</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 200</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>50315F6BF520F26A044751215225348179C193EA83CFF30BC0490703ACD53903</key>
+			<iv>0045BD65AE50471BA3520B1BFDC69BAB</iv>
+			<input>C1EBFE1B00D813BB5AC9E4B007977B19</input>
+			<output>3476AA08CB11F13D8DD858CF10472D03</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 201</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>03D2536F9830D74A9B2AEDD1508CE4764DB739E248DE02364D915FCCBC921400</key>
+			<iv>53E30C046D1025209F6DBCF002A9D0F7</iv>
+			<input>3476AA08CB11F13D8DD858CF10472D03</input>
+			<output>C79BED3BB201F29B65CDF5709654317C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 202</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>4AC2173AD99E09ECCB4A647AF96C26F98A2CD4D9FADFF0AD285CAABC2AC6257C</key>
+			<iv>4910445541AEDEA6506089ABA9E0C28F</iv>
+			<input>C79BED3BB201F29B65CDF5709654317C</input>
+			<output>E5E144D56A2FF95D644D51E73AEAE922</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 203</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9F46778CA9C15CB9978C0DF359056F3D6FCD900C90F009F04C11FB5B102CCC5E</key>
+			<iv>D58460B6705F55555CC66989A06949C4</iv>
+			<input>E5E144D56A2FF95D644D51E73AEAE922</input>
+			<output>38582F30FDE74A162CCD85955C2E48FC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 204</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>63038F8EA2934D0C65F181BE92B9664A5795BF3C6D1743E660DC7ECE4C0284A2</key>
+			<iv>FC45F8020B5211B5F27D8C4DCBBC0977</iv>
+			<input>38582F30FDE74A162CCD85955C2E48FC</input>
+			<output>266E808D7E9206C9294F0349D1CEF1DA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 205</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D43CC15DCAB5047B8C67D61F1735C6A471FB3FB11385452F49937D879DCC7578</key>
+			<iv>B73F4ED368264977E99657A1858CA0EE</iv>
+			<input>266E808D7E9206C9294F0349D1CEF1DA</input>
+			<output>8E3D1F7DC678C32352782D52E4CD44D5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 206</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9979232A388E0E6C766279CFE7E047B4FFC620CCD5FD860C1BEB50D5790131AD</key>
+			<iv>4D45E277F23B0A17FA05AFD0F0D58110</iv>
+			<input>8E3D1F7DC678C32352782D52E4CD44D5</input>
+			<output>DDC8075418E2A649D4E78144528682F9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 207</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>43479EA72BF3B417CF224B15749043C5220E2798CD1F2045CF0CD1912B87B354</key>
+			<iv>DA3EBD8D137DBA7BB94032DA93700471</iv>
+			<input>DDC8075418E2A649D4E78144528682F9</input>
+			<output>4096B4F51C77C8A00A5308D8C3175B6A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 208</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>7AE39630885C3ACDCF915625141DF45A6298936DD168E8E5C55FD949E890E83E</key>
+			<iv>39A40897A3AF8EDA00B31D30608DB79F</iv>
+			<input>4096B4F51C77C8A00A5308D8C3175B6A</input>
+			<output>60D0385ECE913BEC6760BAA0BCCDE853</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 209</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>82496ADB8A91DAE80C249D2BD8F00C990248AB331FF9D309A23F63E9545D006D</key>
+			<iv>F8AAFCEB02CDE025C3B5CB0ECCEDF8C3</iv>
+			<input>60D0385ECE913BEC6760BAA0BCCDE853</input>
+			<output>79A86909141C27366744FC614808705B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 210</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>EF7FEE5E3FDAC015E8016A7A9D3EB8677BE0C23A0BE5F43FC57B9F881C557036</key>
+			<iv>6D368485B54B1AFDE425F75145CEB4FE</iv>
+			<input>79A86909141C27366744FC614808705B</input>
+			<output>9817CE82A9D821189878991B32360409</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 211</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>A400D423453A59F64968E8B80140AAF6E3F70CB8A23DD5275D0306932E63743F</key>
+			<iv>4B7F3A7D7AE099E3A16982C29C7E1291</iv>
+			<input>9817CE82A9D821189878991B32360409</input>
+			<output>C3259E5D4A3E82FDC862E862E4449DA2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 212</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>B9280C8996C8BEC6888CB4D9D1E76B0620D292E5E80357DA9561EEF1CA27E99D</key>
+			<iv>1D28D8AAD3F2E730C1E45C61D0A7C1F0</iv>
+			<input>C3259E5D4A3E82FDC862E862E4449DA2</input>
+			<output>F035078B9A3E45B4ED561F001DB21E47</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 213</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9686D9BB259CD14FA7D58C9789932385D0E7956E723D126E7837F1F1D795F7DA</key>
+			<iv>2FAED532B3546F892F59384E58744883</iv>
+			<input>F035078B9A3E45B4ED561F001DB21E47</input>
+			<output>596B9F7F2122A11C599626B16B6AC340</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 214</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>736E847DDC4C794A3AA2E22C1AF85EF1898C0A11531FB37221A1D740BCFF349A</key>
+			<iv>E5E85DC6F9D0A8059D776EBB936B7D74</iv>
+			<input>596B9F7F2122A11C599626B16B6AC340</input>
+			<output>800FCC5CE3B08CFFDD70FB5270DED220</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 215</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>728D3E35CD653621D41E591530770B370983C64DB0AF3F8DFCD12C12CC21E6BA</key>
+			<iv>01E3BA4811294F6BEEBCBB392A8F55C6</iv>
+			<input>800FCC5CE3B08CFFDD70FB5270DED220</input>
+			<output>5515A58EB0013D2EE561BD2826761209</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 216</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>929F6FD8250BAD33FAE4ED108843A2645C9663C300AE02A319B0913AEA57F4B3</key>
+			<iv>E01251EDE86E9B122EFAB405B834A953</iv>
+			<input>5515A58EB0013D2EE561BD2826761209</input>
+			<output>8B7B3AB73287CEAAA0098D41F0B3A28B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 217</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>3F54C218B02F6097C3F31A05F5CCB8C4D7ED59743229CC09B9B91C7B1AE45638</key>
+			<iv>ADCBADC09524CDA43917F7157D8F1AA0</iv>
+			<input>8B7B3AB73287CEAAA0098D41F0B3A28B</input>
+			<output>90CDCF132600F622D1339197B441A4C0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 218</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>2F60AEE4E6A6F7109193112BC756D7F24720966714293A2B688A8DECAEA5F2F8</key>
+			<iv>10346CFC5689978752600B2E329A6F36</iv>
+			<input>90CDCF132600F622D1339197B441A4C0</input>
+			<output>EA089BEC0DEE1305828522B8AD4F5A99</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 219</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>33623A9F86F3AF456D92076B132E46A3AD280D8B19C7292EEA0FAF5403EAA861</key>
+			<iv>1C02947B60555855FC011640D4789151</iv>
+			<input>EA089BEC0DEE1305828522B8AD4F5A99</input>
+			<output>339C14562AE38F84BE0FB1569C234287</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 220</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>6291ED0B63ED8C18A713DDCBFCA054E19EB419DD3324A6AA54001E029FC9EAE6</key>
+			<iv>51F3D794E51E235DCA81DAA0EF8E1242</iv>
+			<input>339C14562AE38F84BE0FB1569C234287</input>
+			<output>31050E95B1F08B9139EF7F8D42110978</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 221</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>7BEF1BE3E67AA478C5D9F50350D221CCAFB1174882D42D3B6DEF618FDDD8E39E</key>
+			<iv>197EF6E88597286062CA28C8AC72752D</iv>
+			<input>31050E95B1F08B9139EF7F8D42110978</input>
+			<output>18DE66E3B58C9ABAB99987826AF0D0AF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 222</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>3DEB69283844069B400C2E7127B8CD2EB76F71AB3758B781D476E60DB7283331</key>
+			<iv>460472CBDE3EA2E385D5DB72776AECE2</iv>
+			<input>18DE66E3B58C9ABAB99987826AF0D0AF</input>
+			<output>B75D11E28C94DB969FE009B984DA956B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 223</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>754C5BEC642540EC8BAD0778773CA8E700326049BBCC6C174B96EFB433F2A65A</key>
+			<iv>48A732C45C614677CBA12909508465C9</iv>
+			<input>B75D11E28C94DB969FE009B984DA956B</input>
+			<output>7CEEE835FC734108785B367A28C62058</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 224</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>01B0A659138DEE7CF1EFA11DD0A209247CDC887C47BF2D1F33CDD9CE1B348602</key>
+			<iv>74FCFDB577A8AE907A42A665A79EA1C3</iv>
+			<input>7CEEE835FC734108785B367A28C62058</input>
+			<output>F1E848F6C257D6D56B4FBCA36900614C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 225</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>F9531CEDC3C5C76A90195BF1E5FB5ED98D34C08A85E8FBCA5882656D7234E74E</key>
+			<iv>F8E3BAB4D048291661F6FAEC355957FD</iv>
+			<input>F1E848F6C257D6D56B4FBCA36900614C</input>
+			<output>7B06A193C8B84977E56B382D424D2A78</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 226</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D409DB9768430BCA0E2B68BA1CFE93A5F63261194D50B2BDBDE95D403079CD36</key>
+			<iv>2D5AC77AAB86CCA09E32334BF905CD7C</iv>
+			<input>7B06A193C8B84977E56B382D424D2A78</input>
+			<output>413356E3367ACBDD88ADA6DF5E09FFC6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 227</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>8425B50A014625BA114ABAC1585C3F68B70137FA7B2A79603544FB9F6E7032F0</key>
+			<iv>502C6E9D69052E701F61D27B44A2ACCD</iv>
+			<input>413356E3367ACBDD88ADA6DF5E09FFC6</input>
+			<output>13B524E8AEBFE32CC9559B500D9E9A82</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 228</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>3ED2EEDFF8C12697C9CEB18B8DC86798A4B41312D5959A4CFC1160CF63EEA872</key>
+			<iv>BAF75BD5F987032DD8840B4AD59458F0</iv>
+			<input>13B524E8AEBFE32CC9559B500D9E9A82</input>
+			<output>91775D8DF510277669BC11697965AE99</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 229</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>B3C35FF0F6B2DDCF5522A35E75040BB135C34E9F2085BD3A95AD71A61A8B06EB</key>
+			<iv>8D11B12F0E73FB589CEC12D5F8CC6C29</iv>
+			<input>91775D8DF510277669BC11697965AE99</input>
+			<output>0AA5B5A593FED4CE1FD66736774649D2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 230</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>5581EEED032A31D6F8077BEED79ABB1E3F66FB3AB37B69F48A7B16906DCD4F39</key>
+			<iv>E642B11DF598EC19AD25D8B0A29EB0AF</iv>
+			<input>0AA5B5A593FED4CE1FD66736774649D2</input>
+			<output>3DB595E23D32347092E5D94A8376DB5D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 231</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>2337ABB014AD70D3E290033BD6FC75D702D36ED88E495D84189ECFDAEEBB9464</key>
+			<iv>76B6455D178741051A9778D50166CEC9</iv>
+			<input>3DB595E23D32347092E5D94A8376DB5D</input>
+			<output>2AF2DEC9D2D4F0BA81D1FC88E421C034</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 232</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>7C8A43D8CA68E782BBD49C18477683052821B0115C9DAD3E994F33520A9A5450</key>
+			<iv>5FBDE868DEC5975159449F23918AF6D2</iv>
+			<input>2AF2DEC9D2D4F0BA81D1FC88E421C034</input>
+			<output>8AF90FCCBEDCDF709AEE93FEF45C03EC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 233</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>37FDC789E91F58F691931C86C4505926A2D8BFDDE241724E03A1A0ACFEC657BC</key>
+			<iv>4B7784512377BF742A47809E8326DA23</iv>
+			<input>8AF90FCCBEDCDF709AEE93FEF45C03EC</input>
+			<output>8E98DF785A601DF26465D9A0D163D650</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 234</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>57C30D92BD234BE693F15534768970FC2C4060A5B8216FBC67C4790C2FA581EC</key>
+			<iv>603ECA1B543C1310026249B2B2D929DA</iv>
+			<input>8E98DF785A601DF26465D9A0D163D650</input>
+			<output>21D3EAC95A088A548E5C0E56001BD103</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 235</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>1F9A07E73DB0530F84B6DB88C5EA0AFD0D938A6CE229E5E8E998775A2FBE50EF</key>
+			<iv>48590A75809318E917478EBCB3637A01</iv>
+			<input>21D3EAC95A088A548E5C0E56001BD103</input>
+			<output>48A8853D9E4E4A6351E5F5734911D569</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 236</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>219E87740C05905A3DAC677C78C5E6D4453B0F517C67AF8BB87D822966AF8586</key>
+			<iv>3E04809331B5C355B91ABCF4BD2FEC29</iv>
+			<input>48A8853D9E4E4A6351E5F5734911D569</input>
+			<output>C75ECB64A655DC6803FC976A1CAE78A9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 237</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D445B2CF4C6B8AF073FCDFF8907C4B278265C435DA3273E3BB8115437A01FD2F</key>
+			<iv>F5DB35BB406E1AAA4E50B884E8B9ADF3</iv>
+			<input>C75ECB64A655DC6803FC976A1CAE78A9</input>
+			<output>F063E6C6A62D07B1CA90594CB9041DE4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 238</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>3DECAA3153A9658A2CAA5578AF2C55CD720622F37C1F745271114C0FC305E0CB</key>
+			<iv>E9A918FE1FC2EF7A5F568A803F501EEA</iv>
+			<input>F063E6C6A62D07B1CA90594CB9041DE4</input>
+			<output>45F375DDBA20D20CB6C5EAB28AA85D06</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 239</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>31766034845DF8A1AEDFC70CE3CD5B1D37F5572EC63FA65EC7D4A6BD49ADBDCD</key>
+			<iv>0C9ACA05D7F49D2B827592744CE10ED0</iv>
+			<input>45F375DDBA20D20CB6C5EAB28AA85D06</input>
+			<output>5D117AAC285D5A6948390FDAFBDACAD5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 240</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>BF17727E1D5DCA94C9CCA8E11DFBF22A6AE42D82EE62FC378FEDA967B2777718</key>
+			<iv>8E61124A9900323567136FEDFE36A937</iv>
+			<input>5D117AAC285D5A6948390FDAFBDACAD5</input>
+			<output>C8B61B172D930641A88E9E13236E11F9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 241</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>B82DB30F4271245293FC4CB6A0C10D4FA2523695C3F1FA7627633774911966E1</key>
+			<iv>073AC1715F2CEEC65A30E457BD3AFF65</iv>
+			<input>C8B61B172D930641A88E9E13236E11F9</input>
+			<output>FE05708E08F8568BB55175CEEF9E0433</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 242</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>28AE9BD5E181AC41CF2F9B4710DD160C5C57461BCB09ACFD923242BA7E8762D2</key>
+			<iv>908328DAA3F088135CD3D7F1B01C1B43</iv>
+			<input>FE05708E08F8568BB55175CEEF9E0433</input>
+			<output>D7DB71EAC2EF31AE105227E34134AD3C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 243</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>437D385B59B4AB247A5BCFC0C0F8596F8B8C37F109E69D53826065593FB3CFEE</key>
+			<iv>6BD3A38EB8350765B5745487D0254F63</iv>
+			<input>D7DB71EAC2EF31AE105227E34134AD3C</input>
+			<output>ECD51D08C870983992708FC1FDFA9D15</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 244</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>4EF45D9C1FCA58D42D9E7E2E9C7D0B8F67592AF9C196056A1010EA98C24952FB</key>
+			<iv>0D8965C7467EF3F057C5B1EE5C8552E0</iv>
+			<input>ECD51D08C870983992708FC1FDFA9D15</input>
+			<output>F436BA32E9D089248AC47E40AA6B4BAC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 245</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D3F16D0CF75471A24F273B3E8EF0A3A0936F90CB28468C4E9AD494D868221957</key>
+			<iv>9D053090E89E297662B94510128DA82F</iv>
+			<input>F436BA32E9D089248AC47E40AA6B4BAC</input>
+			<output>F43E89C3DBD391B5778B30A36A9E42F3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 246</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>953E7AB7369425A4F396D764F3EA047F67511908F3951DFBED5FA47B02BC5BA4</key>
+			<iv>46CF17BBC1C05406BCB1EC5A7D1AA7DF</iv>
+			<input>F43E89C3DBD391B5778B30A36A9E42F3</input>
+			<output>B12ABB428A29703B929EFDB0031694D1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 247</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>C8DDFEFD3C72822B72C78757EE8EF856D67BA24A79BC6DC07FC159CB01AACF75</key>
+			<iv>5DE3844A0AE6A78F815150331D64FC29</iv>
+			<input>B12ABB428A29703B929EFDB0031694D1</input>
+			<output>79F19D2BD0A025D2D9822A28F5304446</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 248</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>870A25E9511D3F1BCFA941DA41FD00C0AF8A3F61A91C4812A64373E3F49A8B33</key>
+			<iv>4FD7DB146D6FBD30BD6EC68DAF73F896</iv>
+			<input>79F19D2BD0A025D2D9822A28F5304446</input>
+			<output>C52D5EF8D7A1353F5C1FF7BA33F9ED97</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 249</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>178B86564949AE1A0CE50E61F4D3F8776AA761997EBD7D2DFA5C8459C76366A4</key>
+			<iv>9081A3BF18549101C34C4FBBB52EF8B7</iv>
+			<input>C52D5EF8D7A1353F5C1FF7BA33F9ED97</input>
+			<output>82FAB7DF4BE409880B8F66210DE8D2E5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 250</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>C3F845809E635052F94076E1F3026779E85DD646355974A5F1D3E278CA8BB441</key>
+			<iv>D473C3D6D72AFE48F5A5788007D19F0E</iv>
+			<input>82FAB7DF4BE409880B8F66210DE8D2E5</input>
+			<output>52C05722F125348666DFCF0F2D052530</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 251</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>34AE823E21F4C45784F2E125CF5039FCBA9D8164C47C4023970C2D77E78E9171</key>
+			<iv>F756C7BEBF9794057DB297C43C525E85</iv>
+			<input>52C05722F125348666DFCF0F2D052530</input>
+			<output>DE7FAAF4A10D4D5404847FA080C1DC1C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 252</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9D1EEFC6B62427F5A2CBB2047AB0E41B64E22B9065710D77938852D7674F4D6D</key>
+			<iv>A9B06DF897D0E3A226395321B5E0DDE7</iv>
+			<input>DE7FAAF4A10D4D5404847FA080C1DC1C</input>
+			<output>49327927599012EE87FF64F45AC9A9AE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 253</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>2C7B21A79BE0B5B0E4DCC427DE8D91572DD052B73CE11F99147736233D86E4C3</key>
+			<iv>B165CE612DC4924546177623A43D754C</iv>
+			<input>49327927599012EE87FF64F45AC9A9AE</input>
+			<output>6E11B9F592DD99CD94F8999D9476F4CF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 254</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>F4A72FB6D161B9E15A41576C5A7CBF3F43C1EB42AE3C8654808FAFBEA9F0100C</key>
+			<iv>D8DC0E114A810C51BE9D934B84F12E68</iv>
+			<input>6E11B9F592DD99CD94F8999D9476F4CF</input>
+			<output>108AC1FE3E008D1C3058917157003E2C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 255</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>2E5FE97C58B060C9BACA9E9CC14CFC89534B2ABC903C0B48B0D73ECFFEF02E20</key>
+			<iv>DAF8C6CA89D1D928E08BC9F09B3043B6</iv>
+			<input>108AC1FE3E008D1C3058917157003E2C</input>
+			<output>B315EF45A3BD77688AD0976EF5DCA26B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 256</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9D763A80B96B112E1DAEA50A98C0B6F7E05EC5F933817C203A07A9A10B2C8C4B</key>
+			<iv>B329D3FCE1DB71E7A7643B96598C4A7E</iv>
+			<input>B315EF45A3BD77688AD0976EF5DCA26B</input>
+			<output>7BF8DABED803049DF8D1F34ED00536F7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 257</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>DF5F07523E7E305B48AAD9C205AE826C9BA61F47EB8278BDC2D65AEFDB29BABC</key>
+			<iv>42293DD28715217555047CC89D6E349B</iv>
+			<input>7BF8DABED803049DF8D1F34ED00536F7</input>
+			<output>E55FE84DF3137D16E74DC01A1BFDA4A7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 258</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>80CF537EC8836ADD0FB72F35B2EF703D7EF9F70A189105AB259B9AF5C0D41E1B</key>
+			<iv>5F90542CF6FD5A86471DF6F7B741F251</iv>
+			<input>E55FE84DF3137D16E74DC01A1BFDA4A7</input>
+			<output>6019F9DA2DFDCDCB14C2C6CE5B34432D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 259</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>4469D3622A022CFB7614C9C9EB36E6031EE00ED0356CC86031595C3B9BE05D36</key>
+			<iv>C4A6801CE281462679A3E6FC59D9963E</iv>
+			<input>6019F9DA2DFDCDCB14C2C6CE5B34432D</input>
+			<output>6D2788861A8F9526D1EC8A6A8AFBA629</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 260</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>DED804546FA6B0BCD8C9FD9119616F9873C786562FE35D46E0B5D651111BFB1F</key>
+			<iv>9AB1D73645A49C47AEDD3458F257899B</iv>
+			<input>6D2788861A8F9526D1EC8A6A8AFBA629</input>
+			<output>81D5CDEA70E433A2A341FFB13ECCEC54</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 261</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>24FD3D900606EEF8F31156D30EA094ADF2124BBC5F076EE443F429E02FD7174B</key>
+			<iv>FA2539C469A05E442BD8AB4217C1FB35</iv>
+			<input>81D5CDEA70E433A2A341FFB13ECCEC54</input>
+			<output>F74B4869E92F918A95B508E382A83FA6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 262</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>C24CA269EAADDFBA060AAF15C2265DE6055903D5B628FF6ED6412103AD7F28ED</key>
+			<iv>E6B19FF9ECAB3142F51BF9C6CC86C94B</iv>
+			<input>F74B4869E92F918A95B508E382A83FA6</input>
+			<output>EF3293511A17D0E089A8F88E396B4F31</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 263</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>789C94E8D2B6D6FD022ED678F42E796CEA6B9084AC3F2F8E5FE9D98D941467DC</key>
+			<iv>BAD03681381B09470424796D3608248A</iv>
+			<input>EF3293511A17D0E089A8F88E396B4F31</input>
+			<output>0D70FCE243309D716D8FA672A11EBCB8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 264</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>B8DFB47D720C26AE22AD6C87785CCB97E71B6C66EF0FB2FF32667FFF350ADB64</key>
+			<iv>C0432095A0BAF0532083BAFF8C72B2FB</iv>
+			<input>0D70FCE243309D716D8FA672A11EBCB8</input>
+			<output>831365AB30D062F2B1C051A9EA03AEEB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 265</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>938BCEFF0FD9AEC61CF2B0509A645A19640809CDDFDFD00D83A62E56DF09758F</key>
+			<iv>2B547A827DD588683E5FDCD7E238918E</iv>
+			<input>831365AB30D062F2B1C051A9EA03AEEB</input>
+			<output>EFE7E9DC254FF4AA70ABF327566A5448</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 266</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>BBF0C86D05BF543EC3B9A9240833187F8BEFE011FA9024A7F30DDD71896321C7</key>
+			<iv>287B06920A66FAF8DF4B197492574266</iv>
+			<input>EFE7E9DC254FF4AA70ABF327566A5448</input>
+			<output>2D41BEE483BD2BAD16026AD7AA5ABA07</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 267</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>B744A9326EC1D56CBFF51D969D075C7DA6AE5EF5792D0F0AE50FB7A623399BC0</key>
+			<iv>0CB4615F6B7E81527C4CB4B295344402</iv>
+			<input>2D41BEE483BD2BAD16026AD7AA5ABA07</input>
+			<output>079460C9B745A53999932C5ECFE6A37B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 268</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>AE49C59DD393E9EC9030AEDAD7FC61FEA13A3E3CCE68AA337C9C9BF8ECDF38BB</key>
+			<iv>190D6CAFBD523C802FC5B34C4AFB3D83</iv>
+			<input>079460C9B745A53999932C5ECFE6A37B</input>
+			<output>CE7C5851D0437368FEDC7E39270A7430</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 269</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>8176855633B6FB2445BDDC2FD8D299576F46666D1E2BD95B8240E5C1CBD54C8B</key>
+			<iv>2F3F40CBE02512C8D58D72F50F2EF8A9</iv>
+			<input>CE7C5851D0437368FEDC7E39270A7430</input>
+			<output>A0C3F2D688E4370AD2F08C09B28DBCC1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 270</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>050E71C47B278C5825DE84513A732D11CF8594BB96CFEE5150B069C87958F04A</key>
+			<iv>8478F4924891777C6063587EE2A1B446</iv>
+			<input>A0C3F2D688E4370AD2F08C09B28DBCC1</input>
+			<output>BE472E609ABB030B96739A959EDBDD21</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 271</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>502E4BDCF449E96CB16D5B6C097D20CC71C2BADB0C74ED5AC6C3F35DE7832D6B</key>
+			<iv>55203A188F6E653494B3DF3D330E0DDD</iv>
+			<input>BE472E609ABB030B96739A959EDBDD21</input>
+			<output>FE4227D6AC71519FA0F2078433DF69CA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 272</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>C3DDDE6B2E80381010569BC093561F628F809D0DA005BCC56631F4D9D45C44A1</key>
+			<iv>93F395B7DAC9D17CA13BC0AC9A2B3FAE</iv>
+			<input>FE4227D6AC71519FA0F2078433DF69CA</input>
+			<output>3F8439C7648C5C2B5877643C536E14F9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 273</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>1CC65CB104317D620D729EDEB4C4B512B004A4CAC489E0EE3E4690E587325058</key>
+			<iv>DF1B82DA2AB145721D24051E2792AA70</iv>
+			<input>3F8439C7648C5C2B5877643C536E14F9</input>
+			<output>E189B969BF38C8A2F38BF3F12267B5B4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 274</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D121C8556039F07E231F9E88DE60572B518D1DA37BB1284CCDCD6314A555E5EC</key>
+			<iv>CDE794E464088D1C2E6D00566AA4E239</iv>
+			<input>E189B969BF38C8A2F38BF3F12267B5B4</input>
+			<output>EF15CCEC56DCD62681FC7564A1095ECD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 275</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>C87070F4AA767BE043B29FE3AF258C91BE98D14F2D6DFE6A4C311670045CBB21</key>
+			<iv>1951B8A1CA4F8B9E60AD016B7145DBBA</iv>
+			<input>EF15CCEC56DCD62681FC7564A1095ECD</input>
+			<output>BD38CD579A7124DD0814DB21FC0E7D96</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 276</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>08167C643CA7CAD8729B17EB91918AC103A01C18B71CDAB74425CD51F852C6B7</key>
+			<iv>C0660C9096D1B138312988083EB40650</iv>
+			<input>BD38CD579A7124DD0814DB21FC0E7D96</input>
+			<output>565F580B61E456544D8D553948AD95FD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 277</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>55BB77ED49C419EEA418365F2750857355FF4413D6F88CE309A89868B0FF534A</key>
+			<iv>5DAD0B897563D336D68321B4B6C10FB2</iv>
+			<input>565F580B61E456544D8D553948AD95FD</input>
+			<output>1AA68EAC78C2B5BFF996F0B58C56432F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 278</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>8FEC3C85819F24EE1DA186AB212A19D44F59CABFAE3A395CF03E68DD3CA91065</key>
+			<iv>DA574B68C85B3D00B9B9B0F4067A9CA7</iv>
+			<input>1AA68EAC78C2B5BFF996F0B58C56432F</input>
+			<output>65660FBF6C166604D9E717671488D734</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 279</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D1D19B25C23EA5923D45493905B867D12A3FC500C22C5F5829D97FBA2821C751</key>
+			<iv>5E3DA7A043A1817C20E4CF9224927E05</iv>
+			<input>65660FBF6C166604D9E717671488D734</input>
+			<output>477CBD97B467AA1AAB738E294092FAA3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 280</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>E1972BE045093EC4475DCE6351CDEDCB6D437897764BF54282AAF19368B33DF2</key>
+			<iv>3046B0C587379B567A18875A54758A1A</iv>
+			<input>477CBD97B467AA1AAB738E294092FAA3</input>
+			<output>C0ED90D90AE11390A275BD03BE00E1D5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 281</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>6F622A270D77AE65084E2070343E8C7FADAEE84E7CAAE6D220DF4C90D6B3DC27</key>
+			<iv>8EF501C7487E90A14F13EE1365F361B4</iv>
+			<input>C0ED90D90AE11390A275BD03BE00E1D5</input>
+			<output>296FED9B8CF7C532721A2188DDB1A441</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 282</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>FF7209EA94C0401544991FDB57F77F2084C105D5F05D23E052C56D180B027866</key>
+			<iv>901023CD99B7EE704CD73FAB63C9F35F</iv>
+			<input>296FED9B8CF7C532721A2188DDB1A441</input>
+			<output>4AE1C2EB8D1CEB5804FA992708150590</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 283</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>73C6F94AD63DE39C289AE20179FDDDD7CE20C73E7D41C8B8563FF43F03177DF6</key>
+			<iv>8CB4F0A042FDA3896C03FDDA2E0AA2F7</iv>
+			<input>4AE1C2EB8D1CEB5804FA992708150590</input>
+			<output>A4EAC8940C12F9CEAC78DFDC99DF68B4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 284</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>A7369886016682F6075678509FFB86ED6ACA0FAA71533176FA472BE39AC81542</key>
+			<iv>D4F061CCD75B616A2FCC9A51E6065B3A</iv>
+			<input>A4EAC8940C12F9CEAC78DFDC99DF68B4</input>
+			<output>70B05A9959E7C4E4545BB3AECCD8B33D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 285</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>F01B9FF32CE9CA699F69ADBBC209BBD21A7A553328B4F592AE1C984D5610A67F</key>
+			<iv>572D07752D8F489F983FD5EB5DF23D3F</iv>
+			<input>70B05A9959E7C4E4545BB3AECCD8B33D</input>
+			<output>F4978960F1382713A5A7183B9694DE85</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 286</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>FF05A97961A5CA725CD2E1B2A9D58304EEEDDC53D98CD2810BBB8076C08478FA</key>
+			<iv>0F1E368A4D4C001BC3BB4C096BDC38D6</iv>
+			<input>F4978960F1382713A5A7183B9694DE85</input>
+			<output>EDCC3B8D26928086F1C6727833405424</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 287</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>AA4DB35CCBD936D13D1B7DB64638B99A0321E7DEFF1E5207FA7DF20EF3C42CDE</key>
+			<iv>55481A25AA7CFCA361C99C04EFED3A9E</iv>
+			<input>EDCC3B8D26928086F1C6727833405424</input>
+			<output>12A36AC1DA72345291CF206FA04F102F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 288</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>611E32BF030B7B377AEC338C7FA6D88311828D1F256C66556BB2D261538B3CF1</key>
+			<iv>CB5381E3C8D24DE647F74E3A399E6119</iv>
+			<input>12A36AC1DA72345291CF206FA04F102F</input>
+			<output>8DA0003E090444453B932F0CDBBFA54E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 289</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>43E230241EF150AC761C1307C43C3E209C228D212C6822105021FD6D883499BF</key>
+			<iv>22FC029B1DFA2B9B0CF0208BBB9AE6A3</iv>
+			<input>8DA0003E090444453B932F0CDBBFA54E</input>
+			<output>A3D9F2112895CEA937A2B18ABB589CC0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 290</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>1FE38E9028DAC8A1E65A04C78BD0E7523FFB7F3004FDECB967834CE7336C057F</key>
+			<iv>5C01BEB4362B980D904617C04FECD972</iv>
+			<input>A3D9F2112895CEA937A2B18ABB589CC0</input>
+			<output>191EE02B9FED198599B5BC2F36271ABB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 291</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>5FFD20799D7A7E7A328BD57B13F6E52F26E59F1B9B10F53CFE36F0C8054B1FC4</key>
+			<iv>401EAEE9B5A0B6DBD4D1D1BC9826027D</iv>
+			<input>191EE02B9FED198599B5BC2F36271ABB</input>
+			<output>EFC32006AE746D1E3F65E6C7ADF32804</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 292</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>EFEFD2A0F1917EB5BFD2337260E11023C926BF1D35649822C153160FA8B837C0</key>
+			<iv>B012F2D96CEB00CF8D59E6097317F50C</iv>
+			<input>EFC32006AE746D1E3F65E6C7ADF32804</input>
+			<output>F9C49B0BFFA354EEBBE3DE29BF9D2623</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 293</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>7676D792019D370A67526977EC5FDB5B30E22416CAC7CCCC7AB0C826172511E3</key>
+			<iv>99990532F00C49BFD8805A058CBECB78</iv>
+			<input>F9C49B0BFFA354EEBBE3DE29BF9D2623</input>
+			<output>EAEAE4BFF789E64D80D88CE5BC0E15CC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 294</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>69202B4EB33EB35987DD82026714F603DA08C0A93D4E2A81FA6844C3AB2B042F</key>
+			<iv>1F56FCDCB2A38453E08FEB758B4B2D58</iv>
+			<input>EAEAE4BFF789E64D80D88CE5BC0E15CC</input>
+			<output>96C362F59FD2457A5ED68A116B4AA682</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 295</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>DE8B4CC7995B3E061E126157B0C2AF984CCBA25CA29C6FFBA4BECED2C061A2AD</key>
+			<iv>B7AB67892A658D5F99CFE355D7D6599B</iv>
+			<input>96C362F59FD2457A5ED68A116B4AA682</input>
+			<output>5498BE46DCE840F7B593BE2BC0D252CB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 296</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>1BFE119E1B63BA06E9A590709A2985D218531C1A7E742F0C112D70F900B3F066</key>
+			<iv>C5755D5982388400F7B7F1272AEB2A4A</iv>
+			<input>5498BE46DCE840F7B593BE2BC0D252CB</input>
+			<output>697482966F491ACB46E7171A4813D916</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 297</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9E6361F9775A88FAAD09711E9691798C71279E8C113D35C757CA67E348A02970</key>
+			<iv>859D70676C3932FC44ACE16E0CB8FC5E</iv>
+			<input>697482966F491ACB46E7171A4813D916</input>
+			<output>A799874DC7721D96DEEFAB5FE1A01A8E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 298</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>7D1EF621D3ADC4BD4EC1861167FA5B0CD6BE19C1D64F28518925CCBCA90033FE</key>
+			<iv>E37D97D8A4F74C47E3C8F70FF16B2280</iv>
+			<input>A799874DC7721D96DEEFAB5FE1A01A8E</input>
+			<output>2D19344625CF5E6DE07EE960F4AEC5CF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 299</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>7DFD0BE692B47C022DC789EF5291D2F5FBA72D87F380763C695B25DC5DAEF631</key>
+			<iv>00E3FDC74119B8BF63060FFE356B89F9</iv>
+			<input>2D19344625CF5E6DE07EE960F4AEC5CF</input>
+			<output>F80C5143F173AE672DA4DDC8272C13EF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 300</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>A78C66D30475B93F0A87E6E4A8BFA3AE03AB7CC402F3D85B44FFF8147A82E5DE</key>
+			<iv>DA716D3596C1C53D27406F0BFA2E715B</iv>
+			<input>F80C5143F173AE672DA4DDC8272C13EF</input>
+			<output>76BDB7A63614A41C9D52718B3514E03C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 301</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9542E4B9D92DAF7B463C83DA257422B37516CB6234E77C47D9AD899F4F9605E2</key>
+			<iv>32CE826ADD5816444CBB653E8DCB811D</iv>
+			<input>76BDB7A63614A41C9D52718B3514E03C</input>
+			<output>93F65B7B961EE6B623A026576FF8890B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 302</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>6932CD66A25D1DE274C7D5DF540917BFE6E09019A2F99AF1FA0DAFC8206E8CE9</key>
+			<iv>FC7029DF7B70B29932FB5605717D350C</iv>
+			<input>93F65B7B961EE6B623A026576FF8890B</input>
+			<output>FA5BEB508ABCBCB1B1D56C0E207A032D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 303</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>595CCC3640445FF5BBF303FF7845AB821CBB7B49284526404BD8C3C600148FC4</key>
+			<iv>306E0150E2194217CF34D6202C4CBC3D</iv>
+			<input>FA5BEB508ABCBCB1B1D56C0E207A032D</input>
+			<output>BFAEA3EB7C617567EB302D571DBF2811</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 304</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>BF5382311BF88FC9E32D5BADC832BE48A315D8A254245327A0E8EE911DABA7D5</key>
+			<iv>E60F4E075BBCD03C58DE5852B07715CA</iv>
+			<input>BFAEA3EB7C617567EB302D571DBF2811</input>
+			<output>4B0E63933414184D43B0AA714AA31E02</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 305</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>B50A2FF8FAC6820638CCBA3A0CA6519CE81BBB3160304B6AE35844E05708B9D7</key>
+			<iv>0A59ADC9E13E0DCFDBE1E197C494EFD4</iv>
+			<input>4B0E63933414184D43B0AA714AA31E02</input>
+			<output>0073CA04B300003AF3C1035C664E0646</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 306</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>1A32AA7CA8B5D83C47F56C5D24EDBD38E8687135D3304B50109947BC3146BF91</key>
+			<iv>AF38858452735A3A7F39D667284BECA4</iv>
+			<input>0073CA04B300003AF3C1035C664E0646</input>
+			<output>75CFE6D4A4F05D8EBB5C614AC7FB48C8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 307</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>C321C5381F5A334C8B82DD2F0E4C73AE9DA797E177C016DEABC526F6F6BDF759</key>
+			<iv>D9136F44B7EFEB70CC77B1722AA1CE96</iv>
+			<input>75CFE6D4A4F05D8EBB5C614AC7FB48C8</input>
+			<output>B0D8DB37DF5C3A87B9E5D562283E8FEE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 308</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>40879EA19753F0F22B1C1BF438A446532D7F4CD6A89C2C591220F394DE8378B7</key>
+			<iv>83A65B998809C3BEA09EC6DB36E835FD</iv>
+			<input>B0D8DB37DF5C3A87B9E5D562283E8FEE</input>
+			<output>9C885637CC7666C04B424DD6EF1F3EDB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 309</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>B6824C9F800B1E7825135F250DB99FC8B1F71AE164EA4A995962BE42319C466C</key>
+			<iv>F605D23E1758EE8A0E0F44D1351DD99B</iv>
+			<input>9C885637CC7666C04B424DD6EF1F3EDB</input>
+			<output>3E7F4437656E63E0ADC6C764B20FE92D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 310</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>7FA3CDE5856B1F0D9AE33E9E6ED1532E8F885ED601842979F4A479268393AF41</key>
+			<iv>C921817A05600175BFF061BB6368CCE6</iv>
+			<input>3E7F4437656E63E0ADC6C764B20FE92D</input>
+			<output>B19CCFDAADEC54C8DD5F4FD53D3C5824</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 311</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>3E3ABA34DB005D9FF2CEF1321BCD018E3E14910CAC687DB129FB36F3BEAFF765</key>
+			<iv>419977D15E6B4292682DCFAC751C52A0</iv>
+			<input>B19CCFDAADEC54C8DD5F4FD53D3C5824</input>
+			<output>84F7D061322A4042913C0BD14F5F1391</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 312</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>FB474D499955CB1F37FBA309DD55E09DBAE3416D9E423DF3B8C73D22F1F0E4F4</key>
+			<iv>C57DF77D42559680C535523BC698E113</iv>
+			<input>84F7D061322A4042913C0BD14F5F1391</input>
+			<output>CBCD716DA9C53D7AFFFE65B780926660</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 313</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>7C1D07031362A7439F9DD5272DAD1D9B712E3000378700894739589571628294</key>
+			<iv>875A4A4A8A376C5CA866762EF0F8FD06</iv>
+			<input>CBCD716DA9C53D7AFFFE65B780926660</input>
+			<output>F605D205704496C5BFCEE88130920CDE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 314</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>7E9E72A6032523643F0965E8BFCB0793872BE20547C3964CF8F7B01441F08E4A</key>
+			<iv>028375A510478427A094B0CF92661A08</iv>
+			<input>F605D205704496C5BFCEE88130920CDE</input>
+			<output>CFA8B47DEB5770925EA29484D82CDBB4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 315</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>518CA0A8C81E9DDCE1060410C69F0ACE48835678AC94E6DEA655249099DC55FE</key>
+			<iv>2F12D20ECB3BBEB8DE0F61F879540D5D</iv>
+			<input>CFA8B47DEB5770925EA29484D82CDBB4</input>
+			<output>1065AD49D2DD48EB9540F23A69469B92</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 316</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>45E6A5A17D8D1AEA04CD8E184D0A1BF758E6FB317E49AE353315D6AAF09ACE6C</key>
+			<iv>146A0509B5938736E5CB8A088B951139</iv>
+			<input>1065AD49D2DD48EB9540F23A69469B92</input>
+			<output>DB12EE00C65069CFEA509BA5BD5BB6BC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 317</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>FC8F8F7F8A440A6CEB920D4311851B3A83F41531B819C7FAD9454D0F4DC178D0</key>
+			<iv>B9692ADEF7C91086EF5F835B5C8F00CD</iv>
+			<input>DB12EE00C65069CFEA509BA5BD5BB6BC</input>
+			<output>B66316FB3CCC9B262A34C205AE43F42B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 318</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>42D666DF2C1575E3B346FCBCD208AD9F359703CA84D55CDCF3718F0AE3828CFB</key>
+			<iv>BE59E9A0A6517F8F58D4F1FFC38DB6A5</iv>
+			<input>B66316FB3CCC9B262A34C205AE43F42B</input>
+			<output>4C851D9BDC164194A6D1FDE274C06D1B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 319</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>786B9456901DFA9FF85C686DEEDCA02079121E5158C31D4855A072E89742E1E0</key>
+			<iv>3ABDF289BC088F7C4B1A94D13CD40DBF</iv>
+			<input>4C851D9BDC164194A6D1FDE274C06D1B</input>
+			<output>5507F1EB271BDBC0A6DD8BBAEC843A05</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 320</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>C79B5CD424E592D392FECD3233CEA70B2C15EFBA7FD8C688F37DF9527BC6DBE5</key>
+			<iv>BFF0C882B4F8684C6AA2A55FDD12072B</iv>
+			<input>5507F1EB271BDBC0A6DD8BBAEC843A05</input>
+			<output>BB10EF7C98DE0255C836D5319B94B166</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 321</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>10ABC5B835E6E6BD02E90B63D22EF9E7970500C6E706C4DD3B4B2C63E0526A83</key>
+			<iv>D730996C1103746E9017C651E1E05EEC</iv>
+			<input>BB10EF7C98DE0255C836D5319B94B166</input>
+			<output>E8B797AFDC378DB47F172260963A6E2C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 322</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>75E05AAAB4E6981A20E4177D214B81EA7FB297693B314969445C0E03766804AF</key>
+			<iv>654B9F1281007EA7220D1C1EF365780D</iv>
+			<input>E8B797AFDC378DB47F172260963A6E2C</input>
+			<output>58ED1CC5A208A0E7340167E79F5DA7C2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 323</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>A69FECC296D12216128BD1D2C48B373D275F8BAC9939E98E705D69E4E935A36D</key>
+			<iv>D37FB6682237BA0C326FC6AFE5C0B6D7</iv>
+			<input>58ED1CC5A208A0E7340167E79F5DA7C2</input>
+			<output>FEDA5FB215819B441BE18B0AED27A1FD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 324</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>7EED1776E603DD6C20F08B4C6B121525D985D41E8CB872CA6BBCE2EE04120290</key>
+			<iv>D872FBB470D2FF7A327B5A9EAF992218</iv>
+			<input>FEDA5FB215819B441BE18B0AED27A1FD</input>
+			<output>7CD64E29A704F13688DB206F7F337685</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 325</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D4479A0AF29AF7145EC3FB89FEF8BBA7A5539A372BBC83FCE367C2817B217415</key>
+			<iv>AAAA8D7C14992A787E3370C595EAAE82</iv>
+			<input>7CD64E29A704F13688DB206F7F337685</input>
+			<output>25D6728244F28F79D1BC707BE94ECA13</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 326</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>7FB45D09003B25EFEB5F68CCB7E09C008085E8B56F4E0C8532DBB2FA926FBE06</key>
+			<iv>ABF3C703F2A1D2FBB59C9345491827A7</iv>
+			<input>25D6728244F28F79D1BC707BE94ECA13</input>
+			<output>47AF03717893A10D7F40D5A3D9B82534</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 327</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>35EE9428D4EC49EC103EDF32F4FBEE16C72AEBC417DDAD884D9B67594BD79B32</key>
+			<iv>4A5AC921D4D76C03FB61B7FE431B7216</iv>
+			<input>47AF03717893A10D7F40D5A3D9B82534</input>
+			<output>B6C25C0E4CA560707588321AAF41119C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 328</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>B12C0149A6EDD2DC3742D10822FEDDF771E8B7CA5B78CDF838135543E4968AAE</key>
+			<iv>84C2956172019B30277C0E3AD60533E1</iv>
+			<input>B6C25C0E4CA560707588321AAF41119C</input>
+			<output>09137DF5460434E863647B4B50E17A60</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 329</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>CFEC596CE216B14A955E7CBC095C198678FBCA3F1D7CF9105B772E08B477F0CE</key>
+			<iv>7EC0582544FB6396A21CADB42BA2C471</iv>
+			<input>09137DF5460434E863647B4B50E17A60</input>
+			<output>17A26688B271E9765F41C71CD8CF0C25</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 330</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>35903FF91CC199C048C6C031AA2F4FC96F59ACB7AF0D10660436E9146CB8FCEB</key>
+			<iv>FA7C6695FED7288ADD98BC8DA373564F</iv>
+			<input>17A26688B271E9765F41C71CD8CF0C25</input>
+			<output>62E3C4D53DECB83FCD5F57D1971D58FB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 331</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>F262476804B79C1F85FEB875CCD5FC3E0DBA686292E1A859C969BEC5FBA5A410</key>
+			<iv>C7F27891187605DFCD38784466FAB3F7</iv>
+			<input>62E3C4D53DECB83FCD5F57D1971D58FB</input>
+			<output>3495C5855D819B6FF779FC7AC59BEB53</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 332</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>DC61E5CFC9BAE6B23B894486AD478ADD392FADE7CF6033363E1042BF3E3E4F43</key>
+			<iv>2E03A2A7CD0D7AADBE77FCF3619276E3</iv>
+			<input>3495C5855D819B6FF779FC7AC59BEB53</input>
+			<output>7440ABE9E1374208CFBCCC18ADC6089F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 333</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>C9D2E747A1A6D594CCAE434B7605C8FB4D6F060E2E57713EF1AC8EA793F847DC</key>
+			<iv>15B30288681C3326F72707CDDB424226</iv>
+			<input>7440ABE9E1374208CFBCCC18ADC6089F</input>
+			<output>B6802F0F62A28AF7326CDB2144E8DE87</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 334</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>99FEF610CFFFACBE8C6AD0A2B0C8F8A7FBEF29014CF5FBC9C3C05586D710995B</key>
+			<iv>502C11576E59792A40C493E9C6CD305C</iv>
+			<input>B6802F0F62A28AF7326CDB2144E8DE87</input>
+			<output>B84D7D91E60C131F6F042D403D85C47B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 335</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>91EB2713A930B6A53993029D5A056B4143A25490AAF9E8D6ACC478C6EA955D20</key>
+			<iv>0815D10366CF1A1BB5F9D23FEACD93E6</iv>
+			<input>B84D7D91E60C131F6F042D403D85C47B</input>
+			<output>4DDF64827A16F90B5E6B306E8F227DB7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 336</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>C15019D3523304CC9231B33C53C7FE1E0E7D3012D0EF11DDF2AF48A865B72097</key>
+			<iv>50BB3EC0FB03B269ABA2B1A109C2955F</iv>
+			<input>4DDF64827A16F90B5E6B306E8F227DB7</input>
+			<output>FDF6E5B6486E11839EB3A7F5C3898F54</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 337</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>E24B749901384F48B2E740C51175E311F38BD5A49881005E6C1CEF5DA63EAFC3</key>
+			<iv>231B6D4A530B4B8420D6F3F942B21D0F</iv>
+			<input>FDF6E5B6486E11839EB3A7F5C3898F54</input>
+			<output>841EF37B4AF82CC5EB00E11775079D81</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 338</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>44B7FFFA042DCA1BF276D4911D4B0BE2779526DFD2792C9B871C0E4AD3393242</key>
+			<iv>A6FC8B6305158553409194540C3EE8F3</iv>
+			<input>841EF37B4AF82CC5EB00E11775079D81</input>
+			<output>1725AF7F70B65FBB060D29B3BCDF0A31</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 339</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>B724B2CD569E436B20594E10576934BF60B089A0A2CF7320811127F96FE63873</key>
+			<iv>F3934D3752B38970D22F9A814A223F5D</iv>
+			<input>1725AF7F70B65FBB060D29B3BCDF0A31</input>
+			<output>2CCC6D09954E5FE6C6A87E18950EED02</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 340</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>E9EB02E31CABD14DFF231F1F649294044C7CE4A937812CC647B959E1FAE8D571</key>
+			<iv>5ECFB02E4A359226DF7A510F33FBA0BB</iv>
+			<input>2CCC6D09954E5FE6C6A87E18950EED02</input>
+			<output>C82C82AF68EACE2AF22C3266F898F573</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 341</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>90C8F71B05BE122AFE5D58A7A1AAB666845066065F6BE2ECB5956B8702702002</key>
+			<iv>7923F5F81915C367017E47B8C5382262</iv>
+			<input>C82C82AF68EACE2AF22C3266F898F573</input>
+			<output>377F6966928959F2D68F3A2BD0EA3735</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 342</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>1BE70B607CF9A9E35DF916C4CC103FEBB32F0F60CDE2BB1E631A51ACD29A1737</key>
+			<iv>8B2FFC7B7947BBC9A3A44E636DBA898D</iv>
+			<input>377F6966928959F2D68F3A2BD0EA3735</input>
+			<output>3A8CCF4943B9866A9ABBEC0BA46F25DB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 343</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>631B2C30FEA26433F0CBCD01B1CE974089A3C0298E5B3D74F9A1BDA776F532EC</key>
+			<iv>78FC2750825BCDD0AD32DBC57DDEA8AB</iv>
+			<input>3A8CCF4943B9866A9ABBEC0BA46F25DB</input>
+			<output>3B767EAB7F0C2D24BBE5565E93DC3E24</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 344</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>8785E70A8CD45A8FE1E4382DC62D563DB2D5BE82F15710504244EBF9E5290CC8</key>
+			<iv>E49ECB3A72763EBC112FF52C77E3C17D</iv>
+			<input>3B767EAB7F0C2D24BBE5565E93DC3E24</input>
+			<output>619610C6A4A8E9B196E65D2E5D463968</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 345</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>B49BAD1E8EB8B9CF7F32048A81E5BCD3D343AE4455FFF9E1D4A2B6D7B86F35A0</key>
+			<iv>331E4A14026CE3409ED63CA747C8EAEE</iv>
+			<input>619610C6A4A8E9B196E65D2E5D463968</input>
+			<output>F12AF66580B33C3113C45CF5EFD52F4F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 346</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>3C92453C6342B6CDC18BFE05241EB5D922695821D54CC5D0C766EA2257BA1AEF</key>
+			<iv>8809E822EDFA0F02BEB9FA8FA5FB090A</iv>
+			<input>F12AF66580B33C3113C45CF5EFD52F4F</input>
+			<output>A427E0B2CD34285167999A9F18295D26</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 347</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>24A1F21CA68CF23F1674BF5328219987864EB8931878ED81A0FF70BD4F9347C9</key>
+			<iv>1833B720C5CE44F2D7FF41560C3F2C5E</iv>
+			<input>A427E0B2CD34285167999A9F18295D26</input>
+			<output>85F5855ACB2741070E1C89F904CBDBEA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 348</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>B5479F4D4A0DBBFFBF86C576009F241403BB3DC9D35FAC86AEE3F9444B589C23</key>
+			<iv>91E66D51EC8149C0A9F27A2528BEBD93</iv>
+			<input>85F5855ACB2741070E1C89F904CBDBEA</input>
+			<output>295D7A02348A185F5C54113C734E9003</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 349</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>AA9CE82B0B649063C874699C71E8A94E2AE647CBE7D5B4D9F2B7E87838160C20</key>
+			<iv>1FDB776641692B9C77F2ACEA71778D5A</iv>
+			<input>295D7A02348A185F5C54113C734E9003</input>
+			<output>E466F369B840296AAB1A24ED32A19F51</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 350</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>A2BA72E2906E04C42C0047EF222FFFE6CE80B4A25F959DB359ADCC950AB79371</key>
+			<iv>08269AC99B0A94A7E4742E7353C756A8</iv>
+			<input>E466F369B840296AAB1A24ED32A19F51</input>
+			<output>099CEB8099DD025E4A57015168F75388</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 351</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>EA9B425CCD937976EB04693F16C4DAC4C71C5F22C6489FED13FACDC46240C0F9</key>
+			<iv>482130BE5DFD7DB2C7042ED034EB2522</iv>
+			<input>099CEB8099DD025E4A57015168F75388</input>
+			<output>E40CD2C0A7E7CB35C64AEB396338A801</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 352</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D31BCE56BA19A7CB6057C5F2CCB3786223108DE261AF54D8D5B026FD017868F8</key>
+			<iv>39808C0A778ADEBD8B53ACCDDA77A2A6</iv>
+			<input>E40CD2C0A7E7CB35C64AEB396338A801</input>
+			<output>12E94732A52D15C624A8E554AB54C9A4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 353</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>F0CD039C509E0EFF71B18AE3FEEB186D31F9CAD0C482411EF118C3A9AA2CA15C</key>
+			<iv>23D6CDCAEA87A93411E64F113258600F</iv>
+			<input>12E94732A52D15C624A8E554AB54C9A4</input>
+			<output>241C32C2C0C5C6CBE4BB354C054C68D7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 354</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>0579BEABF73DD177C1F1F0827DA20BA115E5F812044787D515A3F6E5AF60C98B</key>
+			<iv>F5B4BD37A7A3DF88B0407A61834913CC</iv>
+			<input>241C32C2C0C5C6CBE4BB354C054C68D7</input>
+			<output>E4EA5643CF19EF64820A1B591DE1C378</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 355</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>99C7C61F7153FFA0F07380D052431667F10FAE51CB5E68B197A9EDBCB2810AF3</key>
+			<iv>9CBE78B4866E2ED7318270522FE11DC6</iv>
+			<input>E4EA5643CF19EF64820A1B591DE1C378</input>
+			<output>BC86D5465171B667CE837F874D933FF4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 356</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>C2A65A0A2E71F6E7E2BD9FBB5049F7914D897B179A2FDED6592A923BFF123507</key>
+			<iv>5B619C155F22094712CE1F6B020AE1F6</iv>
+			<input>BC86D5465171B667CE837F874D933FF4</input>
+			<output>EEB9DC4EBD27720AD3527A1323D85413</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 357</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>B635E7EFD987991CD29414B3EBAB2EA4A330A7592708ACDC8A78E828DCCA6114</key>
+			<iv>7493BDE5F7F66FFB30298B08BBE2D935</iv>
+			<input>EEB9DC4EBD27720AD3527A1323D85413</input>
+			<output>78591E006B877AC6880834E3F98FD6B0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 358</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>F5849125E52B6DF3CD8144DDB64178DDDB69B9594C8FD61A0270DCCB2545B7A4</key>
+			<iv>43B176CA3CACF4EF1F15506E5DEA5679</iv>
+			<input>78591E006B877AC6880834E3F98FD6B0</input>
+			<output>8F9A67CF96F4608D56923CB267855F3F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 359</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>41885734A072249ADE0091A0AD87F47854F3DE96DA7BB69754E2E07942C0E89B</key>
+			<iv>B40CC611455949691381D57D1BC68CA5</iv>
+			<input>8F9A67CF96F4608D56923CB267855F3F</input>
+			<output>1B0B8D9118CBECBA2D5AD17A261F9D56</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 360</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>FF1A5B86E3545D9CB01A1222EC99A81C4FF85307C2B05A2D79B8310364DF75CD</key>
+			<iv>BE920CB2432679066E1A8382411E5C64</iv>
+			<input>1B0B8D9118CBECBA2D5AD17A261F9D56</input>
+			<output>6225E63F0C1A5DE00FD63032908A51F3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 361</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>836FB4DC9C17E5AD70404B41CC4A043E2DDDB538CEAA07CD766E0131F455243E</key>
+			<iv>7C75EF5A7F43B831C05A596320D3AC22</iv>
+			<input>6225E63F0C1A5DE00FD63032908A51F3</input>
+			<output>7C66E540C016FB81A345E10331FCAFF3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 362</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>63CA7D0E2675E43626B5311A7BA7131B51BB50780EBCFC4CD52BE032C5A98BCD</key>
+			<iv>E0A5C9D2BA62019B56F57A5BB7ED1725</iv>
+			<input>7C66E540C016FB81A345E10331FCAFF3</input>
+			<output>2F010053D3C59BB8ACB5B13B197A4204</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 363</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>6B5C4A2DD70FFF3023B2A775BECF05607EBA502BDD7967F4799E5109DCD3C9C9</key>
+			<iv>08963723F17A1B060507966FC568167B</iv>
+			<input>2F010053D3C59BB8ACB5B13B197A4204</input>
+			<output>8918E06B8619B43E859171A345E246AE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 364</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>575661F811B8D8B50980A55848A48949F7A2B0405B60D3CAFC0F20AA99318F67</key>
+			<iv>3C0A2BD5C6B727852A32022DF66B8C29</iv>
+			<input>8918E06B8619B43E859171A345E246AE</input>
+			<output>60FF920A8495AD880459737525C109D6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 365</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>5FACBE49DE8F64786918067E7E361681975D224ADFF57E42F85653DFBCF086B1</key>
+			<iv>08FADFB1CF37BCCD6098A32636929FC8</iv>
+			<input>60FF920A8495AD880459737525C109D6</input>
+			<output>03F09A2C18DB8BAE5CCC93B9165A1D16</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 366</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9BFDA5803AC1C3004F0B138885DE59FE94ADB866C72EF5ECA49AC066AAAA9BA7</key>
+			<iv>C4511BC9E44EA778261315F6FBE84F7F</iv>
+			<input>03F09A2C18DB8BAE5CCC93B9165A1D16</input>
+			<output>52CB3AF36047F4D14C2EAEE3C3F8AF2A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 367</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>614239035D7EF489DE2F88FDB6188EC3C6668295A769013DE8B46E856952348D</key>
+			<iv>FABF9C8367BF378991249B7533C6D73D</iv>
+			<input>52CB3AF36047F4D14C2EAEE3C3F8AF2A</input>
+			<output>249794B3822BB06708B5D5777D297C40</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 368</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>20BEFE90BA9C7EE9CFB1E569FE354258E2F116262542B15AE001BBF2147B48CD</key>
+			<iv>41FCC793E7E28A60119E6D94482DCC9B</iv>
+			<input>249794B3822BB06708B5D5777D297C40</input>
+			<output>1836AE59EAE452DAC108618DECD666BD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 369</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>E11E8BF6DE253E4FBADEDFD44B34BE15FAC7B87FCFA6E3802109DA7FF8AD2E70</key>
+			<iv>C1A0756664B940A6756F3ABDB501FC4D</iv>
+			<input>1836AE59EAE452DAC108618DECD666BD</input>
+			<output>20EE84DEB0E7B0C83D74CE251AA1615C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 370</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>D519038D457B4BCD9DD50C8F64FE2F2ADA293CA17F4153481C7D145AE20C4F2C</key>
+			<iv>3407887B9B5E7582270BD35B2FCA913F</iv>
+			<input>20EE84DEB0E7B0C83D74CE251AA1615C</input>
+			<output>6FA7D3584A2E4B803AC1AC07B09931A2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 371</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>82F1611CFB9E7AF9F9274C6BF1B96BEBB58EEFF9356F18C826BCB85D52957E8E</key>
+			<iv>57E86291BEE5313464F240E4954744C1</iv>
+			<input>6FA7D3584A2E4B803AC1AC07B09931A2</input>
+			<output>A7B8F8AC07BAB843F4E7942A6E4A85D5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 372</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>DFF5A6DE8ADE9AB78CF1E637F44FD3351236175532D5A08BD25B2C773CDFFB5B</key>
+			<iv>5D04C7C27140E04E75D6AA5C05F6B8DE</iv>
+			<input>A7B8F8AC07BAB843F4E7942A6E4A85D5</input>
+			<output>7F3C3702404E6E013474A0AA0EF85527</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 373</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9C6A11136F64F462E7C5CB30049CDA056D0A2057729BCE8AE62F8CDD3227AE7C</key>
+			<iv>439FB7CDE5BA6ED56B342D07F0D30930</iv>
+			<input>7F3C3702404E6E013474A0AA0EF85527</input>
+			<output>7C0C44DC96872DEE0BAC71DDBDCC84E3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 374</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>2C95624ADD9B1E09F13AE579333B22BB1106648BE41CE364ED83FD008FEB2A9F</key>
+			<iv>B0FF7359B2FFEA6B16FF2E4937A7F8BE</iv>
+			<input>7C0C44DC96872DEE0BAC71DDBDCC84E3</input>
+			<output>B9E4597C562E9B5C0E6815E64F767CE9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 375</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>CBB3F14A21E49825990B89E7D07BC386A8E23DF7B2327838E3EBE8E6C09D5676</key>
+			<iv>E7269300FC7F862C68316C9EE340E13D</iv>
+			<input>B9E4597C562E9B5C0E6815E64F767CE9</input>
+			<output>4B37A1FD978F50BE9EA482CFBEACFA08</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 376</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>65B742FFD29D9B07F3956625AED7382EE3D59C0A25BD28867D4F6A297E31AC7E</key>
+			<iv>AE04B3B5F37903226A9EEFC27EACFBA8</iv>
+			<input>4B37A1FD978F50BE9EA482CFBEACFA08</input>
+			<output>D3406B71FFC847C364199666A808C43A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 377</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>6C6A4DE74AF6C443B4F6A1C7DAB4A28E3095F77BDA756F451956FC4FD6396844</key>
+			<iv>09DD0F18986B5F444763C7E274639AA0</iv>
+			<input>D3406B71FFC847C364199666A808C43A</input>
+			<output>94744ECE39108CB8084DF8A17C49CDCC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 378</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>AD09E82AFAA9F5168CD9B83F44C096A0A4E1B9B5E365E3FD111B04EEAA70A588</key>
+			<iv>C163A5CDB05F3155382F19F89E74342E</iv>
+			<input>94744ECE39108CB8084DF8A17C49CDCC</input>
+			<output>45EF43A20D7F174DA1463DDA678BBFFB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 379</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>DC29CBF4E8B92311A9AA788C437A8EDDE10EFA17EE1AF4B0B05D3934CDFB1A73</key>
+			<iv>712023DE1210D6072573C0B307BA187D</iv>
+			<input>45EF43A20D7F174DA1463DDA678BBFFB</input>
+			<output>4480FB073AA197507E376C56B824C753</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 380</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>93308B36D3A2E1A952B96FE4687B2DF9A58E0110D4BB63E0CE6A556275DFDD20</key>
+			<iv>4F1940C23B1BC2B8FB1317682B01A324</iv>
+			<input>4480FB073AA197507E376C56B824C753</input>
+			<output>C8BBB77D206EF37C7C40DB175D105271</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 381</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>9682C995955D18471758C504201E93AC6D35B66DF4D5909CB22A8E7528CF8F51</key>
+			<iv>05B242A346FFF9EE45E1AAE04865BE55</iv>
+			<input>C8BBB77D206EF37C7C40DB175D105271</input>
+			<output>50C0B9001C716D53470FC9B011191402</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 382</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>60854B33BE79B0E631B1AF9046C46D153DF50F6DE8A4FDCFF52547C539D69B53</key>
+			<iv>F60782A62B24A8A126E96A9466DAFEB9</iv>
+			<input>50C0B9001C716D53470FC9B011191402</input>
+			<output>8DB5367A34C5E5B93486AB07CA8BB02E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 383</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>7EE74E63D01F31D44B3860471B0BE50FB0403917DC611876C1A3ECC2F35D2B7D</key>
+			<iv>1E6205506E6681327A89CFD75DCF881A</iv>
+			<input>8DB5367A34C5E5B93486AB07CA8BB02E</input>
+			<output>4F9B922C88C1750829D9088F16EDB529</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 384</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>A65EE6CE576182F487D2C21C4F8539F3FFDBAB3B54A06D7EE87AE44DE5B09E54</key>
+			<iv>D8B9A8AD877EB320CCEAA25B548EDCFC</iv>
+			<input>4F9B922C88C1750829D9088F16EDB529</input>
+			<output>05A705F6B55D3ACF3E95E8264FEFFDCC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 385</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>64F9A7DF5DA898C968746F96692F1892FA7CAECDE1FD57B1D6EF0C6BAA5F6398</key>
+			<iv>C2A741110AC91A3DEFA6AD8A26AA2161</iv>
+			<input>05A705F6B55D3ACF3E95E8264FEFFDCC</input>
+			<output>D1FB7C1A698990AC81068D08BE1CE91F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 386</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>019663655974433AD5731BC4388A067D2B87D2D78874C71D57E9816314438A87</key>
+			<iv>656FC4BA04DCDBF3BD07745251A51EEF</iv>
+			<input>D1FB7C1A698990AC81068D08BE1CE91F</input>
+			<output>A1CD24AAFCEE3A60A025B983D10D8E54</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 387</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>16EF87A84F0627345CED6385A62374778A4AF67D749AFD7DF7CC38E0C54E04D3</key>
+			<iv>1779E4CD1672640E899E78419EA9720A</iv>
+			<input>A1CD24AAFCEE3A60A025B983D10D8E54</input>
+			<output>B9064D063D2C8D8D935B53CBEF3224E2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 388</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>80931C61E23BA976FFC9288F74AD876D334CBB7B49B670F064976B2B2A7C2031</key>
+			<iv>967C9BC9AD3D8E42A3244B0AD28EF31A</iv>
+			<input>B9064D063D2C8D8D935B53CBEF3224E2</input>
+			<output>8AD3B2222D84A4B25DC1311378027207</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 389</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>227ACE0315678DEE433049D8CDFEE2D8B99F09596432D44239565A38527E5236</key>
+			<iv>A2E9D262F75C2498BCF96157B95365B5</iv>
+			<input>8AD3B2222D84A4B25DC1311378027207</input>
+			<output>3A7FC9D43F1F997FAF4931101C5B5FD4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 390</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>11799A22D50C53A89EDF396B7C7565AD83E0C08D5B2D4D3D961F6B284E250DE2</key>
+			<iv>33035421C06BDE46DDEF70B3B18B8775</iv>
+			<input>3A7FC9D43F1F997FAF4931101C5B5FD4</input>
+			<output>930860056FE2FDDC10059D09385C0415</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 391</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>58DE85D9975D5F8A16C47C834568EF1D10E8A08834CFB0E1861AF621767909F7</key>
+			<iv>49A71FFB42510C22881B45E8391D8AB0</iv>
+			<input>930860056FE2FDDC10059D09385C0415</input>
+			<output>F41CCB823840FF7D16C6990A14E591D9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 392</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>3C8567CD05AF33761FE05FBDC2596EBFE4F46B0A0C8F4F9C90DC6F2B629C982E</key>
+			<iv>645BE21492F26CFC0924233E873181A2</iv>
+			<input>F41CCB823840FF7D16C6990A14E591D9</input>
+			<output>82899B698456363C175791B845D5736F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 393</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>F50F05CBDDFEBE7A656EE5C08CC24FF5667DF06388D979A0878BFE932749EB41</key>
+			<iv>C98A6206D8518D0C7A8EBA7D4E9B214A</iv>
+			<input>82899B698456363C175791B845D5736F</input>
+			<output>CF85BFDA1DFF5ADFFAF1B3E000B407F3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 394</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>B44AA91A374D1C5A7BD00557CBD24962A9F84FB99526237F7D7A4D7327FDECB2</key>
+			<iv>4145ACD1EAB3A2201EBEE09747100697</iv>
+			<input>CF85BFDA1DFF5ADFFAF1B3E000B407F3</input>
+			<output>34EEA75CC20C6EDEE9A5379C3B5CF01A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 395</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>4C401127C0AFABBEA4C93FD80BA009CC9D16E8E5572A4DA194DF7AEF1CA11CA8</key>
+			<iv>F80AB83DF7E2B7E4DF193A8FC07240AE</iv>
+			<input>34EEA75CC20C6EDEE9A5379C3B5CF01A</input>
+			<output>27C6392ABE790B448CC9216B3FCF5454</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 396</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>44D59CB8EBCC91362462D1D8FE193270BAD0D1CFE95346E518165B84236E48FC</key>
+			<iv>08958D9F2B633A8880ABEE00F5B93BBC</iv>
+			<input>27C6392ABE790B448CC9216B3FCF5454</input>
+			<output>2C39AC10C7D51B61D8F437D9BAA24A55</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 397</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>E42795DA2BF8FA7A3B0E83923A5E243196E97DDF2E865D84C0E26C5D99CC02A9</key>
+			<iv>A0F20962C0346B4C1F6C524AC4471641</iv>
+			<input>2C39AC10C7D51B61D8F437D9BAA24A55</input>
+			<output>F828BC735827C106E61F8FFFE9453A77</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 398</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>7F05DC0CD80178018D3A90E4A0CE63156EC1C1AC76A19C8226FDE3A2708938DE</key>
+			<iv>9B2249D6F3F9827BB63413769A904724</iv>
+			<input>F828BC735827C106E61F8FFFE9453A77</input>
+			<output>DF8129A79852FEE2A8015A2379A7215B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 399</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>935560C6072D897477D71AC4C12188D0B140E80BEEF362608EFCB981092E1985</key>
+			<iv>EC50BCCADF2CF175FAED8A2061EFEBC5</iv>
+			<input>DF8129A79852FEE2A8015A2379A7215B</input>
+			<output>CD6429CF3F81F8B4F82BC627A8283096</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tsymmetric/scripts/AESMonteCarloDecryptECB128.txt	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,6400 @@
+<action>
+	<actionname>AES ECB MonteCarlo DEC 0</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>44416AC2D1F53C583303917E6BE9EBE0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 1</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>44416AC2D1F53C583303917E6BE9EBE0</key>
+			<input>44416AC2D1F53C583303917E6BE9EBE0</input>
+			<output>E3FD51123B48A2E2AB1DB29894202222</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 2</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A7BC3BD0EABD9EBA981E23E6FFC9C9C2</key>
+			<input>E3FD51123B48A2E2AB1DB29894202222</input>
+			<output>877B88A77AEF04F05546539E17259F53</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 3</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>20C7B37790529A4ACD587078E8EC5691</key>
+			<input>877B88A77AEF04F05546539E17259F53</input>
+			<output>C7A71C1B46261602EB1EE48FDA8155A4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 4</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E760AF6CD6748C48264694F7326D0335</key>
+			<input>C7A71C1B46261602EB1EE48FDA8155A4</input>
+			<output>6B6AC8E00FAF7E045ECCFC426A137221</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 5</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>8C0A678CD9DBF24C788A68B5587E7114</key>
+			<input>6B6AC8E00FAF7E045ECCFC426A137221</input>
+			<output>3F252821FA79AFC3F1798B343AAD41EE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 6</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>B32F4FAD23A25D8F89F3E38162D330FA</key>
+			<input>3F252821FA79AFC3F1798B343AAD41EE</input>
+			<output>0B55C691E1F97205D137FF34478E5BC9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 7</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>B87A893CC25B2F8A58C41CB5255D6B33</key>
+			<input>0B55C691E1F97205D137FF34478E5BC9</input>
+			<output>F6CCC1CC18A3199D6427EDCA0BB2DF90</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 8</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>4EB648F0DAF836173CE3F17F2EEFB4A3</key>
+			<input>F6CCC1CC18A3199D6427EDCA0BB2DF90</input>
+			<output>0CDD7D9734B1515C73DDA60EFF28CD89</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 9</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>426B3567EE49674B4F3E5771D1C7792A</key>
+			<input>0CDD7D9734B1515C73DDA60EFF28CD89</input>
+			<output>3E813131EDD440D9054799CEA508FF6F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 10</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7CEA0456039D27924A79CEBF74CF8645</key>
+			<input>3E813131EDD440D9054799CEA508FF6F</input>
+			<output>8C6859BD0B6E078FAA6B686297653232</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 11</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>F0825DEB08F3201DE012A6DDE3AAB477</key>
+			<input>8C6859BD0B6E078FAA6B686297653232</input>
+			<output>C966A4106C1DCE062D1346EB5E5133BB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 12</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>39E4F9FB64EEEE1BCD01E036BDFB87CC</key>
+			<input>C966A4106C1DCE062D1346EB5E5133BB</input>
+			<output>4F4AE38B53FD7800F0E9F5C214E16F2A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 13</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>76AE1A703713961B3DE815F4A91AE8E6</key>
+			<input>4F4AE38B53FD7800F0E9F5C214E16F2A</input>
+			<output>C73A033491DC0B6A77FEA2FBCC9D305E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 14</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>B1941944A6CF9D714A16B70F6587D8B8</key>
+			<input>C73A033491DC0B6A77FEA2FBCC9D305E</input>
+			<output>C928C2A05BB44816EFBE6B13E94BC70E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 15</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>78BCDBE4FD7BD567A5A8DC1C8CCC1FB6</key>
+			<input>C928C2A05BB44816EFBE6B13E94BC70E</input>
+			<output>A7C1593E7B4BAEE5256D4081337E7CAF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 16</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>DF7D82DA86307B8280C59C9DBFB26319</key>
+			<input>A7C1593E7B4BAEE5256D4081337E7CAF</input>
+			<output>7ECD305AC27AEBFA2B8F85F9AC312638</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 17</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A1B0B280444A9078AB4A196413834521</key>
+			<input>7ECD305AC27AEBFA2B8F85F9AC312638</input>
+			<output>A24D1403A58B94798F5F3565ABFD3B44</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 18</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>03FDA683E1C1040124152C01B87E7E65</key>
+			<input>A24D1403A58B94798F5F3565ABFD3B44</input>
+			<output>5B6E097B3B0E21DCC9CE9970701C7BD5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 19</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>5893AFF8DACF25DDEDDBB571C86205B0</key>
+			<input>5B6E097B3B0E21DCC9CE9970701C7BD5</input>
+			<output>4E21CEA52B3111AC8F6B204A1F5E65E2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 20</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>16B2615DF1FE347162B0953BD73C6052</key>
+			<input>4E21CEA52B3111AC8F6B204A1F5E65E2</input>
+			<output>806DDC5C37ADEEBB6FCE4730939D7A99</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 21</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>96DFBD01C653DACA0D7ED20B44A11ACB</key>
+			<input>806DDC5C37ADEEBB6FCE4730939D7A99</input>
+			<output>3462F7C6D3E071A0D3ACE7FD79149776</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 22</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A2BD4AC715B3AB6ADED235F63DB58DBD</key>
+			<input>3462F7C6D3E071A0D3ACE7FD79149776</input>
+			<output>AF0FFF307B72284E794C8A64C30299D2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 23</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>0DB2B5F76EC18324A79EBF92FEB7146F</key>
+			<input>AF0FFF307B72284E794C8A64C30299D2</input>
+			<output>E482B613FBCF9C4422D85E3160B1FB0F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 24</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E93003E4950E1F608546E1A39E06EF60</key>
+			<input>E482B613FBCF9C4422D85E3160B1FB0F</input>
+			<output>FADC8EF9C95540AD69897DECAB2D50D5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 25</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>13EC8D1D5C5B5FCDECCF9C4F352BBFB5</key>
+			<input>FADC8EF9C95540AD69897DECAB2D50D5</input>
+			<output>2A765E237FB5230D792D455596A17118</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 26</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>399AD33E23EE7CC095E2D91AA38ACEAD</key>
+			<input>2A765E237FB5230D792D455596A17118</input>
+			<output>0887DA8012C7F95BD6ADB18D1ED3C2DB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 27</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>311D09BE3129859B434F6897BD590C76</key>
+			<input>0887DA8012C7F95BD6ADB18D1ED3C2DB</input>
+			<output>3BB831A7B6FAC3649176471012FAD1C1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 28</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>0AA5381987D346FFD2392F87AFA3DDB7</key>
+			<input>3BB831A7B6FAC3649176471012FAD1C1</input>
+			<output>E4F8629AB3489A0945B8B7188B953DE5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 29</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>EE5D5A83349BDCF69781989F2436E052</key>
+			<input>E4F8629AB3489A0945B8B7188B953DE5</input>
+			<output>1D4B0B5B321EB711939AB481239E2541</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 30</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>F31651D806856BE7041B2C1E07A8C513</key>
+			<input>1D4B0B5B321EB711939AB481239E2541</input>
+			<output>71A368D5A33665D6FF9F33FECAFC6884</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 31</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>82B5390DA5B30E31FB841FE0CD54AD97</key>
+			<input>71A368D5A33665D6FF9F33FECAFC6884</input>
+			<output>8ACF418080075BA23B05A52552773B84</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 32</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>087A788D25B45593C081BAC59F239613</key>
+			<input>8ACF418080075BA23B05A52552773B84</input>
+			<output>E0E6058735F4FE765E882521D769FB41</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 33</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E89C7D0A1040ABE59E099FE4484A6D52</key>
+			<input>E0E6058735F4FE765E882521D769FB41</input>
+			<output>70DCE91F818DF2CDC4269F1B4EA0A465</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 34</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>9840941591CD59285A2F00FF06EAC937</key>
+			<input>70DCE91F818DF2CDC4269F1B4EA0A465</input>
+			<output>E2F809D6DD77D72EF6DB5A82C42BF1CF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 35</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7AB89DC34CBA8E06ACF45A7DC2C138F8</key>
+			<input>E2F809D6DD77D72EF6DB5A82C42BF1CF</input>
+			<output>0741D11DDD877957E753ECF8DB91C72B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 36</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7DF94CDE913DF7514BA7B6851950FFD3</key>
+			<input>0741D11DDD877957E753ECF8DB91C72B</input>
+			<output>03E411012CA3B5B3CC163677D4B52456</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 37</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7E1D5DDFBD9E42E287B180F2CDE5DB85</key>
+			<input>03E411012CA3B5B3CC163677D4B52456</input>
+			<output>0270D90790EF8347ACFB87EB2FEC2710</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 38</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7C6D84D82D71C1A52B4A0719E209FC95</key>
+			<input>0270D90790EF8347ACFB87EB2FEC2710</input>
+			<output>3AE40270512374AF4022638E0A7A6D8E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 39</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>468986A87C52B50A6B686497E873911B</key>
+			<input>3AE40270512374AF4022638E0A7A6D8E</input>
+			<output>8008D87E928A980FECA08CAF1EC91DDA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 40</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C6815ED6EED82D0587C8E838F6BA8CC1</key>
+			<input>8008D87E928A980FECA08CAF1EC91DDA</input>
+			<output>1D479A54832FF1A81D30008EFDF16A34</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 41</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>DBC6C4826DF7DCAD9AF8E8B60B4BE6F5</key>
+			<input>1D479A54832FF1A81D30008EFDF16A34</input>
+			<output>9E731FECD9A767BDA0C84B4C4D552BD3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 42</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>45B5DB6EB450BB103A30A3FA461ECD26</key>
+			<input>9E731FECD9A767BDA0C84B4C4D552BD3</input>
+			<output>C2211A6B16CD27C6C73A5C3C1A0132AC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 43</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>8794C105A29D9CD6FD0AFFC65C1FFF8A</key>
+			<input>C2211A6B16CD27C6C73A5C3C1A0132AC</input>
+			<output>7E523DD6F25706F971F020F88FFA0CF7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 44</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>F9C6FCD350CA9A2F8CFADF3ED3E5F37D</key>
+			<input>7E523DD6F25706F971F020F88FFA0CF7</input>
+			<output>0EDC01C6C1A8DA6A7C9EEE3587CB098E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 45</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>F71AFD1591624045F064310B542EFAF3</key>
+			<input>0EDC01C6C1A8DA6A7C9EEE3587CB098E</input>
+			<output>EE479106871DA872632794633B1ACF0E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 46</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>195D6C13167FE8379343A5686F3435FD</key>
+			<input>EE479106871DA872632794633B1ACF0E</input>
+			<output>7EC1A4578D911F336184DACCCA92D943</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 47</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>679CC8449BEEF704F2C77FA4A5A6ECBE</key>
+			<input>7EC1A4578D911F336184DACCCA92D943</input>
+			<output>53715F25AE02513F181E3DECBB007803</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 48</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>34ED976135ECA63BEAD942481EA694BD</key>
+			<input>53715F25AE02513F181E3DECBB007803</input>
+			<output>304D5764B5206F8204A69D1BED11FA62</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 49</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>04A0C00580CCC9B9EE7FDF53F3B76EDF</key>
+			<input>304D5764B5206F8204A69D1BED11FA62</input>
+			<output>5A7590ADEF208BFD808499A2BFE9B011</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 50</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>5ED550A86FEC42446EFB46F14C5EDECE</key>
+			<input>5A7590ADEF208BFD808499A2BFE9B011</input>
+			<output>2502C0F68A721A93ECE8D7B6C2097BA4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 51</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7BD7905EE59E58D7821391478E57A56A</key>
+			<input>2502C0F68A721A93ECE8D7B6C2097BA4</input>
+			<output>1C814E26A6464086D606C7B4C6DFD85B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 52</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>6756DE7843D81851541556F348887D31</key>
+			<input>1C814E26A6464086D606C7B4C6DFD85B</input>
+			<output>9D55D6EA99BA391190068205DD9AE69C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 53</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>FA030892DA622140C413D4F695129BAD</key>
+			<input>9D55D6EA99BA391190068205DD9AE69C</input>
+			<output>9D1212D0BD8C26422EEFF4DDB16B2EF3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 54</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>67111A4267EE0702EAFC202B2479B55E</key>
+			<input>9D1212D0BD8C26422EEFF4DDB16B2EF3</input>
+			<output>54DF71E70141E1712449CDC1AC7D07F6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 55</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>33CE6BA566AFE673CEB5EDEA8804B2A8</key>
+			<input>54DF71E70141E1712449CDC1AC7D07F6</input>
+			<output>AF3DE6F3510978928C129CFC19FB29B4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 56</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>9CF38D5637A69EE142A7711691FF9B1C</key>
+			<input>AF3DE6F3510978928C129CFC19FB29B4</input>
+			<output>830DB7014774C7DF870C8456BC0162AB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 57</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>1FFE3A5770D2593EC5ABF5402DFEF9B7</key>
+			<input>830DB7014774C7DF870C8456BC0162AB</input>
+			<output>6606C0A36A18BEFF33485F95B82C30E7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 58</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>79F8FAF41ACAE7C1F6E3AAD595D2C950</key>
+			<input>6606C0A36A18BEFF33485F95B82C30E7</input>
+			<output>4B1E64672B89056DF693E73B419E786E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 59</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>32E69E933143E2AC00704DEED44CB13E</key>
+			<input>4B1E64672B89056DF693E73B419E786E</input>
+			<output>1877DEEAFF10A5A3F5E9A811BF7595BA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 60</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>2A914079CE53470FF599E5FF6B392484</key>
+			<input>1877DEEAFF10A5A3F5E9A811BF7595BA</input>
+			<output>A11A48215BF59CC53BC8A009DCA3973D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 61</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>8B8B085895A6DBCACE5145F6B79AB3B9</key>
+			<input>A11A48215BF59CC53BC8A009DCA3973D</input>
+			<output>E80535676DE8898A3624B8127EC21024</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 62</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>638E3D3FF84E5240F875FDE4C958A39D</key>
+			<input>E80535676DE8898A3624B8127EC21024</input>
+			<output>E2977A804EC9A8B03C85234AD3A95B52</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 63</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>811947BFB687FAF0C4F0DEAE1AF1F8CF</key>
+			<input>E2977A804EC9A8B03C85234AD3A95B52</input>
+			<output>D776D8BF13F736483862328571C06C61</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 64</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>566F9F00A570CCB8FC92EC2B6B3194AE</key>
+			<input>D776D8BF13F736483862328571C06C61</input>
+			<output>3AF7969F3247A0914037209556997164</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 65</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>6C98099F97376C29BCA5CCBE3DA8E5CA</key>
+			<input>3AF7969F3247A0914037209556997164</input>
+			<output>4F87DDC715CEE3A9D67645AD920DF74A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 66</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>231FD45882F98F806AD38913AFA51280</key>
+			<input>4F87DDC715CEE3A9D67645AD920DF74A</input>
+			<output>9E88CA52E6B0C160E52B23F36882DBA1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 67</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>BD971E0A64494EE08FF8AAE0C727C921</key>
+			<input>9E88CA52E6B0C160E52B23F36882DBA1</input>
+			<output>CAD26E5881D9D4E52C7595C773E0FDAB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 68</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>77457052E5909A05A38D3F27B4C7348A</key>
+			<input>CAD26E5881D9D4E52C7595C773E0FDAB</input>
+			<output>C2D0B3D713CFCA5ABB7B9DED14429F37</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 69</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>B595C385F65F505F18F6A2CAA085ABBD</key>
+			<input>C2D0B3D713CFCA5ABB7B9DED14429F37</input>
+			<output>DD7AADA7524A4878F7C598C4CBCD9CAB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 70</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>68EF6E22A4151827EF333A0E6B483716</key>
+			<input>DD7AADA7524A4878F7C598C4CBCD9CAB</input>
+			<output>A0F33B1FCC3F4A4B0982F0823C4ED3C9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 71</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C81C553D682A526CE6B1CA8C5706E4DF</key>
+			<input>A0F33B1FCC3F4A4B0982F0823C4ED3C9</input>
+			<output>B22BB23CD68E8779A8C0FC9A350CB756</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 72</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7A37E701BEA4D5154E713616620A5389</key>
+			<input>B22BB23CD68E8779A8C0FC9A350CB756</input>
+			<output>EA4D96AC54BD8387AD36AC8C855A9D44</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 73</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>907A71ADEA195692E3479A9AE750CECD</key>
+			<input>EA4D96AC54BD8387AD36AC8C855A9D44</input>
+			<output>A3B90CFDE355723BC94999784534FA74</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 74</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>33C37D50094C24A92A0E03E2A26434B9</key>
+			<input>A3B90CFDE355723BC94999784534FA74</input>
+			<output>55636C86A64383768CB948FF57B29322</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 75</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>66A011D6AF0FA7DFA6B74B1DF5D6A79B</key>
+			<input>55636C86A64383768CB948FF57B29322</input>
+			<output>B29CCDFD8E7BE50892F0D77DD969F97E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 76</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>D43CDC2B217442D734479C602CBF5EE5</key>
+			<input>B29CCDFD8E7BE50892F0D77DD969F97E</input>
+			<output>9CF0432822EABDF489B57EDD9CEF7FEA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 77</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>48CC9F03039EFF23BDF2E2BDB050210F</key>
+			<input>9CF0432822EABDF489B57EDD9CEF7FEA</input>
+			<output>AA753B7D38E807D691005899385DC6DA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 78</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E2B9A47E3B76F8F52CF2BA24880DE7D5</key>
+			<input>AA753B7D38E807D691005899385DC6DA</input>
+			<output>E4F0681527FA7AD3D1E7C78C03FB79FA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 79</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>0649CC6B1C8C8226FD157DA88BF69E2F</key>
+			<input>E4F0681527FA7AD3D1E7C78C03FB79FA</input>
+			<output>7923AF8E50F378B9C97D2F162348025B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 80</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7F6A63E54C7FFA9F346852BEA8BE9C74</key>
+			<input>7923AF8E50F378B9C97D2F162348025B</input>
+			<output>3BEFAB920CA31A6B8B87E11DF97B42DE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 81</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>4485C87740DCE0F4BFEFB3A351C5DEAA</key>
+			<input>3BEFAB920CA31A6B8B87E11DF97B42DE</input>
+			<output>4661D6B8004611976A21C69804D102C0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 82</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>02E41ECF409AF163D5CE753B5514DC6A</key>
+			<input>4661D6B8004611976A21C69804D102C0</input>
+			<output>B861DF2279F2AEE4FCFD7D322AD0BE2B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 83</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>BA85C1ED39685F87293308097FC46241</key>
+			<input>B861DF2279F2AEE4FCFD7D322AD0BE2B</input>
+			<output>1785745618A541F9454443FFB494F2E9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 84</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>AD00B5BB21CD1E7E6C774BF6CB5090A8</key>
+			<input>1785745618A541F9454443FFB494F2E9</input>
+			<output>AA7507A80B4CCF33E8B4F09E2D7004F6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 85</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>0775B2132A81D14D84C3BB68E620945E</key>
+			<input>AA7507A80B4CCF33E8B4F09E2D7004F6</input>
+			<output>433412B8F10F81A557AC461823097FC7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 86</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>4441A0ABDB8E50E8D36FFD70C529EB99</key>
+			<input>433412B8F10F81A557AC461823097FC7</input>
+			<output>EC3206BDB3765876B74952C411D40373</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 87</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A873A61668F8089E6426AFB4D4FDE8EA</key>
+			<input>EC3206BDB3765876B74952C411D40373</input>
+			<output>F7F994027D328FA3D70C9DEABD3BE733</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 88</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>5F8A321415CA873DB32A325E69C60FD9</key>
+			<input>F7F994027D328FA3D70C9DEABD3BE733</input>
+			<output>E2A8419BF86A2408ED8D0274A5CE0E10</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 89</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>BD22738FEDA0A3355EA7302ACC0801C9</key>
+			<input>E2A8419BF86A2408ED8D0274A5CE0E10</input>
+			<output>80FB8CD5243C89D77F503B2F16979F90</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 90</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>3DD9FF5AC99C2AE221F70B05DA9F9E59</key>
+			<input>80FB8CD5243C89D77F503B2F16979F90</input>
+			<output>F7773137F233AE2609C2C9AC36F58224</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 91</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>CAAECE6D3BAF84C42835C2A9EC6A1C7D</key>
+			<input>F7773137F233AE2609C2C9AC36F58224</input>
+			<output>F3D0A1DADA4A009E8E4C0EF717469BCD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 92</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>397E6FB7E1E5845AA679CC5EFB2C87B0</key>
+			<input>F3D0A1DADA4A009E8E4C0EF717469BCD</input>
+			<output>0AC0FF22EB653A26A3F1F0CFE3808609</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 93</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>33BE90950A80BE7C05883C9118AC01B9</key>
+			<input>0AC0FF22EB653A26A3F1F0CFE3808609</input>
+			<output>28FF865CE11720BB1B56EF49D7D1840D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 94</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>1B4116C9EB979EC71EDED3D8CF7D85B4</key>
+			<input>28FF865CE11720BB1B56EF49D7D1840D</input>
+			<output>001FAF58E22F5E8ED6BCC7FD581D7C2F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 95</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>1B5EB99109B8C049C86214259760F99B</key>
+			<input>001FAF58E22F5E8ED6BCC7FD581D7C2F</input>
+			<output>32B41303A58AB49CB4CB2322B77383B3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 96</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>29EAAA92AC3274D57CA9370720137A28</key>
+			<input>32B41303A58AB49CB4CB2322B77383B3</input>
+			<output>9C52020FCDE0306C8E19CDF68FEFDF50</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 97</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>B5B8A89D61D244B9F2B0FAF1AFFCA578</key>
+			<input>9C52020FCDE0306C8E19CDF68FEFDF50</input>
+			<output>2E3452997687D12E3A8C59B9178B09E2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 98</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>9B8CFA0417559597C83CA348B877AC9A</key>
+			<input>2E3452997687D12E3A8C59B9178B09E2</input>
+			<output>872CF16DBB7CD6EA8EBB91A60BDE0C6F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 99</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>1CA00B69AC29437D468732EEB3A9A0F5</key>
+			<input>872CF16DBB7CD6EA8EBB91A60BDE0C6F</input>
+			<output>7862C78E3B209535E6C6BE92F5EDF42B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 100</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>64C2CCE79709D648A0418C7C464454DE</key>
+			<input>7862C78E3B209535E6C6BE92F5EDF42B</input>
+			<output>9185D8487C1D2DB679A52FDA2FE5FFCD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 101</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>F54714AFEB14FBFED9E4A3A669A1AB13</key>
+			<input>9185D8487C1D2DB679A52FDA2FE5FFCD</input>
+			<output>77C3AF8C81CDB1CDEF5C0429CF3E5DA4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 102</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>8284BB236AD94A3336B8A78FA69FF6B7</key>
+			<input>77C3AF8C81CDB1CDEF5C0429CF3E5DA4</input>
+			<output>6F36C74290EA6332E98CD23D08AEF7F9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 103</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>EDB27C61FA332901DF3475B2AE31014E</key>
+			<input>6F36C74290EA6332E98CD23D08AEF7F9</input>
+			<output>4A7831538FA1D32E3F8631BEFD99AA73</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 104</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A7CA4D327592FA2FE0B2440C53A8AB3D</key>
+			<input>4A7831538FA1D32E3F8631BEFD99AA73</input>
+			<output>5D2B599D9AF9054A99C25577C9286C9E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 105</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>FAE114AFEF6BFF657970117B9A80C7A3</key>
+			<input>5D2B599D9AF9054A99C25577C9286C9E</input>
+			<output>65E4088200BCC01FCEE39C6E42082FD8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 106</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>9F051C2DEFD73F7AB7938D15D888E87B</key>
+			<input>65E4088200BCC01FCEE39C6E42082FD8</input>
+			<output>4588E0D3AABBEFE611B9576391B903E9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 107</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>DA8DFCFE456CD09CA62ADA764931EB92</key>
+			<input>4588E0D3AABBEFE611B9576391B903E9</input>
+			<output>A55622F833FF271DD8A8F01CF5828FCF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 108</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7FDBDE067693F7817E822A6ABCB3645D</key>
+			<input>A55622F833FF271DD8A8F01CF5828FCF</input>
+			<output>8C954010C870B2DB7FA44E1DEBFE6DE8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 109</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>F34E9E16BEE3455A01266477574D09B5</key>
+			<input>8C954010C870B2DB7FA44E1DEBFE6DE8</input>
+			<output>58B7BD00ED18FC81E618807DE65305B8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 110</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>ABF9231653FBB9DBE73EE40AB11E0C0D</key>
+			<input>58B7BD00ED18FC81E618807DE65305B8</input>
+			<output>EF82E5F4879039F2A1A4CC2F2044BD14</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 111</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>447BC6E2D46B8029469A2825915AB119</key>
+			<input>EF82E5F4879039F2A1A4CC2F2044BD14</input>
+			<output>2B6C12307F14FD50B41D8F972B19AC76</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 112</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>6F17D4D2AB7F7D79F287A7B2BA431D6F</key>
+			<input>2B6C12307F14FD50B41D8F972B19AC76</input>
+			<output>C9B6D042CE76892D17F70D4EE00A0D79</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 113</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A6A104906509F454E570AAFC5A491016</key>
+			<input>C9B6D042CE76892D17F70D4EE00A0D79</input>
+			<output>1B08F9293BBFC44DDCF2C1D26A9DD00B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 114</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>BDA9FDB95EB6301939826B2E30D4C01D</key>
+			<input>1B08F9293BBFC44DDCF2C1D26A9DD00B</input>
+			<output>4FD353B247048FAAA728E10C691C70CA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 115</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>F27AAE0B19B2BFB39EAA8A2259C8B0D7</key>
+			<input>4FD353B247048FAAA728E10C691C70CA</input>
+			<output>0BBB6FDBC62C428B85111BC7C93AE994</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 116</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>F9C1C1D0DF9EFD381BBB91E590F25943</key>
+			<input>0BBB6FDBC62C428B85111BC7C93AE994</input>
+			<output>9C1A213A5772DE6C15CE7406F84BED03</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 117</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>65DBE0EA88EC23540E75E5E368B9B440</key>
+			<input>9C1A213A5772DE6C15CE7406F84BED03</input>
+			<output>AB3DE06BBDB213D64F735CA990DC373C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 118</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>CEE60081355E30824106B94AF865837C</key>
+			<input>AB3DE06BBDB213D64F735CA990DC373C</input>
+			<output>6C004A1A114E90C7903AA4A0120A2B10</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 119</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A2E64A9B2410A045D13C1DEAEA6FA86C</key>
+			<input>6C004A1A114E90C7903AA4A0120A2B10</input>
+			<output>6405A033C294E72119A8955712548121</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 120</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C6E3EAA8E6844764C89488BDF83B294D</key>
+			<input>6405A033C294E72119A8955712548121</input>
+			<output>AE8A3BAC7279B1BC152A5AD8EBAC3EAD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 121</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>6869D10494FDF6D8DDBED265139717E0</key>
+			<input>AE8A3BAC7279B1BC152A5AD8EBAC3EAD</input>
+			<output>4ADDA9999D2BE20D8925F39699563294</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 122</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>22B4789D09D614D5549B21F38AC12574</key>
+			<input>4ADDA9999D2BE20D8925F39699563294</input>
+			<output>BC5CA33CB2A1A580EB92946C77A63467</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 123</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>9EE8DBA1BB77B155BF09B59FFD671113</key>
+			<input>BC5CA33CB2A1A580EB92946C77A63467</input>
+			<output>F7ABEAD301264A3E59EABA0B9606DC92</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 124</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>69433172BA51FB6BE6E30F946B61CD81</key>
+			<input>F7ABEAD301264A3E59EABA0B9606DC92</input>
+			<output>2566114A10BE9BF19E0910486DAB6BE5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 125</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>4C252038AAEF609A78EA1FDC06CAA664</key>
+			<input>2566114A10BE9BF19E0910486DAB6BE5</input>
+			<output>AF72E1B179660A1B833D9D4FC8473B6B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 126</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E357C189D3896A81FBD78293CE8D9D0F</key>
+			<input>AF72E1B179660A1B833D9D4FC8473B6B</input>
+			<output>DFF968B761D8E154B74C9D568C12008E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 127</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>3CAEA93EB2518BD54C9B1FC5429F9D81</key>
+			<input>DFF968B761D8E154B74C9D568C12008E</input>
+			<output>42DF098BCB57D0D25269E29C9BC99DE6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 128</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7E71A0B579065B071EF2FD59D9560067</key>
+			<input>42DF098BCB57D0D25269E29C9BC99DE6</input>
+			<output>66C34CAAEFC2009B985D1E622FC61AB4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 129</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>18B2EC1F96C45B9C86AFE33BF6901AD3</key>
+			<input>66C34CAAEFC2009B985D1E622FC61AB4</input>
+			<output>150C1BF943982C5EA1A6839D94F23288</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 130</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>0DBEF7E6D55C77C2270960A66262285B</key>
+			<input>150C1BF943982C5EA1A6839D94F23288</input>
+			<output>048BFBB28879206964C5F3B41264011A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 131</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>09350C545D2557AB43CC931270062941</key>
+			<input>048BFBB28879206964C5F3B41264011A</input>
+			<output>54D2DC53B87EC949F0FA0E134EE26D50</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 132</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>5DE7D007E55B9EE2B3369D013EE44411</key>
+			<input>54D2DC53B87EC949F0FA0E134EE26D50</input>
+			<output>1BA46AFE1AE87C4F0254BF02DF3B6D37</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 133</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>4643BAF9FFB3E2ADB1622203E1DF2926</key>
+			<input>1BA46AFE1AE87C4F0254BF02DF3B6D37</input>
+			<output>7733E74E743C9E997AC2ED36B2E89CE8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 134</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>31705DB78B8F7C34CBA0CF355337B5CE</key>
+			<input>7733E74E743C9E997AC2ED36B2E89CE8</input>
+			<output>670AEA160FAC67ABCECA140EB8195EB5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 135</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>567AB7A184231B9F056ADB3BEB2EEB7B</key>
+			<input>670AEA160FAC67ABCECA140EB8195EB5</input>
+			<output>7CFD74D510AC894FF5B698280386F4FF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 136</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>2A87C374948F92D0F0DC4313E8A81F84</key>
+			<input>7CFD74D510AC894FF5B698280386F4FF</input>
+			<output>10D03F32C0694E9FFF598E101998105E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 137</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>3A57FC4654E6DC4F0F85CD03F1300FDA</key>
+			<input>10D03F32C0694E9FFF598E101998105E</input>
+			<output>351D6E8D1C26F36973356F6235B8ABAD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 138</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>0F4A92CB48C02F267CB0A261C488A477</key>
+			<input>351D6E8D1C26F36973356F6235B8ABAD</input>
+			<output>0DDDA7AA09FBD986C0B9EA2B018FAE4F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 139</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>02973561413BF6A0BC09484AC5070A38</key>
+			<input>0DDDA7AA09FBD986C0B9EA2B018FAE4F</input>
+			<output>31C5B68B7A08D1B7320FAB052CC3B0D1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 140</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>335283EA3B3327178E06E34FE9C4BAE9</key>
+			<input>31C5B68B7A08D1B7320FAB052CC3B0D1</input>
+			<output>501B8D9EE91468522029020A39484DB5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 141</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>63490E74D2274F45AE2FE145D08CF75C</key>
+			<input>501B8D9EE91468522029020A39484DB5</input>
+			<output>2714FBA566DFD4909B8ABF29B1D5A8E8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 142</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>445DF5D1B4F89BD535A55E6C61595FB4</key>
+			<input>2714FBA566DFD4909B8ABF29B1D5A8E8</input>
+			<output>94485381E5088D67BC1335C89FA5C2B8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 143</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>D015A65051F016B289B66BA4FEFC9D0C</key>
+			<input>94485381E5088D67BC1335C89FA5C2B8</input>
+			<output>BE5BEE26D6686A0EB5838C237FEF79B7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 144</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>6E4E487687987CBC3C35E7878113E4BB</key>
+			<input>BE5BEE26D6686A0EB5838C237FEF79B7</input>
+			<output>417F73D46CFBE3C5C9AD513BCBC6D185</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 145</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>2F313BA2EB639F79F598B6BC4AD5353E</key>
+			<input>417F73D46CFBE3C5C9AD513BCBC6D185</input>
+			<output>AE3B07350B3BE7D4F9F6FE2F95622449</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 146</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>810A3C97E05878AD0C6E4893DFB71177</key>
+			<input>AE3B07350B3BE7D4F9F6FE2F95622449</input>
+			<output>7BD4231225A7B665953AB034E24A7C7A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 147</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>FADE1F85C5FFCEC89954F8A73DFD6D0D</key>
+			<input>7BD4231225A7B665953AB034E24A7C7A</input>
+			<output>3C1FBE8F3CEB1438B4A64E59FAF291CF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 148</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C6C1A10AF914DAF02DF2B6FEC70FFCC2</key>
+			<input>3C1FBE8F3CEB1438B4A64E59FAF291CF</input>
+			<output>ACFF7F1E71AA952CF8ADB24FEE18A7BB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 149</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>6A3EDE1488BE4FDCD55F04B129175B79</key>
+			<input>ACFF7F1E71AA952CF8ADB24FEE18A7BB</input>
+			<output>3C3A6D3FD73B36317417106A92E2B43E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 150</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>5604B32B5F8579EDA14814DBBBF5EF47</key>
+			<input>3C3A6D3FD73B36317417106A92E2B43E</input>
+			<output>F34F8C719A4A74DD8F4FA4CBC520827A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 151</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A54B3F5AC5CF0D302E07B0107ED56D3D</key>
+			<input>F34F8C719A4A74DD8F4FA4CBC520827A</input>
+			<output>6A5D56FB6C7EBA15112AF8A093F3E1E1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 152</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>CF1669A1A9B1B7253F2D48B0ED268CDC</key>
+			<input>6A5D56FB6C7EBA15112AF8A093F3E1E1</input>
+			<output>8BF39EE3B8ED0F6A6EA92319A81B10E6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 153</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>44E5F742115CB84F51846BA9453D9C3A</key>
+			<input>8BF39EE3B8ED0F6A6EA92319A81B10E6</input>
+			<output>2BC796D320C444BBBAD466D686F460F6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 154</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>6F2261913198FCF4EB500D7FC3C9FCCC</key>
+			<input>2BC796D320C444BBBAD466D686F460F6</input>
+			<output>2CF595F424ED50B1A146E387B128CBA3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 155</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>43D7F4651575AC454A16EEF872E1376F</key>
+			<input>2CF595F424ED50B1A146E387B128CBA3</input>
+			<output>56F2E856045BAE66EA003A6C39205344</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 156</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>15251C33112E0223A016D4944BC1642B</key>
+			<input>56F2E856045BAE66EA003A6C39205344</input>
+			<output>31C83401BD83424BA6E94C0D6D453D9A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 157</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>24ED2832ACAD406806FF9899268459B1</key>
+			<input>31C83401BD83424BA6E94C0D6D453D9A</input>
+			<output>A687F05992CCB57CDE61AFF8878913ED</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 158</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>826AD86B3E61F514D89E3761A10D4A5C</key>
+			<input>A687F05992CCB57CDE61AFF8878913ED</input>
+			<output>16E771193C2473502F415C27FB101D94</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 159</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>948DA97202458644F7DF6B465A1D57C8</key>
+			<input>16E771193C2473502F415C27FB101D94</input>
+			<output>C69CDBA29C9EDC3407C1C73A756A0B6E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 160</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>521172D09EDB5A70F01EAC7C2F775CA6</key>
+			<input>C69CDBA29C9EDC3407C1C73A756A0B6E</input>
+			<output>566D82281F48E3217F3852115CF2E944</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 161</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>047CF0F88193B9518F26FE6D7385B5E2</key>
+			<input>566D82281F48E3217F3852115CF2E944</input>
+			<output>B3FEBC8F8F0F0B652C4358BCC9BF54DF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 162</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>B7824C770E9CB234A365A6D1BA3AE13D</key>
+			<input>B3FEBC8F8F0F0B652C4358BCC9BF54DF</input>
+			<output>BBB84877094B3EB86203D17C92CF5168</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 163</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>0C3A040007D78C8CC16677AD28F5B055</key>
+			<input>BBB84877094B3EB86203D17C92CF5168</input>
+			<output>2C45E5A3F8C564862DA4D8AD428D3E67</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 164</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>207FE1A3FF12E80AECC2AF006A788E32</key>
+			<input>2C45E5A3F8C564862DA4D8AD428D3E67</input>
+			<output>10ADC2AF56600D95AD8BB579EF5170C9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 165</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>30D2230CA972E59F41491A798529FEFB</key>
+			<input>10ADC2AF56600D95AD8BB579EF5170C9</input>
+			<output>1854BB8AC568F3599153BE1AC60BA78D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 166</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>288698866C1A16C6D01AA46343225976</key>
+			<input>1854BB8AC568F3599153BE1AC60BA78D</input>
+			<output>E641765C80D8812A1A0F4606C639642E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 167</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>CEC7EEDAECC297ECCA15E265851B3D58</key>
+			<input>E641765C80D8812A1A0F4606C639642E</input>
+			<output>317AC70CEAA87AE66A15C22BD5E534E5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 168</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>FFBD29D6066AED0AA000204E50FE09BD</key>
+			<input>317AC70CEAA87AE66A15C22BD5E534E5</input>
+			<output>BFFB8D7B3D9F54727944ABC3F6474362</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 169</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>4046A4AD3BF5B978D9448B8DA6B94ADF</key>
+			<input>BFFB8D7B3D9F54727944ABC3F6474362</input>
+			<output>060765D1D9D289B862DA274CFDB4D7A0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 170</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>4641C17CE22730C0BB9EACC15B0D9D7F</key>
+			<input>060765D1D9D289B862DA274CFDB4D7A0</input>
+			<output>FBAFA4C1D6CEF2A45E9E084311FDF858</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 171</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>BDEE65BD34E9C264E500A4824AF06527</key>
+			<input>FBAFA4C1D6CEF2A45E9E084311FDF858</input>
+			<output>F7F36BFDA77362B470B0B074241C58E9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 172</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>4A1D0E40939AA0D095B014F66EEC3DCE</key>
+			<input>F7F36BFDA77362B470B0B074241C58E9</input>
+			<output>2FC236EDCD573A6DCFBA7930E9CF4698</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 173</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>65DF38AD5ECD9ABD5A0A6DC687237B56</key>
+			<input>2FC236EDCD573A6DCFBA7930E9CF4698</input>
+			<output>949A9994DC976595BFACA5F31116A165</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 174</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>F145A139825AFF28E5A6C8359635DA33</key>
+			<input>949A9994DC976595BFACA5F31116A165</input>
+			<output>19373CA9D519BF83EAA4C17E1EE8225C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 175</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E8729D90574340AB0F02094B88DDF86F</key>
+			<input>19373CA9D519BF83EAA4C17E1EE8225C</input>
+			<output>685C783918997A7572B0A09315F1F2DB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 176</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>802EE5A94FDA3ADE7DB2A9D89D2C0AB4</key>
+			<input>685C783918997A7572B0A09315F1F2DB</input>
+			<output>FC0CB1792EADB7E8DECB021A435DE1E7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 177</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7C2254D061778D36A379ABC2DE71EB53</key>
+			<input>FC0CB1792EADB7E8DECB021A435DE1E7</input>
+			<output>797C5E5B4F3B38E7C72FF7AAAB270E86</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 178</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>055E0A8B2E4CB5D164565C687556E5D5</key>
+			<input>797C5E5B4F3B38E7C72FF7AAAB270E86</input>
+			<output>A5AB675262EA186F777681647B6AA1F9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 179</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A0F56DD94CA6ADBE1320DD0C0E3C442C</key>
+			<input>A5AB675262EA186F777681647B6AA1F9</input>
+			<output>08CDF6AF55BBB247D0DE1A69CD041A78</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 180</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A8389B76191D1FF9C3FEC765C3385E54</key>
+			<input>08CDF6AF55BBB247D0DE1A69CD041A78</input>
+			<output>DED1F3C30AB5EC3455C7B6A756E5FF03</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 181</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>76E968B513A8F3CD963971C295DDA157</key>
+			<input>DED1F3C30AB5EC3455C7B6A756E5FF03</input>
+			<output>C759A17B354D668D1BA5541D16241D9F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 182</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>B1B0C9CE26E595408D9C25DF83F9BCC8</key>
+			<input>C759A17B354D668D1BA5541D16241D9F</input>
+			<output>97E011FE7B327B8292270D4CD18BD9AC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 183</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>2650D8305DD7EEC21FBB289352726564</key>
+			<input>97E011FE7B327B8292270D4CD18BD9AC</input>
+			<output>9F004E4282F790C06681F16262EF78CF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 184</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>B9509672DF207E02793AD9F1309D1DAB</key>
+			<input>9F004E4282F790C06681F16262EF78CF</input>
+			<output>6B34AA95EFD874915DAE275CE34A04B9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 185</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>D2643CE730F80A932494FEADD3D71912</key>
+			<input>6B34AA95EFD874915DAE275CE34A04B9</input>
+			<output>96966D118C50B67849F93B109492B5EB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 186</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>44F251F6BCA8BCEB6D6DC5BD4745ACF9</key>
+			<input>96966D118C50B67849F93B109492B5EB</input>
+			<output>2CA6F85E4F29BE884392A0FEDD08D5A7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 187</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>6854A9A8F38102632EFF65439A4D795E</key>
+			<input>2CA6F85E4F29BE884392A0FEDD08D5A7</input>
+			<output>21B71D4F23DDC002CAAFB7426009BD27</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 188</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>49E3B4E7D05CC261E450D201FA44C479</key>
+			<input>21B71D4F23DDC002CAAFB7426009BD27</input>
+			<output>BF059F1945E9E51B22B308849757B475</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 189</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>F6E62BFE95B5277AC6E3DA856D13700C</key>
+			<input>BF059F1945E9E51B22B308849757B475</input>
+			<output>434F4E756A3178472E12B80A1C2ED83E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 190</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>B5A9658BFF845F3DE8F1628F713DA832</key>
+			<input>434F4E756A3178472E12B80A1C2ED83E</input>
+			<output>37DB2B0D5967700CDE348FB60661A6D4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 191</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>82724E86A6E32F3136C5ED39775C0EE6</key>
+			<input>37DB2B0D5967700CDE348FB60661A6D4</input>
+			<output>D31C5130F8F217AC0014B5F37B9BB86B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 192</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>516E1FB65E11389D36D158CA0CC7B68D</key>
+			<input>D31C5130F8F217AC0014B5F37B9BB86B</input>
+			<output>3B8CD15967907F9C617697EBEF395B16</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 193</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>6AE2CEEF3981470157A7CF21E3FEED9B</key>
+			<input>3B8CD15967907F9C617697EBEF395B16</input>
+			<output>AF17B5E5236BF46576379CD4E5AF8A34</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 194</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C5F57B0A1AEAB364219053F5065167AF</key>
+			<input>AF17B5E5236BF46576379CD4E5AF8A34</input>
+			<output>88286D6FB237181EC239C1D70C0D6675</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 195</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>4DDD1665A8DDAB7AE3A992220A5C01DA</key>
+			<input>88286D6FB237181EC239C1D70C0D6675</input>
+			<output>8A5207BB1283343B3692045183451A7D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 196</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C78F11DEBA5E9F41D53B967389191BA7</key>
+			<input>8A5207BB1283343B3692045183451A7D</input>
+			<output>53C12FAC4B0185AA0CE067FC67EC5B9C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 197</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>944E3E72F15F1AEBD9DBF18FEEF5403B</key>
+			<input>53C12FAC4B0185AA0CE067FC67EC5B9C</input>
+			<output>BBA2BB9B1CA48D2E97E0C39E500EB9C0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 198</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>2FEC85E9EDFB97C54E3B3211BEFBF9FB</key>
+			<input>BBA2BB9B1CA48D2E97E0C39E500EB9C0</input>
+			<output>8BA2341064B7B5184CD7E7A40FA0358E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 199</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A44EB1F9894C22DD02ECD5B5B15BCC75</key>
+			<input>8BA2341064B7B5184CD7E7A40FA0358E</input>
+			<output>97121EEEA68CC6200FBC0B311849E625</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 200</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>335CAF172FC0E4FD0D50DE84A9122A50</key>
+			<input>97121EEEA68CC6200FBC0B311849E625</input>
+			<output>027FA370A9412B342043A15F19294961</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 201</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>31230C678681CFC92D137FDBB03B6331</key>
+			<input>027FA370A9412B342043A15F19294961</input>
+			<output>72CFBE6BA03AB28A53A6727717D1199A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 202</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>43ECB20C26BB7D437EB50DACA7EA7AAB</key>
+			<input>72CFBE6BA03AB28A53A6727717D1199A</input>
+			<output>7A15B1B4B4ED35F9C208500FE7C4C1C7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 203</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>39F903B8925648BABCBD5DA3402EBB6C</key>
+			<input>7A15B1B4B4ED35F9C208500FE7C4C1C7</input>
+			<output>AF46496D09254FAB5F381E93EEB4FBB0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 204</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>96BF4AD59B730711E3854330AE9A40DC</key>
+			<input>AF46496D09254FAB5F381E93EEB4FBB0</input>
+			<output>ADA064E0F4324E8B0C062F6E33C7D016</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 205</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>3B1F2E356F41499AEF836C5E9D5D90CA</key>
+			<input>ADA064E0F4324E8B0C062F6E33C7D016</input>
+			<output>7723A61733BD5BBFAB8C559ED379B8B5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 206</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>4C3C88225CFC1225440F39C04E24287F</key>
+			<input>7723A61733BD5BBFAB8C559ED379B8B5</input>
+			<output>5D210E8F35DD863316E89FADA70E8392</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 207</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>111D86AD6921941652E7A66DE92AABED</key>
+			<input>5D210E8F35DD863316E89FADA70E8392</input>
+			<output>92B1D20E7D87787950990052DE2ABA4F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 208</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>83AC54A314A6EC6F027EA63F370011A2</key>
+			<input>92B1D20E7D87787950990052DE2ABA4F</input>
+			<output>178E494D23AA6AC13AC180727C47FD2A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 209</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>94221DEE370C86AE38BF264D4B47EC88</key>
+			<input>178E494D23AA6AC13AC180727C47FD2A</input>
+			<output>CB9C10817C059D5BE4F123576FF459C6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 210</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>5FBE0D6F4B091BF5DC4E051A24B3B54E</key>
+			<input>CB9C10817C059D5BE4F123576FF459C6</input>
+			<output>4934C56CC7BAF0A8DEBB62CFB2B0DEBF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 211</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>168AC8038CB3EB5D02F567D596036BF1</key>
+			<input>4934C56CC7BAF0A8DEBB62CFB2B0DEBF</input>
+			<output>F6F2A4B90B357D88401702C968D9EC02</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 212</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E0786CBA878696D542E2651CFEDA87F3</key>
+			<input>F6F2A4B90B357D88401702C968D9EC02</input>
+			<output>06A35CAD7B36751BEE345C33112EB6D1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 213</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E6DB3017FCB0E3CEACD6392FEFF43122</key>
+			<input>06A35CAD7B36751BEE345C33112EB6D1</input>
+			<output>3244CDE10DF48795DA702CD8C2F4CABD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 214</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>D49FFDF6F144645B76A615F72D00FB9F</key>
+			<input>3244CDE10DF48795DA702CD8C2F4CABD</input>
+			<output>47C06F5BEA8C3503512E0E200966C546</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 215</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>935F92AD1BC8515827881BD724663ED9</key>
+			<input>47C06F5BEA8C3503512E0E200966C546</input>
+			<output>68A077D25CBEA7F76B88D8C6A414D0CE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 216</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>FBFFE57F4776F6AF4C00C3118072EE17</key>
+			<input>68A077D25CBEA7F76B88D8C6A414D0CE</input>
+			<output>DDF110C2C79B46C5132CCEF654280D7E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 217</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>260EF5BD80EDB06A5F2C0DE7D45AE369</key>
+			<input>DDF110C2C79B46C5132CCEF654280D7E</input>
+			<output>0AB610A0082813076D052011C12DC924</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 218</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>2CB8E51D88C5A36D32292DF615772A4D</key>
+			<input>0AB610A0082813076D052011C12DC924</input>
+			<output>8C42F49EDAE1BD6B631E74B68B1B8444</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 219</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A0FA118352241E06513759409E6CAE09</key>
+			<input>8C42F49EDAE1BD6B631E74B68B1B8444</input>
+			<output>B5A5B6E50B3A066D16DF883F353019FE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 220</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>155FA766591E186B47E8D17FAB5CB7F7</key>
+			<input>B5A5B6E50B3A066D16DF883F353019FE</input>
+			<output>70CFA25AFC9919937E2FC90900F0B398</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 221</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>6590053CA58701F839C71876ABAC046F</key>
+			<input>70CFA25AFC9919937E2FC90900F0B398</input>
+			<output>B927A5911AE33DEAB619DAFEE22CD0DF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 222</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>DCB7A0ADBF643C128FDEC2884980D4B0</key>
+			<input>B927A5911AE33DEAB619DAFEE22CD0DF</input>
+			<output>10C548438C5B976EDD624129B2102D7A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 223</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>CC72E8EE333FAB7C52BC83A1FB90F9CA</key>
+			<input>10C548438C5B976EDD624129B2102D7A</input>
+			<output>4549E45DA2F8FE82972DC7DF3548CAFF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 224</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>893B0CB391C755FEC591447ECED83335</key>
+			<input>4549E45DA2F8FE82972DC7DF3548CAFF</input>
+			<output>2B85505E64089FEB6B5763011E778C96</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 225</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A2BE5CEDF5CFCA15AEC6277FD0AFBFA3</key>
+			<input>2B85505E64089FEB6B5763011E778C96</input>
+			<output>4B157930F9A6EBE3D9D6AC9FADDEB35C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 226</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E9AB25DD0C6921F677108BE07D710CFF</key>
+			<input>4B157930F9A6EBE3D9D6AC9FADDEB35C</input>
+			<output>12341C0FE9EB6757BFFCC4BC1A8F2585</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 227</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>FB9F39D2E58246A1C8EC4F5C67FE297A</key>
+			<input>12341C0FE9EB6757BFFCC4BC1A8F2585</input>
+			<output>5422D62D794B02FC04BE01198EE23ACE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 228</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>AFBDEFFF9CC9445DCC524E45E91C13B4</key>
+			<input>5422D62D794B02FC04BE01198EE23ACE</input>
+			<output>42D43022FD6DB571BCB2FDE653C9068C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 229</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>ED69DFDD61A4F12C70E0B3A3BAD51538</key>
+			<input>42D43022FD6DB571BCB2FDE653C9068C</input>
+			<output>80BD3AAED5D519B75D22BF060EF1DFC6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 230</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>6DD4E573B471E89B2DC20CA5B424CAFE</key>
+			<input>80BD3AAED5D519B75D22BF060EF1DFC6</input>
+			<output>B72973F9016A348CDDCCFFC2DD291B5A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 231</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>DAFD968AB51BDC17F00EF367690DD1A4</key>
+			<input>B72973F9016A348CDDCCFFC2DD291B5A</input>
+			<output>5692E61C86A7B2C043ABBED712390361</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 232</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>8C6F709633BC6ED7B3A54DB07B34D2C5</key>
+			<input>5692E61C86A7B2C043ABBED712390361</input>
+			<output>75138737269AA27855C2CFD2DCEDEFC4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 233</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>F97CF7A11526CCAFE6678262A7D93D01</key>
+			<input>75138737269AA27855C2CFD2DCEDEFC4</input>
+			<output>A022AA28CECC4BB5EB28BA5B7828AB6E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 234</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>595E5D89DBEA871A0D4F3839DFF1966F</key>
+			<input>A022AA28CECC4BB5EB28BA5B7828AB6E</input>
+			<output>17B0BF87EE02AA44705B1B1B4DF7D3F4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 235</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>4EEEE20E35E82D5E7D1423229206459B</key>
+			<input>17B0BF87EE02AA44705B1B1B4DF7D3F4</input>
+			<output>095A5A041C43DCFEB5D0DF3E7659344A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 236</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>47B4B80A29ABF1A0C8C4FC1CE45F71D1</key>
+			<input>095A5A041C43DCFEB5D0DF3E7659344A</input>
+			<output>9DCE0D1C572509F3367EE952B89044E5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 237</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>DA7AB5167E8EF853FEBA154E5CCF3534</key>
+			<input>9DCE0D1C572509F3367EE952B89044E5</input>
+			<output>E6075BCC82399A91E52034EA2F197058</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 238</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>3C7DEEDAFCB762C21B9A21A473D6456C</key>
+			<input>E6075BCC82399A91E52034EA2F197058</input>
+			<output>431D243CEE96B424B0FA4FEC5E707036</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 239</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7F60CAE61221D6E6AB606E482DA6355A</key>
+			<input>431D243CEE96B424B0FA4FEC5E707036</input>
+			<output>5EF70106A2EA454CA9405A8AA1B54EF0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 240</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>2197CBE0B0CB93AA022034C28C137BAA</key>
+			<input>5EF70106A2EA454CA9405A8AA1B54EF0</input>
+			<output>09B003CB7E2ADDD587A2ABCDD03D234F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 241</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>2827C82BCEE14E7F85829F0F5C2E58E5</key>
+			<input>09B003CB7E2ADDD587A2ABCDD03D234F</input>
+			<output>3647FAC6EF758113DC768E7737098DE9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 242</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>1E6032ED2194CF6C59F411786B27D50C</key>
+			<input>3647FAC6EF758113DC768E7737098DE9</input>
+			<output>C043BD96A88492C85431B72C708C3C60</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 243</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>DE238F7B89105DA40DC5A6541BABE96C</key>
+			<input>C043BD96A88492C85431B72C708C3C60</input>
+			<output>299A25142A6B5D334158D359DD9CD574</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 244</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>F7B9AA6FA37B00974C9D750DC6373C18</key>
+			<input>299A25142A6B5D334158D359DD9CD574</input>
+			<output>21E56C2202C8D6F81EDC63A8A1EA4B6A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 245</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>D65CC64DA1B3D66F524116A567DD7772</key>
+			<input>21E56C2202C8D6F81EDC63A8A1EA4B6A</input>
+			<output>FD3565957E3845065B7AEF27A900FDD5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 246</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>2B69A3D8DF8B9369093BF982CEDD8AA7</key>
+			<input>FD3565957E3845065B7AEF27A900FDD5</input>
+			<output>A4DB9120D1ED0419342AFC2CBF114647</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 247</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>8FB232F80E6697703D1105AE71CCCCE0</key>
+			<input>A4DB9120D1ED0419342AFC2CBF114647</input>
+			<output>27FDDEA1E746BD217CFB4CD7A511BACE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 248</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A84FEC59E9202A5141EA4979D4DD762E</key>
+			<input>27FDDEA1E746BD217CFB4CD7A511BACE</input>
+			<output>6A9189FD46E47B22F151A213D023442B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 249</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C2DE65A4AFC45173B0BBEB6A04FE3205</key>
+			<input>6A9189FD46E47B22F151A213D023442B</input>
+			<output>1C729701404C76D5D7A156C39CF52542</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 250</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>DEACF2A5EF8827A6671ABDA9980B1747</key>
+			<input>1C729701404C76D5D7A156C39CF52542</input>
+			<output>6F97CB4564E0783DFE962DCB13FEDF72</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 251</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>B13B39E08B685F9B998C90628BF5C835</key>
+			<input>6F97CB4564E0783DFE962DCB13FEDF72</input>
+			<output>F818140A280299B182CDA37CBE9B27AB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 252</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>49232DEAA36AC62A1B41331E356EEF9E</key>
+			<input>F818140A280299B182CDA37CBE9B27AB</input>
+			<output>20E9F2BE7017C2945005FD8A420A5B7D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 253</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>69CADF54D37D04BE4B44CE947764B4E3</key>
+			<input>20E9F2BE7017C2945005FD8A420A5B7D</input>
+			<output>60BB97C634161EF6A36056193B6EDDB0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 254</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>09714892E76B1A48E824988D4C0A6953</key>
+			<input>60BB97C634161EF6A36056193B6EDDB0</input>
+			<output>E4B9777B7390EF430A93FF7DD0B68CD4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 255</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>EDC83FE994FBF50BE2B767F09CBCE587</key>
+			<input>E4B9777B7390EF430A93FF7DD0B68CD4</input>
+			<output>E5E3BD960CF15BBDB8A6C08711A884CF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 256</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>082B827F980AAEB65A11A7778D146148</key>
+			<input>E5E3BD960CF15BBDB8A6C08711A884CF</input>
+			<output>71A6AEFD0181DCE69A116585044C7F66</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 257</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>798D2C82998B7250C000C2F289581E2E</key>
+			<input>71A6AEFD0181DCE69A116585044C7F66</input>
+			<output>8E9C1CFFDB8972617D74DA0E9ED065D1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 258</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>F711307D42020031BD7418FC17887BFF</key>
+			<input>8E9C1CFFDB8972617D74DA0E9ED065D1</input>
+			<output>CE7882AB901A199910FC463A4D1D626A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 259</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>3969B2D6D21819A8AD885EC65A951995</key>
+			<input>CE7882AB901A199910FC463A4D1D626A</input>
+			<output>2334546032E850D0029CB1AD6AFCEA7A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 260</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>1A5DE6B6E0F04978AF14EF6B3069F3EF</key>
+			<input>2334546032E850D0029CB1AD6AFCEA7A</input>
+			<output>88B4CF0D4AB7BD00BE98DA1626063A69</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 261</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>92E929BBAA47F478118C357D166FC986</key>
+			<input>88B4CF0D4AB7BD00BE98DA1626063A69</input>
+			<output>5A7FF831F28E5EC4A11DA524E2323925</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 262</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C896D18A58C9AABCB0919059F45DF0A3</key>
+			<input>5A7FF831F28E5EC4A11DA524E2323925</input>
+			<output>DF000551EF9BBD914969BD1B353BDC8C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 263</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>1796D4DBB752172DF9F82D42C1662C2F</key>
+			<input>DF000551EF9BBD914969BD1B353BDC8C</input>
+			<output>1EECBC47697208193C354E28D23E8CE9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 264</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>097A689CDE201F34C5CD636A1358A0C6</key>
+			<input>1EECBC47697208193C354E28D23E8CE9</input>
+			<output>DF85CD4B3F821A7411F9F5D1FDF9DB85</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 265</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>D6FFA5D7E1A20540D43496BBEEA17B43</key>
+			<input>DF85CD4B3F821A7411F9F5D1FDF9DB85</input>
+			<output>038E765F1910D8C0C1251254605218F2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 266</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>D571D388F8B2DD80151184EF8EF363B1</key>
+			<input>038E765F1910D8C0C1251254605218F2</input>
+			<output>FBA8FE850294EEAEE75F56C974BF7DE4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 267</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>2ED92D0DFA26332EF24ED226FA4C1E55</key>
+			<input>FBA8FE850294EEAEE75F56C974BF7DE4</input>
+			<output>47F9D6F7A3E2A1BFA360EA1BA8B0450E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 268</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>6920FBFA59C49291512E383D52FC5B5B</key>
+			<input>47F9D6F7A3E2A1BFA360EA1BA8B0450E</input>
+			<output>FD6F4A4825DE5E776BFD569223CB5A2C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 269</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>944FB1B27C1ACCE63AD36EAF71370177</key>
+			<input>FD6F4A4825DE5E776BFD569223CB5A2C</input>
+			<output>10430ED7EE0FDB8FBC348F8E08286622</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 270</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>840CBF659215176986E7E121791F6755</key>
+			<input>10430ED7EE0FDB8FBC348F8E08286622</input>
+			<output>4B75D5C573185303B01EB649884758B1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 271</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>CF796AA0E10D446A36F95768F1583FE4</key>
+			<input>4B75D5C573185303B01EB649884758B1</input>
+			<output>85CCA4271A941517D55D05B4F29527C3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 272</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>4AB5CE87FB99517DE3A452DC03CD1827</key>
+			<input>85CCA4271A941517D55D05B4F29527C3</input>
+			<output>615EA2D44C52D639B6AD05D621B4A1A6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 273</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>2BEB6C53B7CB87445509570A2279B981</key>
+			<input>615EA2D44C52D639B6AD05D621B4A1A6</input>
+			<output>1DFD1E93D34ABFE45BA6BF6BD3FBF30E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 274</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>361672C0648138A00EAFE861F1824A8F</key>
+			<input>1DFD1E93D34ABFE45BA6BF6BD3FBF30E</input>
+			<output>B65C3F09FFFF752DEE2F8F2D441A51CA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 275</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>804A4DC99B7E4D8DE080674CB5981B45</key>
+			<input>B65C3F09FFFF752DEE2F8F2D441A51CA</input>
+			<output>3B36D6FD4F7ACAD4681FF4398AC7AFB3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 276</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>BB7C9B34D4048759889F93753F5FB4F6</key>
+			<input>3B36D6FD4F7ACAD4681FF4398AC7AFB3</input>
+			<output>F3CDEFABE450D887CD585C280BB22367</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 277</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>48B1749F30545FDE45C7CF5D34ED9791</key>
+			<input>F3CDEFABE450D887CD585C280BB22367</input>
+			<output>ECC49251BAD79981CA1B1F683A843531</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 278</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A475E6CE8A83C65F8FDCD0350E69A2A0</key>
+			<input>ECC49251BAD79981CA1B1F683A843531</input>
+			<output>8BE43F0A30663108513A0E5F49F9152C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 279</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>2F91D9C4BAE5F757DEE6DE6A4790B78C</key>
+			<input>8BE43F0A30663108513A0E5F49F9152C</input>
+			<output>DB3D559FCEBE0FAF3B218161BA6B3F07</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 280</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>F4AC8C5B745BF8F8E5C75F0BFDFB888B</key>
+			<input>DB3D559FCEBE0FAF3B218161BA6B3F07</input>
+			<output>8F0C3AE11B03433C07CABD26BF47A430</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 281</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7BA0B6BA6F58BBC4E20DE22D42BC2CBB</key>
+			<input>8F0C3AE11B03433C07CABD26BF47A430</input>
+			<output>73578DC3464CE3EE0314B206E1E9504C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 282</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>08F73B792914582AE119502BA3557CF7</key>
+			<input>73578DC3464CE3EE0314B206E1E9504C</input>
+			<output>60DA2C12B296804C608348A54EE1C60D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 283</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>682D176B9B82D866819A188EEDB4BAFA</key>
+			<input>60DA2C12B296804C608348A54EE1C60D</input>
+			<output>A960934724BDC61E5429E59856FC1902</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 284</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C14D842CBF3F1E78D5B3FD16BB48A3F8</key>
+			<input>A960934724BDC61E5429E59856FC1902</input>
+			<output>6B7E71535C6B7B09BDF19AF79CD58C95</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 285</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>AA33F57FE3546571684267E1279D2F6D</key>
+			<input>6B7E71535C6B7B09BDF19AF79CD58C95</input>
+			<output>B95E0126EF320F1E6F288366DB7F2773</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 286</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>136DF4590C666A6F076AE487FCE2081E</key>
+			<input>B95E0126EF320F1E6F288366DB7F2773</input>
+			<output>6403B99D6FE0F85128FDD1F05B81AA6E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 287</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>776E4DC46386923E2F973577A763A270</key>
+			<input>6403B99D6FE0F85128FDD1F05B81AA6E</input>
+			<output>9EBA25F2D6CE5817F4317F3AFE6421E7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 288</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E9D46836B548CA29DBA64A4D59078397</key>
+			<input>9EBA25F2D6CE5817F4317F3AFE6421E7</input>
+			<output>5E77AAE8A3C5EEAF4732BB310DAC3771</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 289</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>B7A3C2DE168D24869C94F17C54ABB4E6</key>
+			<input>5E77AAE8A3C5EEAF4732BB310DAC3771</input>
+			<output>5FD00675371300B60C30EFCEE0171080</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 290</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E873C4AB219E243090A41EB2B4BCA466</key>
+			<input>5FD00675371300B60C30EFCEE0171080</input>
+			<output>482D701DBCE3AE108F65836C12A41C2C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 291</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A05EB4B69D7D8A201FC19DDEA618B84A</key>
+			<input>482D701DBCE3AE108F65836C12A41C2C</input>
+			<output>2966D81642542925891D8F7409051E4A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 292</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>89386CA0DF29A30596DC12AAAF1DA600</key>
+			<input>2966D81642542925891D8F7409051E4A</input>
+			<output>2FD6F3DB9DD1DEDED9F32D1806AE69D6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 293</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A6EE9F7B42F87DDB4F2F3FB2A9B3CFD6</key>
+			<input>2FD6F3DB9DD1DEDED9F32D1806AE69D6</input>
+			<output>9B59277165B792790E29ADB53ADE60DB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 294</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>3DB7B80A274FEFA241069207936DAF0D</key>
+			<input>9B59277165B792790E29ADB53ADE60DB</input>
+			<output>A4873C5246044200B56C25FFADAB15D6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 295</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>99308458614BADA2F46AB7F83EC6BADB</key>
+			<input>A4873C5246044200B56C25FFADAB15D6</input>
+			<output>9E2BBBD65649EB2A0CD974AD32BF382F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 296</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>071B3F8E37024688F8B3C3550C7982F4</key>
+			<input>9E2BBBD65649EB2A0CD974AD32BF382F</input>
+			<output>F83F4408675892DADA4833A43F22FFC8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 297</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>FF247B86505AD45222FBF0F1335B7D3C</key>
+			<input>F83F4408675892DADA4833A43F22FFC8</input>
+			<output>19C337CCBF8D06DC68D9A16DB294EF44</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 298</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E6E74C4AEFD7D28E4A22519C81CF9278</key>
+			<input>19C337CCBF8D06DC68D9A16DB294EF44</input>
+			<output>433578E0901A4F4B134E6DCF68249FC7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 299</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A5D234AA7FCD9DC5596C3C53E9EB0DBF</key>
+			<input>433578E0901A4F4B134E6DCF68249FC7</input>
+			<output>7F317CB0B3279C894B8A08289797FFF1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 300</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>DAE3481ACCEA014C12E6347B7E7CF24E</key>
+			<input>7F317CB0B3279C894B8A08289797FFF1</input>
+			<output>AFFB4CA21A2A36FD24BB18C5AED17789</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 301</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>751804B8D6C037B1365D2CBED0AD85C7</key>
+			<input>AFFB4CA21A2A36FD24BB18C5AED17789</input>
+			<output>394DA5EC353A68B844D1BC24A468DA5C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 302</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>4C55A154E3FA5F09728C909A74C55F9B</key>
+			<input>394DA5EC353A68B844D1BC24A468DA5C</input>
+			<output>C649C174B98A06351F26C117D14FF290</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 303</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>8A1C60205A70593C6DAA518DA58AAD0B</key>
+			<input>C649C174B98A06351F26C117D14FF290</input>
+			<output>2E122AA7C90B57304A80C19480627DD7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 304</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A40E4A87937B0E0C272A901925E8D0DC</key>
+			<input>2E122AA7C90B57304A80C19480627DD7</input>
+			<output>9841ADE6A65834CE89959EFE8F059ED6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 305</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>3C4FE76135233AC2AEBF0EE7AAED4E0A</key>
+			<input>9841ADE6A65834CE89959EFE8F059ED6</input>
+			<output>6B70D74762A4BEFBD15B9EC6835CB69B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 306</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>573F3026578784397FE4902129B1F891</key>
+			<input>6B70D74762A4BEFBD15B9EC6835CB69B</input>
+			<output>2E8B5DEF53E2294C0C953A9B8BD9399D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 307</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>79B46DC90465AD757371AABAA268C10C</key>
+			<input>2E8B5DEF53E2294C0C953A9B8BD9399D</input>
+			<output>D32D00F78BA00F6CEA792598B89779E4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 308</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>AA996D3E8FC5A21999088F221AFFB8E8</key>
+			<input>D32D00F78BA00F6CEA792598B89779E4</input>
+			<output>7059DCC6CB8D295B95F2978F25927B31</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 309</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>DAC0B1F844488B420CFA18AD3F6DC3D9</key>
+			<input>7059DCC6CB8D295B95F2978F25927B31</input>
+			<output>833A1AFA7DC4CAF54F5B36981A98D7E3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 310</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>59FAAB02398C41B743A12E3525F5143A</key>
+			<input>833A1AFA7DC4CAF54F5B36981A98D7E3</input>
+			<output>4CC5A526400B493AAA28909A2F4932BF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 311</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>153F0E247987088DE989BEAF0ABC2685</key>
+			<input>4CC5A526400B493AAA28909A2F4932BF</input>
+			<output>D7134DEE2967104D161876A0802B3727</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 312</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C22C43CA50E018C0FF91C80F8A9711A2</key>
+			<input>D7134DEE2967104D161876A0802B3727</input>
+			<output>C45DB7BC52D7A0D53399B91EFB686D32</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 313</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>0671F4760237B815CC08711171FF7C90</key>
+			<input>C45DB7BC52D7A0D53399B91EFB686D32</input>
+			<output>2F49EA2A8D7F44909BCF41C3640FD0AB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 314</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>29381E5C8F48FC8557C730D215F0AC3B</key>
+			<input>2F49EA2A8D7F44909BCF41C3640FD0AB</input>
+			<output>6D416059758F4AC555A05D83E9CFC4DE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 315</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>44797E05FAC7B64002676D51FC3F68E5</key>
+			<input>6D416059758F4AC555A05D83E9CFC4DE</input>
+			<output>2721015DDF85EC87ED8480A87705CD37</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 316</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>63587F5825425AC7EFE3EDF98B3AA5D2</key>
+			<input>2721015DDF85EC87ED8480A87705CD37</input>
+			<output>3B045F5DD5ADC6E5D341E2E6A5B919D3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 317</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>585C2005F0EF9C223CA20F1F2E83BC01</key>
+			<input>3B045F5DD5ADC6E5D341E2E6A5B919D3</input>
+			<output>85DA9719FF16899B343BE56FDF9F86BF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 318</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>DD86B71C0FF915B90899EA70F11C3ABE</key>
+			<input>85DA9719FF16899B343BE56FDF9F86BF</input>
+			<output>67FD32AC2783C381E77AE0BB8ACEECCD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 319</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>BA7B85B0287AD638EFE30ACB7BD2D673</key>
+			<input>67FD32AC2783C381E77AE0BB8ACEECCD</input>
+			<output>D8BEC715849E6A2A164F0139B8EC038E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 320</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>62C542A5ACE4BC12F9AC0BF2C33ED5FD</key>
+			<input>D8BEC715849E6A2A164F0139B8EC038E</input>
+			<output>6ECA9375A207148E36203C8BD885A520</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 321</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>0C0FD1D00EE3A89CCF8C37791BBB70DD</key>
+			<input>6ECA9375A207148E36203C8BD885A520</input>
+			<output>A96877A8369B7086EF76D8281C066068</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 322</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A567A6783878D81A20FAEF5107BD10B5</key>
+			<input>A96877A8369B7086EF76D8281C066068</input>
+			<output>2D6DDF2C136F5ACDC12D33D52ECD6397</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 323</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>880A79542B1782D7E1D7DC8429707322</key>
+			<input>2D6DDF2C136F5ACDC12D33D52ECD6397</input>
+			<output>E2F3EFF780EEDAD7B820CF57F946AB21</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 324</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>6AF996A3ABF9580059F713D3D036D803</key>
+			<input>E2F3EFF780EEDAD7B820CF57F946AB21</input>
+			<output>D083829AB624DC46BF55F15C2ACA2CDC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 325</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>BA7A14391DDD8446E6A2E28FFAFCF4DF</key>
+			<input>D083829AB624DC46BF55F15C2ACA2CDC</input>
+			<output>637A1328711A701F011B0D66953A11FC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 326</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>D90007116CC7F459E7B9EFE96FC6E523</key>
+			<input>637A1328711A701F011B0D66953A11FC</input>
+			<output>9230F9E8C4AA7D697641B4E800AECE8B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 327</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>4B30FEF9A86D893091F85B016F682BA8</key>
+			<input>9230F9E8C4AA7D697641B4E800AECE8B</input>
+			<output>CABC2F3EBCB87AEF4550060FB6F95C7D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 328</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>818CD1C714D5F3DFD4A85D0ED99177D5</key>
+			<input>CABC2F3EBCB87AEF4550060FB6F95C7D</input>
+			<output>25C93DA609BEDFD48D88B7E005EA9D4D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 329</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A445EC611D6B2C0B5920EAEEDC7BEA98</key>
+			<input>25C93DA609BEDFD48D88B7E005EA9D4D</input>
+			<output>E445C1B43DC6AA0D47C766675676CA29</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 330</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>40002DD520AD86061EE78C898A0D20B1</key>
+			<input>E445C1B43DC6AA0D47C766675676CA29</input>
+			<output>3F8A99E9D556F0CE0B0F3B4FE89A7C15</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 331</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7F8AB43CF5FB76C815E8B7C662975CA4</key>
+			<input>3F8A99E9D556F0CE0B0F3B4FE89A7C15</input>
+			<output>BE04197CADBDBC917AB288D85C554D4A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 332</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C18EAD405846CA596F5A3F1E3EC211EE</key>
+			<input>BE04197CADBDBC917AB288D85C554D4A</input>
+			<output>2CF8FE59EED67AF15BD6C09C8DA37882</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 333</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>ED765319B690B0A8348CFF82B361696C</key>
+			<input>2CF8FE59EED67AF15BD6C09C8DA37882</input>
+			<output>FF8CBF98D0B15198ACDC53D7247511C5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 334</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>12FAEC816621E1309850AC55971478A9</key>
+			<input>FF8CBF98D0B15198ACDC53D7247511C5</input>
+			<output>27794678855BAE2BDE7EB75487813E28</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 335</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>3583AAF9E37A4F1B462E1B0110954681</key>
+			<input>27794678855BAE2BDE7EB75487813E28</input>
+			<output>5681B2CECDE71663A864D0288607D86B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 336</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>630218372E9D5978EE4ACB2996929EEA</key>
+			<input>5681B2CECDE71663A864D0288607D86B</input>
+			<output>8936EB6E65F2CD2B3AFD1310B5B2D6C8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 337</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>EA34F3594B6F9453D4B7D83923204822</key>
+			<input>8936EB6E65F2CD2B3AFD1310B5B2D6C8</input>
+			<output>16045490148187B05CC46B80099A4530</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 338</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>FC30A7C95FEE13E38873B3B92ABA0D12</key>
+			<input>16045490148187B05CC46B80099A4530</input>
+			<output>FE909FFB1D490B028867288FE682EEE9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 339</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>02A0383242A718E100149B36CC38E3FB</key>
+			<input>FE909FFB1D490B028867288FE682EEE9</input>
+			<output>7B3E5C0017089A7842866ABA6364FFEA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 340</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>799E643255AF82994292F18CAF5C1C11</key>
+			<input>7B3E5C0017089A7842866ABA6364FFEA</input>
+			<output>CC263F129618975F204AE499F115C69B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 341</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>B5B85B20C3B715C662D815155E49DA8A</key>
+			<input>CC263F129618975F204AE499F115C69B</input>
+			<output>997ACE7EABF6EBF9CC7BBCC2670CF1A0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 342</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>2CC2955E6841FE3FAEA3A9D739452B2A</key>
+			<input>997ACE7EABF6EBF9CC7BBCC2670CF1A0</input>
+			<output>88D4A74B19278ED442068D0954DFA8B2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 343</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A4163215716670EBECA524DE6D9A8398</key>
+			<input>88D4A74B19278ED442068D0954DFA8B2</input>
+			<output>F1CC6407AB254178DEFEF983112D6AC5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 344</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>55DA5612DA433193325BDD5D7CB7E95D</key>
+			<input>F1CC6407AB254178DEFEF983112D6AC5</input>
+			<output>689A0E429CDAF1BD1197C160BF962544</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 345</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>3D4058504699C02E23CC1C3DC321CC19</key>
+			<input>689A0E429CDAF1BD1197C160BF962544</input>
+			<output>54CF618196D978C0460CF8051DF5BE18</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 346</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>698F39D1D040B8EE65C0E438DED47201</key>
+			<input>54CF618196D978C0460CF8051DF5BE18</input>
+			<output>4AA0EF106F23B43C3DD371C66404C602</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 347</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>232FD6C1BF630CD2581395FEBAD0B403</key>
+			<input>4AA0EF106F23B43C3DD371C66404C602</input>
+			<output>A5185CAE1718143FC6CC329D9F233E17</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 348</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>86378A6FA87B18ED9EDFA76325F38A14</key>
+			<input>A5185CAE1718143FC6CC329D9F233E17</input>
+			<output>A2A7E8855D25A0C475961E9B7ED7BE35</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 349</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>249062EAF55EB829EB49B9F85B243421</key>
+			<input>A2A7E8855D25A0C475961E9B7ED7BE35</input>
+			<output>E0B7536B335FB98F197F762B3B97CECE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 350</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C4273181C60101A6F236CFD360B3FAEF</key>
+			<input>E0B7536B335FB98F197F762B3B97CECE</input>
+			<output>C45C38164083871528D8B3BA7423BFEA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 351</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>007B0997868286B3DAEE7C6914904505</key>
+			<input>C45C38164083871528D8B3BA7423BFEA</input>
+			<output>017AEBDEF43CF9664C582356A4A0C374</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 352</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>0101E24972BE7FD596B65F3FB0308671</key>
+			<input>017AEBDEF43CF9664C582356A4A0C374</input>
+			<output>BBB48EA21B5EDCCF5346A7B4E6796BED</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 353</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>BAB56CEB69E0A31AC5F0F88B5649ED9C</key>
+			<input>BBB48EA21B5EDCCF5346A7B4E6796BED</input>
+			<output>3A53DFCB6067F9E98653136A44A4B537</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 354</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>80E6B32009875AF343A3EBE112ED58AB</key>
+			<input>3A53DFCB6067F9E98653136A44A4B537</input>
+			<output>951BA0E2272E46FC8CC3990E002EEFF0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 355</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>15FD13C22EA91C0FCF6072EF12C3B75B</key>
+			<input>951BA0E2272E46FC8CC3990E002EEFF0</input>
+			<output>249202E40BC5892B9CEE96279E69432A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 356</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>316F1126256C9524538EE4C88CAAF471</key>
+			<input>249202E40BC5892B9CEE96279E69432A</input>
+			<output>B90CE5BF126163B37F75032A88AFD615</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 357</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>8863F499370DF6972CFBE7E204052264</key>
+			<input>B90CE5BF126163B37F75032A88AFD615</input>
+			<output>E0BDD9E1FF493D82777BD7FB4035D309</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 358</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>68DE2D78C844CB155B8030194430F16D</key>
+			<input>E0BDD9E1FF493D82777BD7FB4035D309</input>
+			<output>0A3A5E377CDB2D1F6CB09E200494F578</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 359</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>62E4734FB49FE60A3730AE3940A40415</key>
+			<input>0A3A5E377CDB2D1F6CB09E200494F578</input>
+			<output>483DF6E2936389D1FC09921497AF8AE7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 360</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>2AD985AD27FC6FDBCB393C2DD70B8EF2</key>
+			<input>483DF6E2936389D1FC09921497AF8AE7</input>
+			<output>7A90B7B1E493109323A54AD285090EC6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 361</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>5049321CC36F7F48E89C76FF52028034</key>
+			<input>7A90B7B1E493109323A54AD285090EC6</input>
+			<output>B6471BF36A24B5B0CAC19BDD4C83DC50</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 362</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E60E29EFA94BCAF8225DED221E815C64</key>
+			<input>B6471BF36A24B5B0CAC19BDD4C83DC50</input>
+			<output>EFBDC6ECADCE6AA5DBD302E7A0647700</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 363</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>09B3EF030485A05DF98EEFC5BEE52B64</key>
+			<input>EFBDC6ECADCE6AA5DBD302E7A0647700</input>
+			<output>783A89B88CC875F743B645BA1449CEE7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 364</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>718966BB884DD5AABA38AA7FAAACE583</key>
+			<input>783A89B88CC875F743B645BA1449CEE7</input>
+			<output>EAD61D2577852D4EA276F3699EFB2BDC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 365</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>9B5F7B9EFFC8F8E4184E59163457CE5F</key>
+			<input>EAD61D2577852D4EA276F3699EFB2BDC</input>
+			<output>9E804D8814AF4FC67BA931D1C72774C7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 366</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>05DF3616EB67B72263E768C7F370BA98</key>
+			<input>9E804D8814AF4FC67BA931D1C72774C7</input>
+			<output>7C383CC27D8C2B117AC72088EB334FD9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 367</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>79E70AD496EB9C331920484F1843F541</key>
+			<input>7C383CC27D8C2B117AC72088EB334FD9</input>
+			<output>9D4BE61ECECB2E60EC621A6320C0E844</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 368</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E4ACECCA5820B253F542522C38831D05</key>
+			<input>9D4BE61ECECB2E60EC621A6320C0E844</input>
+			<output>227992ADFC526D9AA99BA629E7523198</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 369</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C6D57E67A472DFC95CD9F405DFD12C9D</key>
+			<input>227992ADFC526D9AA99BA629E7523198</input>
+			<output>93A265FB7650BE75CBDD8732F65F09A5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 370</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>55771B9CD22261BC97047337298E2538</key>
+			<input>93A265FB7650BE75CBDD8732F65F09A5</input>
+			<output>5AB3354B8D28F041C5A7FDAB828996BC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 371</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>0FC42ED75F0A91FD52A38E9CAB07B384</key>
+			<input>5AB3354B8D28F041C5A7FDAB828996BC</input>
+			<output>BA5C6566701BD3791C2DA51CDC5AB6DD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 372</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>B5984BB12F1142844E8E2B80775D0559</key>
+			<input>BA5C6566701BD3791C2DA51CDC5AB6DD</input>
+			<output>2C96CE0653EFB1113C6E822DD4AE6200</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 373</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>990E85B77CFEF39572E0A9ADA3F36759</key>
+			<input>2C96CE0653EFB1113C6E822DD4AE6200</input>
+			<output>1065F5519472C78BADAB79EC00BBCABA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 374</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>896B70E6E88C341EDF4BD041A348ADE3</key>
+			<input>1065F5519472C78BADAB79EC00BBCABA</input>
+			<output>049AA7D4B4C1A59C1A16E3E5D8B46515</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 375</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>8DF1D7325C4D9182C55D33A47BFCC8F6</key>
+			<input>049AA7D4B4C1A59C1A16E3E5D8B46515</input>
+			<output>C8F1C4179DD8FCD6942D07AF7392F481</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 376</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>45001325C1956D545170340B086E3C77</key>
+			<input>C8F1C4179DD8FCD6942D07AF7392F481</input>
+			<output>9C9AE90AFE18822197EA47FE2F48813F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 377</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>D99AFA2F3F8DEF75C69A73F52726BD48</key>
+			<input>9C9AE90AFE18822197EA47FE2F48813F</input>
+			<output>DFBABE8688391CC868CDE134DDFFE1F0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 378</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>062044A9B7B4F3BDAE5792C1FAD95CB8</key>
+			<input>DFBABE8688391CC868CDE134DDFFE1F0</input>
+			<output>72BE585F98DA4DC03998B5820D5230A9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 379</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>749E1CF62F6EBE7D97CF2743F78B6C11</key>
+			<input>72BE585F98DA4DC03998B5820D5230A9</input>
+			<output>BCF3D47B888599A27AD63D6EFD8FB86F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 380</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C86DC88DA7EB27DFED191A2D0A04D47E</key>
+			<input>BCF3D47B888599A27AD63D6EFD8FB86F</input>
+			<output>62F7A2AD05BB46CB81B9601129100455</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 381</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>AA9A6A20A25061146CA07A3C2314D02B</key>
+			<input>62F7A2AD05BB46CB81B9601129100455</input>
+			<output>FA4D3B82232D19BE14A57422012C7751</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 382</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>50D751A2817D78AA78050E1E2238A77A</key>
+			<input>FA4D3B82232D19BE14A57422012C7751</input>
+			<output>40953AAA3D6C1BBE375A1E275754C98C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 383</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>10426B08BC1163144F5F1039756C6EF6</key>
+			<input>40953AAA3D6C1BBE375A1E275754C98C</input>
+			<output>CE9123C6A5A66AF788A8515721D646A0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 384</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>DED348CE19B709E3C7F7416E54BA2856</key>
+			<input>CE9123C6A5A66AF788A8515721D646A0</input>
+			<output>E45F3483E343F5C3C0AC77E955369AB3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 385</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>3A8C7C4DFAF4FC20075B3687018CB2E5</key>
+			<input>E45F3483E343F5C3C0AC77E955369AB3</input>
+			<output>6E7CE5F4BE070EC870691CDD494A767E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 386</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>54F099B944F3F2E877322A5A48C6C49B</key>
+			<input>6E7CE5F4BE070EC870691CDD494A767E</input>
+			<output>2BB1EE551920A632E90EB9E462280365</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 387</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7F4177EC5DD354DA9E3C93BE2AEEC7FE</key>
+			<input>2BB1EE551920A632E90EB9E462280365</input>
+			<output>692E0FA8B1C39CB96A11E21EA1B3365E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 388</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>166F7844EC10C863F42D71A08B5DF1A0</key>
+			<input>692E0FA8B1C39CB96A11E21EA1B3365E</input>
+			<output>345C0DE98A9F472B6BCBE241BB346590</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 389</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>223375AD668F8F489FE693E130699430</key>
+			<input>345C0DE98A9F472B6BCBE241BB346590</input>
+			<output>D9D9313DC80FB90608614ECCC962207F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 390</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>FBEA4490AE80364E9787DD2DF90BB44F</key>
+			<input>D9D9313DC80FB90608614ECCC962207F</input>
+			<output>7AEE31C488D1DD54B9AD8EE3AEFE546C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 391</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>810475542651EB1A2E2A53CE57F5E023</key>
+			<input>7AEE31C488D1DD54B9AD8EE3AEFE546C</input>
+			<output>9CF27E1202080D9F3A9B5E02290204EA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 392</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>1DF60B462459E68514B10DCC7EF7E4C9</key>
+			<input>9CF27E1202080D9F3A9B5E02290204EA</input>
+			<output>670085C6D3B95C6017DB9163B9D2D565</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 393</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7AF68E80F7E0BAE5036A9CAFC72531AC</key>
+			<input>670085C6D3B95C6017DB9163B9D2D565</input>
+			<output>2A36E88DF74BA4B24283FEE52DDE5AA4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 394</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>50C0660D00AB1E5741E9624AEAFB6B08</key>
+			<input>2A36E88DF74BA4B24283FEE52DDE5AA4</input>
+			<output>81B75B31F130467F4A1FA6CA4A329E5E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 395</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>D1773D3CF19B58280BF6C480A0C9F556</key>
+			<input>81B75B31F130467F4A1FA6CA4A329E5E</input>
+			<output>D0A0347102BD11F9E2BD8E8A72D53ADC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 396</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>01D7094DF32649D1E94B4A0AD21CCF8A</key>
+			<input>D0A0347102BD11F9E2BD8E8A72D53ADC</input>
+			<output>97F0187509608DF1D9B27AB5D005E505</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 397</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>96271138FA46C42030F930BF02192A8F</key>
+			<input>97F0187509608DF1D9B27AB5D005E505</input>
+			<output>E60139E36ECD7B24C7C98772C92A1E87</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 398</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>702628DB948BBF04F730B7CDCB333408</key>
+			<input>E60139E36ECD7B24C7C98772C92A1E87</input>
+			<output>7E92E19E07A469E7D49D3D07EF719157</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 399</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>0EB4C945932FD6E323AD8ACA2442A55F</key>
+			<input>7E92E19E07A469E7D49D3D07EF719157</input>
+			<output>F5BF8B37136F2E1F6BEC6F572021E3BA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tsymmetric/scripts/AESMonteCarloDecryptECB192.txt	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,6400 @@
+<action>
+	<actionname>AES ECB MonteCarlo DEC 0</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>48E31E9E256718F29229319C19F15BA4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 1</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>9643D8334A63DF4D48E31E9E256718F29229319C19F15BA4</key>
+			<input>48E31E9E256718F29229319C19F15BA4</input>
+			<output>CC01684BE9B29ED01EA7923E7D2380AA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 2</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>EF334C87288C43DE84E276D5CCD586228C8EA3A264D2DB0E</key>
+			<input>CC01684BE9B29ED01EA7923E7D2380AA</input>
+			<output>8726B4E66D6B8FBAA22D42981A5A40CC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 3</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>0891A045BB044B9D03C4C233A1BE09982EA3E13A7E889BC2</key>
+			<input>8726B4E66D6B8FBAA22D42981A5A40CC</input>
+			<output>83B9A21A0710FDB9C603797613772ED6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 4</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A5233519DE914717807D6029A6AEF421E8A0984C6DFFB514</key>
+			<input>83B9A21A0710FDB9C603797613772ED6</input>
+			<output>F15479A2B2C250F7E5C11D333D867CBD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 5</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A1CB19726DB4C2C77129198B146CA4D60D61857F5079C9A9</key>
+			<input>F15479A2B2C250F7E5C11D333D867CBD</input>
+			<output>C1AF401BD4E62D8BA15BEC3690F2FB25</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 6</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>04B03C15DB8324B3B0865990C08A895DAC3A6949C08B328C</key>
+			<input>C1AF401BD4E62D8BA15BEC3690F2FB25</input>
+			<output>01E01E3B10470286035EBD7502EF11A0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 7</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A1CB0164AB1E88EDB16647ABD0CD8BDBAF64D43CC264232C</key>
+			<input>01E01E3B10470286035EBD7502EF11A0</input>
+			<output>A681127825B718411291106AB416779A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 8</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>27BFD9CB824C525617E755D3F57A939ABDF5C456767254B6</key>
+			<input>A681127825B718411291106AB416779A</input>
+			<output>5C2EBA728589A9CAA15E28E7D8E59AA0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 9</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>B308E0DCE108194C4BC9EFA170F33A501CABECB1AE97CE16</key>
+			<input>5C2EBA728589A9CAA15E28E7D8E59AA0</input>
+			<output>E738305279BE636648B6D5FFA3E97E4A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 10</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>FE787701EE66664BACF1DFF3094D5936541D394E0D7EB05C</key>
+			<input>E738305279BE636648B6D5FFA3E97E4A</input>
+			<output>5AF7D4C9439C7412FD7236E7685659DF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 11</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>DD93D742AFA0B19CF6060B3A4AD12D24A96F0FA96528E983</key>
+			<input>5AF7D4C9439C7412FD7236E7685659DF</input>
+			<output>30D0681D4060E24D1427D1AAC498DB1B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 12</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>D5D19C2FEA9DC94BC6D663270AB1CF69BD48DE03A1B03298</key>
+			<input>30D0681D4060E24D1427D1AAC498DB1B</input>
+			<output>FC9B6752064B1CCE75EBFBE91AF8F2CD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 13</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>EB0954ECE44620833A4D04750CFAD3A7C8A325EABB48C055</key>
+			<input>FC9B6752064B1CCE75EBFBE91AF8F2CD</input>
+			<output>61E6AE6E035BCC3C94EF00101216904A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 14</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E6E5AB38545B6DF75BABAA1B0FA11F9B5C4C25FAA95E501F</key>
+			<input>61E6AE6E035BCC3C94EF00101216904A</input>
+			<output>BF738A4E55F036126CC9B56DED530B8C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 15</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E8C670F71E5B62B6E4D820555A51298930859097440D5B93</key>
+			<input>BF738A4E55F036126CC9B56DED530B8C</input>
+			<output>6B9CD4C227FC30C14FD881B838D9F8F5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 16</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>23FF647DD75770418F44F4977DAD19487F5D112F7CD4A366</key>
+			<input>6B9CD4C227FC30C14FD881B838D9F8F5</input>
+			<output>6173EF2B5C9B569A1BD4B62C7C913844</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 17</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>DB94124B11CC03D9EE371BBC21364FD26489A70300459B22</key>
+			<input>6173EF2B5C9B569A1BD4B62C7C913844</input>
+			<output>709EF90F853E55123A917FB258E900F9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 18</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>4821CA96B50ACA049EA9E2B3A4081AC05E18D8B158AC9BDB</key>
+			<input>709EF90F853E55123A917FB258E900F9</input>
+			<output>5D73D99E47B1DB28E0ED9B9D1C212CFA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 19</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>FA47C5BF5E688F8BC3DA3B2DE3B9C1E8BEF5432C448DB721</key>
+			<input>5D73D99E47B1DB28E0ED9B9D1C212CFA</input>
+			<output>32016FFCB2AA5EA6EA0C808F60613CA2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 20</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C66A73E0D1261C2CF1DB54D151139F4E54F9C3A324EC8B83</key>
+			<input>32016FFCB2AA5EA6EA0C808F60613CA2</input>
+			<output>CAA3704F7FD76EBACB1D2A266A0899FF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 21</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>FAE8E04094E572A33B78249E2EC4F1F49FE4E9854EE4127C</key>
+			<input>CAA3704F7FD76EBACB1D2A266A0899FF</input>
+			<output>E32DBD027A1A36B2EC8D0A98C9293E7E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 22</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>8F2FBF9E40182950D855999C54DEC7467369E31D87CD2C02</key>
+			<input>E32DBD027A1A36B2EC8D0A98C9293E7E</input>
+			<output>1C117311882C0D5159A9DFD5C3C68D95</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 23</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>F6FB8F6DFAA034BFC444EA8DDCF2CA172AC03CC8440BA197</key>
+			<input>1C117311882C0D5159A9DFD5C3C68D95</input>
+			<output>5E379C2471DB04582CD861E6F8A419D7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 24</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>699DCA67F4EF50C49A7376A9AD29CE4F06185D2EBCAFB840</key>
+			<input>5E379C2471DB04582CD861E6F8A419D7</input>
+			<output>5932A84C6ACBD8452EE9AC47CE4B6BD8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 25</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>F568B4F126486CE4C341DEE5C7E2160A28F1F16972E4D398</key>
+			<input>5932A84C6ACBD8452EE9AC47CE4B6BD8</input>
+			<output>00634EED1D18C84AE0A8198CF791DE81</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 26</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C49E5E8D366B6FE7C3229008DAFADE40C859E8E585750D19</key>
+			<input>00634EED1D18C84AE0A8198CF791DE81</input>
+			<output>E10C93B1C466FFF0B6EB6DB50AF271EC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 27</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>22B07DB9ED443A9D222E03B91E9C21B07EB285508F877CF5</key>
+			<input>E10C93B1C466FFF0B6EB6DB50AF271EC</input>
+			<output>58A0C680F565E63A7E41C6EAC50A3B01</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 28</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>2BDF4CCE2B4CAFDD7A8EC539EBF9C78A00F343BA4A8D47F4</key>
+			<input>58A0C680F565E63A7E41C6EAC50A3B01</input>
+			<output>92921B2AA7FC6367199A4C42FAE0E2A4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 29</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E2BE29F6905D41C5E81CDE134C05A4ED19690FF8B06DA550</key>
+			<input>92921B2AA7FC6367199A4C42FAE0E2A4</input>
+			<output>B6EC2A692D2657E5506F2C3BA1912799</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 30</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E43634FD3DB719C75EF0F47A6123F308490623C311FC82C9</key>
+			<input>B6EC2A692D2657E5506F2C3BA1912799</input>
+			<output>23ECD0813B1A7090CF9BE874D6B0846C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 31</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>ACA2F21EF46E30B57D1C24FB5A398398869DCBB7C74C06A5</key>
+			<input>23ECD0813B1A7090CF9BE874D6B0846C</input>
+			<output>04BD52F4C1AB8DF4816A6E11F8B54452</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 32</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>0130B37AFE24D66079A1760F9B920E6C07F7A5A63FF942F7</key>
+			<input>04BD52F4C1AB8DF4816A6E11F8B54452</input>
+			<output>DFA0074DEFEDB44D0D96AD6020D1A37D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 33</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>00AC6BF5E3AD20FFA6017142747FBA210A6108C61F28E18A</key>
+			<input>DFA0074DEFEDB44D0D96AD6020D1A37D</input>
+			<output>5AB15057E05F73FAAF12C0EC26D3F02F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 34</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E3A70EBF3D9167AAFCB021159420C9DBA573C82A39FB11A5</key>
+			<input>5AB15057E05F73FAAF12C0EC26D3F02F</input>
+			<output>6ECC2F23AB7854E97F215C52EF1E62E0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 35</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>CBCD9116DC78FA64927C0E363F589D32DA529478D6E57345</key>
+			<input>6ECC2F23AB7854E97F215C52EF1E62E0</input>
+			<output>930B3EBDE0989049056022E83FC9EF1E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 36</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>FBB5E5462DE715180177308BDFC00D7BDF32B690E92C9C5B</key>
+			<input>930B3EBDE0989049056022E83FC9EF1E</input>
+			<output>1EE4ABB9ACD70B93A83BCD8751F858DE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 37</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E5D2B1ACD8BE6DF21F939B32731706E877097B17B8D4C485</key>
+			<input>1EE4ABB9ACD70B93A83BCD8751F858DE</input>
+			<output>FCAC610EA0D309C6D36EED5A4BC04036</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 38</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>54DD0B6CB083BDE8E33FFA3CD3C40F2EA467964DF31484B3</key>
+			<input>FCAC610EA0D309C6D36EED5A4BC04036</input>
+			<output>161D5EE8F50A3F69A11ADFEAF1A2A2AA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 39</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>28309F7EB99AAEE1F522A4D426CE3047057D49A702B62619</key>
+			<input>161D5EE8F50A3F69A11ADFEAF1A2A2AA</input>
+			<output>D9D365B061D2F3BF9DF94181837621B4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 40</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E55ECDDFAE95A2C92CF1C164471CC3F89884082681C007AD</key>
+			<input>D9D365B061D2F3BF9DF94181837621B4</input>
+			<output>938647A6AAD455D89A6DFEFE60D62331</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 41</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C9CEE1C9D89DF76ABF7786C2EDC8962002E9F6D8E116249C</key>
+			<input>938647A6AAD455D89A6DFEFE60D62331</input>
+			<output>06A002DDC7DC4F22F9B1D5734C312AAA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 42</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>B26709109B66C916B9D7841F2A14D902FB5823ABAD270E36</key>
+			<input>06A002DDC7DC4F22F9B1D5734C312AAA</input>
+			<output>BB45E9BE2237E3288F56EDD0D9AD6734</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 43</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>2FAD2FF32E10680502926DA108233A2A740ECE7B748A6902</key>
+			<input>BB45E9BE2237E3288F56EDD0D9AD6734</input>
+			<output>CF5A1338F5FA7ED4C77F6EA3836F079A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 44</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>63D3D62540C790D1CDC87E99FDD944FEB371A0D8F7E56E98</key>
+			<input>CF5A1338F5FA7ED4C77F6EA3836F079A</input>
+			<output>32F2D628117ADB46383FC101B58E95A6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 45</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>0DF38CE71CF26A19FF3AA8B1ECA39FB88B4E61D9426BFB3E</key>
+			<input>32F2D628117ADB46383FC101B58E95A6</input>
+			<output>3A3CCEA99D43887AC64498AB4EFC87DD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 46</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7EEEB78A0C9BAA9FC506661871E017C24D0AF9720C977CE3</key>
+			<input>3A3CCEA99D43887AC64498AB4EFC87DD</input>
+			<output>787DC1C632C4AA77D42324338C510146</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 47</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>4DF02EE427AE29A1BD7BA7DE4324BDB59929DD4180C67DA5</key>
+			<input>787DC1C632C4AA77D42324338C510146</input>
+			<output>BB0635A471D26B80E5E387E4F14A1626</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 48</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>D6983F5E8BE728D9067D927A32F6D6357CCA5AA5718C6B83</key>
+			<input>BB0635A471D26B80E5E387E4F14A1626</input>
+			<output>14A9AA3EE6343C2D57E0F2ED7A05DC0D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 49</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>BD84A7CD471613B512D43844D4C2EA182B2AA8480B89B78E</key>
+			<input>14A9AA3EE6343C2D57E0F2ED7A05DC0D</input>
+			<output>25E254AD6C33908BC07B3DEC4052F549</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 50</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E54A2146242AADFB37366CE9B8F17A93EB5195A44BDB42C7</key>
+			<input>25E254AD6C33908BC07B3DEC4052F549</input>
+			<output>10E09F426E6F33CD21DF1EB748A46088</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 51</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>0517B745BCE24E0527D6F3ABD69E495ECA8E8B13037F224F</key>
+			<input>10E09F426E6F33CD21DF1EB748A46088</input>
+			<output>B65D2FFE83F9469AA2B1ABC559EAAB87</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 52</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>8297790C75E8931C918BDC5555670FC4683F20D65A9589C8</key>
+			<input>B65D2FFE83F9469AA2B1ABC559EAAB87</input>
+			<output>E743F6441CCF9703FF4B8E3F4921ACDF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 53</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7EC47C0C5663CD4C76C82A1149A898C79774AEE913B42517</key>
+			<input>E743F6441CCF9703FF4B8E3F4921ACDF</input>
+			<output>BECC5CF2F2C62A9E7D3CF979A9E96F94</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 54</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>FBB1F10529FABEB3C80476E3BB6EB259EA485790BA5D4A83</key>
+			<input>BECC5CF2F2C62A9E7D3CF979A9E96F94</input>
+			<output>3718199958EAA473B980B95F9C76E03F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 55</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>EE4113D30720269DFF1C6F7AE384162A53C8EECF262BAABC</key>
+			<input>3718199958EAA473B980B95F9C76E03F</input>
+			<output>D15525B8BBB6D209E0BB3B6F5ACB2556</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 56</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>488286944DC6B0842E494AC25832C423B373D5A07CE08FEA</key>
+			<input>D15525B8BBB6D209E0BB3B6F5ACB2556</input>
+			<output>0270AF07DDA52DF7CA7B0EE7DF098A80</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 57</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A32A880A84E7EDB82C39E5C58597E9D47908DB47A3E9056A</key>
+			<input>0270AF07DDA52DF7CA7B0EE7DF098A80</input>
+			<output>2D380F99A182CD14CFFEF5E88B93B416</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 58</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>DBD0FD5053BC52C60101EA5C241524C0B6F62EAF287AB17C</key>
+			<input>2D380F99A182CD14CFFEF5E88B93B416</input>
+			<output>47FE8C67DCBC616E4C984D323EA4A45B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 59</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>D79F78A4726F5FCA46FF663BF8A945AEFA6E639D16DE1527</key>
+			<input>47FE8C67DCBC616E4C984D323EA4A45B</input>
+			<output>FA595C69C3286771FB8C921DFBBFFC2E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 60</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>0C88AAD46F951FB6BCA63A523B8122DF01E2F180ED61E909</key>
+			<input>FA595C69C3286771FB8C921DFBBFFC2E</input>
+			<output>8FA64C511FCE6FC987B327D12EBDADAD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 61</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>762EEA21D382067E33007603244F4D168651D651C3DC44A4</key>
+			<input>8FA64C511FCE6FC987B327D12EBDADAD</input>
+			<output>8F52C709508408B40C241FD38E515E76</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 62</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>EA05788C20FB364EBC52B10A74CB45A28A75C9824D8D1AD2</key>
+			<input>8F52C709508408B40C241FD38E515E76</input>
+			<output>7CFD332B306684AC92279CE06F1287D8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 63</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>D4B2582B094D874DC0AF822144ADC10E18525562229F9D0A</key>
+			<input>7CFD332B306684AC92279CE06F1287D8</input>
+			<output>0DA14F6619665E0128044355481BD658</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 64</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C080E7033FDF1BCFCD0ECD475DCB9F0F305616376A844B52</key>
+			<input>0DA14F6619665E0128044355481BD658</input>
+			<output>FEDEBE73AA4047AF27E86A8B9E8E2ED7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 65</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C5BA9667999CF2D633D07334F78BD8A017BE7CBCF40A6585</key>
+			<input>FEDEBE73AA4047AF27E86A8B9E8E2ED7</input>
+			<output>12CD6896129E376AAB9C0E980F3B7CD2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 66</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>65FF092A539C4600211D1BA2E515EFCABC227224FB311957</key>
+			<input>12CD6896129E376AAB9C0E980F3B7CD2</input>
+			<output>04E7939B352F7B5C38B7EC5784EC78C2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 67</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>F98E7062F9EBE61C25FA8839D03A949684959E737FDD6195</key>
+			<input>04E7939B352F7B5C38B7EC5784EC78C2</input>
+			<output>0184996278A57E36E608E95616C46964</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 68</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>306FBEFB3BF4E241247E115BA89FEAA0629D7725691908F1</key>
+			<input>0184996278A57E36E608E95616C46964</input>
+			<output>92179E392E05C8B96A0CFAC36109B09E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 69</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>EE641F5DB58F9057B6698F62869A221908918DE60810B86F</key>
+			<input>92179E392E05C8B96A0CFAC36109B09E</input>
+			<output>7F197B01172C809635198E6B156D13BC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 70</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>EADB8B255F98FD9DC970F46391B6A28F3D88038D1D7DABD3</key>
+			<input>7F197B01172C809635198E6B156D13BC</input>
+			<output>46F6DD79AD079DCFBC451B24ECDDA4FA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 71</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>47225D75FE68FFA08F86291A3CB13F4081CD18A9F1A00F29</key>
+			<input>46F6DD79AD079DCFBC451B24ECDDA4FA</input>
+			<output>B5DAA09E3545F92FF44176187A1F9179</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 72</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7CDECC21E72E54F43A5C898409F4C66F758C6EB18BBF9E50</key>
+			<input>B5DAA09E3545F92FF44176187A1F9179</input>
+			<output>F51A35F3DD410132EEC9E9F22A6F6FAB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 73</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>75D1AAFDBFE72C94CF46BC77D4B5C75D9B458743A1D0F1FB</key>
+			<input>F51A35F3DD410132EEC9E9F22A6F6FAB</input>
+			<output>D1CC6D95B58793C342CF14AF250D5E40</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 74</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>41874C54BD58757A1E8AD1E26132549ED98A93EC84DDAFBB</key>
+			<input>D1CC6D95B58793C342CF14AF250D5E40</input>
+			<output>A1FAB3B352A887A829357528FED4B80E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 75</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>1D94704F4A51A5CABF706251339AD336F0BFE6C47A0917B5</key>
+			<input>A1FAB3B352A887A829357528FED4B80E</input>
+			<output>CBC6473B3AA4DE2D64EED554CA241EAC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 76</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A41B52E0AE7E568074B6256A093E0D1B94513390B02D0919</key>
+			<input>CBC6473B3AA4DE2D64EED554CA241EAC</input>
+			<output>19DC6E89D71DCE5DCECD1A6F85C3FBD6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 77</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>85F21BCD70691F596D6A4BE3DE23C3465A9C29FF35EEF2CF</key>
+			<input>19DC6E89D71DCE5DCECD1A6F85C3FBD6</input>
+			<output>EC6974E51B21F26A100E66183C68FD15</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 78</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>CAD0B254A88B669681033F06C502312C4A924FE709860FDA</key>
+			<input>EC6974E51B21F26A100E66183C68FD15</input>
+			<output>A16B6F78009B6E30CB758E87AD4D8034</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 79</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>8AC49B19582BFCF32068507EC5995F1C81E7C160A4CB8FEE</key>
+			<input>A16B6F78009B6E30CB758E87AD4D8034</input>
+			<output>CB5C20AAFA898193BC34FF3EE460B313</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 80</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>988F8D4F3A66AC99EB3470D43F10DE8F3DD33E5E40AB3CFD</key>
+			<input>CB5C20AAFA898193BC34FF3EE460B313</input>
+			<output>397F92C8E69E0916E30DC6889779799E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 81</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>DE2D26C6130E006ED24BE21CD98ED799DEDEF8D6D7D24563</key>
+			<input>397F92C8E69E0916E30DC6889779799E</input>
+			<output>9A9CBD9380E2187855CAE5A73D58480F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 82</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>BF6BE6D55C04977348D75F8F596CCFE18B141D71EA8A0D6C</key>
+			<input>9A9CBD9380E2187855CAE5A73D58480F</input>
+			<output>B67B360EE0FF297D3662F5B7CDB82CB9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 83</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>6582BCA895FA1221FEAC6981B993E69CBD76E8C6273221D5</key>
+			<input>B67B360EE0FF297D3662F5B7CDB82CB9</input>
+			<output>2D146ED9236082D2D71810969A1AB1FB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 84</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>6AC68BB8BBC7F520D3B807589AF3644E6A6EF850BD28902E</key>
+			<input>2D146ED9236082D2D71810969A1AB1FB</input>
+			<output>4B9F55652C40B6DA963A98D875ADACE4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 85</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>180DAB1B14A92DB29827523DB6B3D294FC546088C8853CCA</key>
+			<input>4B9F55652C40B6DA963A98D875ADACE4</input>
+			<output>FC0A8A3D511F5FAFF0A3DD13B49E5A13</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 86</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7ABD7440D5EE5FE2642DD800E7AC8D3B0CF7BD9B7C1B66D9</key>
+			<input>FC0A8A3D511F5FAFF0A3DD13B49E5A13</input>
+			<output>4231C02AD3231C3EB7AEB9135B95AC4B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 87</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>54ACAE182B5FDACF261C182A348F9105BB590488278ECA92</key>
+			<input>4231C02AD3231C3EB7AEB9135B95AC4B</input>
+			<output>4C3A949ACCCBB55F9415C81B1413FD9D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 88</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>015706F99E81CC026A268CB0F844245A2F4CCC93339D370F</key>
+			<input>4C3A949ACCCBB55F9415C81B1413FD9D</input>
+			<output>E9B1CEAF77B64A88CC3E020B16E1BF7E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 89</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>929BD0A1CC6450E78397421F8FF26ED2E372CE98257C8871</key>
+			<input>E9B1CEAF77B64A88CC3E020B16E1BF7E</input>
+			<output>98FFEA0827068CB0B508CA520D8B43F7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 90</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>9B81EC47D8442D311B68A817A8F4E262567A04CA28F7CB86</key>
+			<input>98FFEA0827068CB0B508CA520D8B43F7</input>
+			<output>BEDA572C3CA3FEF97F7071DA35414EA1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 91</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>93B211B869CBECCBA5B2FF3B94571C9B290A75101DB68527</key>
+			<input>BEDA572C3CA3FEF97F7071DA35414EA1</input>
+			<output>35E8CB8302748C8623A09980909FB516</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 92</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>BC5320E4025EB960905A34B89623901D0AAAEC908D293031</key>
+			<input>35E8CB8302748C8623A09980909FB516</input>
+			<output>E136148B2FA5AF5CD3F8BC3883566CB8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 93</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C4EC937F948D0B5A716C2033B9863F41D95250A80E7F5C89</key>
+			<input>E136148B2FA5AF5CD3F8BC3883566CB8</input>
+			<output>B7CE40E3E3D30191CDF4AB5BE98F347A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 94</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>6D381856C149D9DCC6A260D05A553ED014A6FBF3E7F068F3</key>
+			<input>B7CE40E3E3D30191CDF4AB5BE98F347A</input>
+			<output>A821E934DAAE37FF3136E769DAC315FB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 95</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A3679C5957C656DE6E8389E480FB092F25901C9A3D337D08</key>
+			<input>A821E934DAAE37FF3136E769DAC315FB</input>
+			<output>4227B96A0CC6CA1C21BCF8B1ADB3BDE1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 96</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>BE7112453B1DF3EC2CA4308E8C3DC333042CE42B9080C0E9</key>
+			<input>4227B96A0CC6CA1C21BCF8B1ADB3BDE1</input>
+			<output>EE36BBFDDF19165F9E64AE79B4CF06A9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 97</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>AEA4A2D5CD0A2FC7C2928B735324D56C9A484A52244FC640</key>
+			<input>EE36BBFDDF19165F9E64AE79B4CF06A9</input>
+			<output>C3DFE088C6767BC939F492C1FA9604CD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 98</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A16FC5F22F03984F014D6BFB9552AEA5A3BCD893DED9C28D</key>
+			<input>C3DFE088C6767BC939F492C1FA9604CD</input>
+			<output>DB1202E468119D977868F6E294E3CC3A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 99</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A4E0565DD419BDD1DA5F691FFD433332DBD42E714A3A0EB7</key>
+			<input>DB1202E468119D977868F6E294E3CC3A</input>
+			<output>6F2F682BA4F95EB8C5B883C7660B2653</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 100</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>3CAEE44D0E85058EB570013459BA6D8A1E6CADB62C3128E4</key>
+			<input>6F2F682BA4F95EB8C5B883C7660B2653</input>
+			<output>1036B4AA6C897D36DFE6658A953E5075</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 101</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>4E883A500CA89963A546B59E353310BCC18AC83CB90F7891</key>
+			<input>1036B4AA6C897D36DFE6658A953E5075</input>
+			<output>04FCB3A81E5319A16CCF212719906229</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 102</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>ADED5A405C5C095AA1BA06362B60091DAD45E91BA09F1AB8</key>
+			<input>04FCB3A81E5319A16CCF212719906229</input>
+			<output>CD79BAC069BB58605D43005B927816E5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 103</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>5499B441405D16B06CC3BCF642DB517DF006E94032E70C5D</key>
+			<input>CD79BAC069BB58605D43005B927816E5</input>
+			<output>DB5B3C625D1F66CF28A86CC100472398</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 104</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>D31221246382CA8EB79880941FC437B2D8AE858132A02FC5</key>
+			<input>DB5B3C625D1F66CF28A86CC100472398</input>
+			<output>D8732A2C16EC6AE202371AF03A6F91E8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 105</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>CDF928E97051F08B6FEBAAB809285D50DA999F7108CFBE2D</key>
+			<input>D8732A2C16EC6AE202371AF03A6F91E8</input>
+			<output>F0A1A353A8AB9A893F621F0BEA3B4F01</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 106</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>10CC2EED0ECBD1E69F4A09EBA183C7D9E5FB807AE2F4F12C</key>
+			<input>F0A1A353A8AB9A893F621F0BEA3B4F01</input>
+			<output>27E4451BD15E43F301E138713DC12E78</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 107</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>03C4F5E1FD3D34D1B8AE4CF070DD842AE41AB80BDF35DF54</key>
+			<input>27E4451BD15E43F301E138713DC12E78</input>
+			<output>C7FA931DA414CB37A9BDB6F128E082EE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 108</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>CC5D7D36D085E3257F54DFEDD4C94F1D4DA70EFAF7D55DBA</key>
+			<input>C7FA931DA414CB37A9BDB6F128E082EE</input>
+			<output>A6777D51A0A1C94DD74A18795341015F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 109</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>9F4EE4750FF3F53AD923A2BC746886509AED1683A4945CE5</key>
+			<input>A6777D51A0A1C94DD74A18795341015F</input>
+			<output>32A4D930A5597E02D7076E399D18D895</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 110</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>8525417BB6D8095BEB877B8CD131F8524DEA78BA398C8470</key>
+			<input>32A4D930A5597E02D7076E399D18D895</input>
+			<output>1B78FCF274EEB1E597998EE4EFFF9F8B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 111</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>54EFA98071F1EF62F0FF877EA5DF49B7DA73F65ED6731BFB</key>
+			<input>1B78FCF274EEB1E597998EE4EFFF9F8B</input>
+			<output>2997FEE2823CC84DA14E8439449F5C7C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 112</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>2505931CE4D41D16D968799C27E381FA7B3D726792EC4787</key>
+			<input>2997FEE2823CC84DA14E8439449F5C7C</input>
+			<output>810534A9E8DB2808FEE681B13C04411D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 113</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C2DF863BEB4F27AB586D4D35CF38A9F285DBF3D6AEE8069A</key>
+			<input>810534A9E8DB2808FEE681B13C04411D</input>
+			<output>BE2380994365F1D7FC8278E86C8B497D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 114</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>036C0C95D0C26B66E64ECDAC8C5D582579598B3EC2634FE7</key>
+			<input>BE2380994365F1D7FC8278E86C8B497D</input>
+			<output>EFEC3977D5A21DC4AC786E786CA3ECE9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 115</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>BD05AD63A0A9F1B509A2F4DB59FF45E1D521E546AEC0A30E</key>
+			<input>EFEC3977D5A21DC4AC786E786CA3ECE9</input>
+			<output>22A7280D8231895EA4F0B6A39AC583C3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 116</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A16DFA00981597B42B05DCD6DBCECCBF71D153E5340520CD</key>
+			<input>22A7280D8231895EA4F0B6A39AC583C3</input>
+			<output>0CC61E91B3CBCD0E190D52059E27647A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 117</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>ABC1AD453235832727C3C247680501B168DC01E0AA2244B7</key>
+			<input>0CC61E91B3CBCD0E190D52059E27647A</input>
+			<output>5CE91F77F7C8F0AB1BBA802D2FFF0E9B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 118</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>64D40ACA0F526EC67B2ADD309FCDF11A736681CD85DD4A2C</key>
+			<input>5CE91F77F7C8F0AB1BBA802D2FFF0E9B</input>
+			<output>255459BE5A27E08942A049F6EC44582E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 119</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>8BB5C7D8B2B177855E7E848EC5EA119331C6C83B69991202</key>
+			<input>255459BE5A27E08942A049F6EC44582E</input>
+			<output>28E2E20115C3665D9D88CB74681301EA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 120</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>4E30FCC4C182F471769C668FD02977CEAC4E034F018A13E8</key>
+			<input>28E2E20115C3665D9D88CB74681301EA</input>
+			<output>2E96E6BBCD999F4B1507C7EC9E4B8430</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 121</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>906B361E9D72E107580A80341DB0E885B949C4A39FC197D8</key>
+			<input>2E96E6BBCD999F4B1507C7EC9E4B8430</input>
+			<output>03DED0A95164E5FA215E9C49C433E95B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 122</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>F656F5D9D973C02C5BD4509D4CD40D7F981758EA5BF27E83</key>
+			<input>03DED0A95164E5FA215E9C49C433E95B</input>
+			<output>AD9C16D2567B73FCA4866FE16CF09CDA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 123</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>8811A4ACDF37A140F648464F1AAF7E833C91370B3702E259</key>
+			<input>AD9C16D2567B73FCA4866FE16CF09CDA</input>
+			<output>68539BFF0F8CC23A0A3267796A11B75C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 124</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E5AF2E8CDBAD01589E1BDDB01523BCB936A350725D135505</key>
+			<input>68539BFF0F8CC23A0A3267796A11B75C</input>
+			<output>B15F623E5A7D73452A419EB04AFCF72E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 125</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C9E743CAD731A62E2F44BF8E4F5ECFFC1CE2CEC217EFA22B</key>
+			<input>B15F623E5A7D73452A419EB04AFCF72E</input>
+			<output>520142AFDA69E9CFA98D8DD59CCB12BC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 126</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>6CF6C656FFBB77807D45FD2195372633B56F43178B24B097</key>
+			<input>520142AFDA69E9CFA98D8DD59CCB12BC</input>
+			<output>7EC2A8430F23A5E183E0032DAB5232C5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 127</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>772CEE9F934D57D4038755629A1483D2368F403A20768252</key>
+			<input>7EC2A8430F23A5E183E0032DAB5232C5</input>
+			<output>E5E3A5D968B1FF774B55CCA06BE3BD65</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 128</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>9A4DAB93F3C74EBBE664F0BBF2A57CA57DDA8C9A4B953F37</key>
+			<input>E5E3A5D968B1FF774B55CCA06BE3BD65</input>
+			<output>9608643D0A34DA28372A7E7E34427E1B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 129</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>EF0F60BCBA3374E0706C9486F891A68D4AF0F2E47FD7412C</key>
+			<input>9608643D0A34DA28372A7E7E34427E1B</input>
+			<output>B22BD410584F29610801B18EDAB1BD19</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 130</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>DE013A6C3440AFF3C2474096A0DE8FEC42F1436AA566FC35</key>
+			<input>B22BD410584F29610801B18EDAB1BD19</input>
+			<output>ADEC4519F1A7AD74BCCECABEDCF20D73</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 131</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>2B5B547A934A5A376FAB058F51792298FE3F89D47994F146</key>
+			<input>ADEC4519F1A7AD74BCCECABEDCF20D73</input>
+			<output>E04D4FF54191BEEEF5B295A32DA2ADE5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 132</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>BF356F2FFC2C538F8FE64A7A10E89C760B8D1C7754365CA3</key>
+			<input>E04D4FF54191BEEEF5B295A32DA2ADE5</input>
+			<output>3F9531EDD5072F7A9F2A62ECC2CCE50A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 133</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7CEBD7310CC4791AB0737B97C5EFB30C94A77E9B96FAB9A9</key>
+			<input>3F9531EDD5072F7A9F2A62ECC2CCE50A</input>
+			<output>C3DC95781FAE7BB6C02BD08B3617DDF1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 134</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>192741D2AB9C887673AFEEEFDA41C8BA548CAE10A0ED6458</key>
+			<input>C3DC95781FAE7BB6C02BD08B3617DDF1</input>
+			<output>F69B837F168B9A9E637E7357B65F2B60</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 135</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>38552740A79FB5BF85346D90CCCA522437F2DD4716B24F38</key>
+			<input>F69B837F168B9A9E637E7357B65F2B60</input>
+			<output>40DCDF58E7EFDD62C114A83F8AC898BB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 136</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A0AED2C07C2168B6C5E8B2C82B258F46F6E675789C7AD783</key>
+			<input>40DCDF58E7EFDD62C114A83F8AC898BB</input>
+			<output>27F78F3BD8E04A8646EBF364155A71ED</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 137</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>2B4FAEBF17993E12E21F3DF3F3C5C5C0B00D861C8920A66E</key>
+			<input>27F78F3BD8E04A8646EBF364155A71ED</input>
+			<output>F305DFC8EAD44E786F59B0551C7104F5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 138</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>96819F6E9738209F111AE23B19118BB8DF5436499551A29B</key>
+			<input>F305DFC8EAD44E786F59B0551C7104F5</input>
+			<output>2E47F833BE7C06ED1E42AC11366F4BEF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 139</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>AAEA16BAC3E84DD73F5D1A08A76D8D55C1169A58A33EE974</key>
+			<input>2E47F833BE7C06ED1E42AC11366F4BEF</input>
+			<output>A9D3A511C3D76779B607AAB2556823AD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 140</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>F66BA47C56AC5A36968EBF1964BAEA2C771130EAF656CAD9</key>
+			<input>A9D3A511C3D76779B607AAB2556823AD</input>
+			<output>153A7CC2387C05289F759C85076CDD88</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 141</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>1D892BCCFAF3DA1083B4C3DB5CC6EF04E864AC6FF13A1751</key>
+			<input>153A7CC2387C05289F759C85076CDD88</input>
+			<output>76B6089030D914F0F4C6078193207A7D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 142</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>DAEBAF980095A397F502CB4B6C1FFBF41CA2ABEE621A6D2C</key>
+			<input>76B6089030D914F0F4C6078193207A7D</input>
+			<output>EB71D127848BA397451D45801830461E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 143</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>85F86FADA92076AB1E731A6CE894586359BFEE6E7A2A2B32</key>
+			<input>EB71D127848BA397451D45801830461E</input>
+			<output>B79D9BE1B2DB808B412413C203C710DF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 144</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>BEADDA5CE1E7F3D4A9EE818D5A4FD8E8189BFDAC79ED3BED</key>
+			<input>B79D9BE1B2DB808B412413C203C710DF</input>
+			<output>E6423467C3CA69D94C944FA2A97BB61F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 145</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>D4664C8DCFA8304D4FACB5EA9985B131540FB20ED0968DF2</key>
+			<input>E6423467C3CA69D94C944FA2A97BB61F</input>
+			<output>18EFF53B7D62A9D9ED8AB9ABE67FC110</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 146</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>9CCF1EEAF55FEA5A574340D1E4E718E8B9850BA536E94CE2</key>
+			<input>18EFF53B7D62A9D9ED8AB9ABE67FC110</input>
+			<output>8E6A4AC577153D806ED71A07319CAB67</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 147</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7D840184CB9D3A05D9290A1493F22568D75211A20775E785</key>
+			<input>8E6A4AC577153D806ED71A07319CAB67</input>
+			<output>B7B23D8E7D344F39B3EA0D67CCF37377</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 148</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>D72F35B6DD825B656E9B379AEEC66A5164B81CC5CB8694F2</key>
+			<input>B7B23D8E7D344F39B3EA0D67CCF37377</input>
+			<output>3385AD0503AF68BFBFBEAA89B1C87736</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 149</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>48335F06D7C27C955D1E9A9FED6902EEDB06B64C7A4EE3C4</key>
+			<input>3385AD0503AF68BFBFBEAA89B1C87736</input>
+			<output>9FC40A6B984BEEC182AB650B05CEF38C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 150</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A66149286535FD6EC2DA90F47522EC2F59ADD3477F801048</key>
+			<input>9FC40A6B984BEEC182AB650B05CEF38C</input>
+			<output>4CEC52C9DE143486DFC9D098637DFBB5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 151</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7EA78450FAEEF8BF8E36C23DAB36D8A9866403DF1CFDEBFD</key>
+			<input>4CEC52C9DE143486DFC9D098637DFBB5</input>
+			<output>EB8E40333ACD18EFB04DC0A857DDCD7A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 152</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>197DDF842BAEF36E65B8820E91FBC0463629C3774B202687</key>
+			<input>EB8E40333ACD18EFB04DC0A857DDCD7A</input>
+			<output>F1AFF04058F819B0F191398C8022130F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 153</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>D68841CF848B0F619417724EC903D9F6C7B8FAFBCB023588</key>
+			<input>F1AFF04058F819B0F191398C8022130F</input>
+			<output>6DF4A95D8D602C0E53F5A5C350D3EB64</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 154</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>6DFA0F7B01A2F011F9E3DB134463F5F8944D5F389BD1DEEC</key>
+			<input>6DF4A95D8D602C0E53F5A5C350D3EB64</input>
+			<output>057D8F9BE9260BB3A0382CD2EF7D1FCA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 155</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>88227C4AD1CBC8F0FC9E5488AD45FE4B347573EA74ACC126</key>
+			<input>057D8F9BE9260BB3A0382CD2EF7D1FCA</input>
+			<output>D4EDACCB9B7B35F2A0690E22C91E25AE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 156</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>848B8E3213D366B22873F843363ECBB9941C7DC8BDB2E488</key>
+			<input>D4EDACCB9B7B35F2A0690E22C91E25AE</input>
+			<output>A2F61B5BDD9F580B26C329B878BAFA3C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 157</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>FA3A476D1C6E33FD8A85E318EBA193B2B2DF5470C5081EB4</key>
+			<input>A2F61B5BDD9F580B26C329B878BAFA3C</input>
+			<output>5A0616880CD40B72B58CF268EC8F934B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 158</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C9F77D58F58D5FEDD083F590E77598C00753A61829878DFF</key>
+			<input>5A0616880CD40B72B58CF268EC8F934B</input>
+			<output>0E42047D7EDE2A5FBB37767A69A45B9B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 159</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>00A523C700FBB663DEC1F1ED99ABB29FBC64D0624023D664</key>
+			<input>0E42047D7EDE2A5FBB37767A69A45B9B</input>
+			<output>2AFA823A10BB436A7B00816C80A52711</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 160</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>660275323A59E807F43B73D78910F1F5C764510EC086F175</key>
+			<input>2AFA823A10BB436A7B00816C80A52711</input>
+			<output>B2406F3F9160E25DF7C9AA81AF6EB449</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 161</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>47A4FCDB97D4A383467B1CE8187013A830ADFB8F6FE8453C</key>
+			<input>B2406F3F9160E25DF7C9AA81AF6EB449</input>
+			<output>B1E01D2A401495F8DDAEAB7B04BEB23D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 162</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>2BDD5B54D4EB236AF79B01C258648650ED0350F46B56F701</key>
+			<input>B1E01D2A401495F8DDAEAB7B04BEB23D</input>
+			<output>390572A9ECE28A0E0BBDC729DBE5F79A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 163</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>328202460B65D004CE9E736BB4860C5EE6BE97DDB0B3009B</key>
+			<input>390572A9ECE28A0E0BBDC729DBE5F79A</input>
+			<output>5D41665811702124C597DB4E3BD950E1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 164</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>94457C0A759DF4E993DF1533A5F62D7A23294C938B6A507A</key>
+			<input>5D41665811702124C597DB4E3BD950E1</input>
+			<output>689EB1CB1586D127696E8725DEE49E58</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 165</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>4E0226CA850DDC79FB41A4F8B070FC5D4A47CBB6558ECE22</key>
+			<input>689EB1CB1586D127696E8725DEE49E58</input>
+			<output>A2D9DF62AC8BF8A93E7A954416864052</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 166</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>659C817A1C10A24D59987B9A1CFB04F4743D5EF243088E70</key>
+			<input>A2D9DF62AC8BF8A93E7A954416864052</input>
+			<output>507835696F1920BD4A05797563DF5769</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 167</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>92192D9175187FB409E04EF373E224493E38278720D7D919</key>
+			<input>507835696F1920BD4A05797563DF5769</input>
+			<output>2070413F5103482B6C83129304E5AC87</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 168</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>6959063FBA59CCEC29900FCC22E16C6252BB35142432759E</key>
+			<input>2070413F5103482B6C83129304E5AC87</input>
+			<output>BF7FD1E21B41B1F1C2625C1097F1BCB8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 169</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>5722993710D811B196EFDE2E39A0DD9390D96904B3C3C926</key>
+			<input>BF7FD1E21B41B1F1C2625C1097F1BCB8</input>
+			<output>6E2236654F2999545F50FA9CF63F9F2E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 170</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>038FA98E7A226A9FF8CDE84B768944C7CF89939845FC5608</key>
+			<input>6E2236654F2999545F50FA9CF63F9F2E</input>
+			<output>3F370291CEDCB115C8EE409A8EEB46D6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 171</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>CACF0199725D5466C7FAEADAB855F5D20767D302CB1710DE</key>
+			<input>3F370291CEDCB115C8EE409A8EEB46D6</input>
+			<output>84023DB96D373EC8315AE78A3B7E82FB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 172</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7B40321CB11520D143F8D763D562CB1A363D3488F0699225</key>
+			<input>84023DB96D373EC8315AE78A3B7E82FB</input>
+			<output>C35064D82A3016FE2C2E2CC0627E7B5C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 173</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>F045CFEC2A6BC7E580A8B3BBFF52DDE41A1318489217E979</key>
+			<input>C35064D82A3016FE2C2E2CC0627E7B5C</input>
+			<output>D78DFFE87C0F95856C31A07BADA23084</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 174</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>86B3CA5F50CEF6C557254C53835D48617622B8333FB5D9FD</key>
+			<input>D78DFFE87C0F95856C31A07BADA23084</input>
+			<output>5B5B5D3CA5C6E5CF18F3E4EE802BE82B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 175</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E6D99DC0C58655B70C7E116F269BADAE6ED15CDDBF9E31D6</key>
+			<input>5B5B5D3CA5C6E5CF18F3E4EE802BE82B</input>
+			<output>DB65A82F6EB7A410A367165900E85117</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 176</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>B8F770CFBE47D070D71BB940482C09BECDB64A84BF7660C1</key>
+			<input>DB65A82F6EB7A410A367165900E85117</input>
+			<output>FE8BE8484D925043102238FF63FDAC57</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 177</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>FF09ADB06FE587192990510805BE59FDDD94727BDC8BCC96</key>
+			<input>FE8BE8484D925043102238FF63FDAC57</input>
+			<output>AC36E01A7AD482A8D89703D2A6528720</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 178</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>B5C937A4019CDAD185A6B1127F6ADB55050371A97AD94BB6</key>
+			<input>AC36E01A7AD482A8D89703D2A6528720</input>
+			<output>9F3698CE06C6497C89B58CA723F7ECAA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 179</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>F60CAF8FB99B63B21A9029DC79AC92298CB6FD0E592EA71C</key>
+			<input>9F3698CE06C6497C89B58CA723F7ECAA</input>
+			<output>FB8CE2E1D332FE4557B6C5CF1676F2FB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 180</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>B7CF2BABD58B5FDCE11CCB3DAA9E6C6CDB0038C14F5855E7</key>
+			<input>FB8CE2E1D332FE4557B6C5CF1676F2FB</input>
+			<output>A2631F612698318AD454E9DB10319DA6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 181</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>FD99B4137CAFC47F437FD45C8C065DE60F54D11A5F69C841</key>
+			<input>A2631F612698318AD454E9DB10319DA6</input>
+			<output>FCA42B332B5974EE6DFA54B54EC89AC7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 182</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>271CEEF189AD367DBFDBFF6FA75F290862AE85AF11A15286</key>
+			<input>FCA42B332B5974EE6DFA54B54EC89AC7</input>
+			<output>A70DBBDFCE54B8648C3FC4A8A58CCDF8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 183</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7B78F7ECC9B28EC718D644B0690B916CEE914107B42D9F7E</key>
+			<input>A70DBBDFCE54B8648C3FC4A8A58CCDF8</input>
+			<output>C90CE914F9310F9C3EE065DD95281A51</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 184</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>762F521ADF6C5F24D1DAADA4903A9EF0D07124DA2105852F</key>
+			<input>C90CE914F9310F9C3EE065DD95281A51</input>
+			<output>63E8430CE22F531E4A4D4583533F6FC4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 185</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A88A493EB3C28C49B232EEA87215CDEE9A3C6159723AEAEB</key>
+			<input>63E8430CE22F531E4A4D4583533F6FC4</input>
+			<output>E7562DC647910A052F4AFBF165A68A3A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 186</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>1C97343A60EE05035564C36E3584C7EBB5769AA8179C60D1</key>
+			<input>E7562DC647910A052F4AFBF165A68A3A</input>
+			<output>3E070B3F65FD01B49849513B556DB199</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 187</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C5110692100A332E6B63C8515079C65F2D3FCB9342F1D148</key>
+			<input>3E070B3F65FD01B49849513B556DB199</input>
+			<output>3DE5A45B2CAA4FAFAC3032F89F15195D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 188</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>D94D8CAA9EBD67F056866C0A7CD389F0810FF96BDDE4C815</key>
+			<input>3DE5A45B2CAA4FAFAC3032F89F15195D</input>
+			<output>A36A163E8806B1E053EBE439B0D1302F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 189</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>1C1D7A3E9358048CF5EC7A34F4D53810D2E41D526D35F83A</key>
+			<input>A36A163E8806B1E053EBE439B0D1302F</input>
+			<output>67CA4B988CCABA4E4DBEE6C387562762</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 190</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>9182E40D14973087922631AC781F825E9F5AFB91EA63DF58</key>
+			<input>67CA4B988CCABA4E4DBEE6C387562762</input>
+			<output>9F404F0E1A9FE5A988CE6E4A54FE9E23</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 191</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7D89ECFC0DCFFE0A0D667EA2628067F7179495DBBE9D417B</key>
+			<input>9F404F0E1A9FE5A988CE6E4A54FE9E23</input>
+			<output>D71EFD794457C71614E4266C77193444</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 192</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>AC7A11D29CDA0FB6DA7883DB26D7A0E10370B3B7C984753F</key>
+			<input>D71EFD794457C71614E4266C77193444</input>
+			<output>185DBF418A6834CD118B16EAF381F3CB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 193</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>1029D5FA3D38927EC2253C9AACBF942C12FBA55D3A0586F4</key>
+			<input>185DBF418A6834CD118B16EAF381F3CB</input>
+			<output>737A502DEE68DDFA3FEECD42ACE124EA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 194</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>F261B484C642750CB15F6CB742D749D62D15681F96E4A21E</key>
+			<input>737A502DEE68DDFA3FEECD42ACE124EA</input>
+			<output>FD11B0F356455913E892928B5B16946B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 195</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>BCCFAF05FF47A5EC4C4EDC44149210C5C587FA94CDF23675</key>
+			<input>FD11B0F356455913E892928B5B16946B</input>
+			<output>4B06F6D6D149BAF25D4C76E46EFF8571</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 196</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>1000A15983B73D6807482A92C5DBAA3798CB8C70A30DB304</key>
+			<input>4B06F6D6D149BAF25D4C76E46EFF8571</input>
+			<output>450713DA24492403C48CB16D2F39744E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 197</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>306F097E64B634AC424F3948E1928E345C473D1D8C34C74A</key>
+			<input>450713DA24492403C48CB16D2F39744E</input>
+			<output>998CA5E3C80B66EB11EAD376FA358A92</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 198</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>13965208C3EF77E1DBC39CAB2999E8DF4DADEE6B76014DD8</key>
+			<input>998CA5E3C80B66EB11EAD376FA358A92</input>
+			<output>F54A34F6F0833CA808D60A8F75BB0585</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 199</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>1A6DC3FDD0D1F97C2E89A85DD91AD477457BE4E403BA485D</key>
+			<input>F54A34F6F0833CA808D60A8F75BB0585</input>
+			<output>8760D5CBD1DA48807BAEAF7F781680F2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 200</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>228897B4E2F16967A9E97D9608C09CF73ED54B9B7BACC8AF</key>
+			<input>8760D5CBD1DA48807BAEAF7F781680F2</input>
+			<output>EF57DF7161E1BC0F7B466A50C576691A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 201</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>D0E8190E72A305C946BEA2E7692120F8459321CBBEDAA1B5</key>
+			<input>EF57DF7161E1BC0F7B466A50C576691A</input>
+			<output>E01ECA338A93EA38E43B2F364314C121</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 202</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>087F0486B80659F0A6A068D4E3B2CAC0A1A80EFDFDCE6094</key>
+			<input>E01ECA338A93EA38E43B2F364314C121</input>
+			<output>A7683273638D02272FF6A311BB94256F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 203</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>1D807E4730DDA3EB01C85AA7803FC8E78E5EADEC465A45FB</key>
+			<input>A7683273638D02272FF6A311BB94256F</input>
+			<output>1BCC3DF6B07BD2615C13E381F5F877C3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 204</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>D4D4F2780D52D7521A04675130441A86D24D4E6DB3A23238</key>
+			<input>1BCC3DF6B07BD2615C13E381F5F877C3</input>
+			<output>D1B3B793D1377E82A2DE5D46E53791FB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 205</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>86D08D85652DB662CBB7D0C2E17364047093132B5695A3C3</key>
+			<input>D1B3B793D1377E82A2DE5D46E53791FB</input>
+			<output>9AC7AF9B82621E18E4FF613EAA609F46</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 206</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C03996907AC99A7A51707F5963117A1C946C7215FCF53C85</key>
+			<input>9AC7AF9B82621E18E4FF613EAA609F46</input>
+			<output>57F3FA35A42C29F33DEC4671140264A4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 207</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>F8CA52D95C587EF80683856CC73D53EFA9803464E8F75821</key>
+			<input>57F3FA35A42C29F33DEC4671140264A4</input>
+			<output>A887ED8BF6C19F5012F317A4FCF3D7BF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 208</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>DE99CC8F9756C1DCAE0468E731FCCCBFBB7323C014048F9E</key>
+			<input>A887ED8BF6C19F5012F317A4FCF3D7BF</input>
+			<output>A29C8D764BCF211C789158A9B8EB330C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 209</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>9228DB1B61E0D8670C98E5917A33EDA3C3E27B69ACEFBC92</key>
+			<input>A29C8D764BCF211C789158A9B8EB330C</input>
+			<output>EB6AFD9B36315DB322EC8C4243043F50</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 210</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>24AFE14097C2A217E7F2180A4C02B010E10EF72BEFEB83C2</key>
+			<input>EB6AFD9B36315DB322EC8C4243043F50</input>
+			<output>05C8AC90CCD00E2A3809C68C11D6D65A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 211</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>32810943F9313BD0E23AB49A80D2BE3AD90731A7FE3D5598</key>
+			<input>05C8AC90CCD00E2A3809C68C11D6D65A</input>
+			<output>E39991B58C52154166AD09367B04C67A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 212</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>FBEC72A177254EA501A3252F0C80AB7BBFAA3891853993E2</key>
+			<input>E39991B58C52154166AD09367B04C67A</input>
+			<output>CBC8974F72F77A1821FC69B29FE2DB60</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 213</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C706D206DE538439CA6BB2607E77D1639E5651231ADB4882</key>
+			<input>CBC8974F72F77A1821FC69B29FE2DB60</input>
+			<output>1D08F4E2B8DFED1032B6CA5211B3E34C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 214</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>9A7EB0A4F8E67F87D7634682C6A83C73ACE09B710B68ABCE</key>
+			<input>1D08F4E2B8DFED1032B6CA5211B3E34C</input>
+			<output>1888CEC22449EFF96BDC2C7A242BBBDC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 215</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>70CA2CAD6A50D22BCFEB8840E2E1D38AC73CB70B2F431012</key>
+			<input>1888CEC22449EFF96BDC2C7A242BBBDC</input>
+			<output>032E6155677B6A72D7F94C7A9A9AA53F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 216</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>B16697FEA247CDB9CCC5E915859AB9F810C5FB71B5D9B52D</key>
+			<input>032E6155677B6A72D7F94C7A9A9AA53F</input>
+			<output>9B43BBD1C0CEBF7593E9BC0ABB626E96</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 217</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7A3E844BEB897A63578652C44554068D832C477B0EBBDBBB</key>
+			<input>9B43BBD1C0CEBF7593E9BC0ABB626E96</input>
+			<output>8D661E03C61C28D5786EBCEBE0D5B63D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 218</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E7A1B96EFC4D5FB5DAE04CC783482E58FB42FB90EE6E6D86</key>
+			<input>8D661E03C61C28D5786EBCEBE0D5B63D</input>
+			<output>F61D5DCBF8F2F3F0EAB387149790E079</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 219</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>0EDA761C06FBA0A02CFD110C7BBADDA811F17C8479FE8DFF</key>
+			<input>F61D5DCBF8F2F3F0EAB387149790E079</input>
+			<output>1F03E0957B6892533BBEAB06EB35AD4F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 220</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E242AD5B7141916133FEF19900D24FFB2A4FD78292CB20B0</key>
+			<input>1F03E0957B6892533BBEAB06EB35AD4F</input>
+			<output>BB9E7343035F88764B229D506E7ADC7B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 221</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>D901A6CF874A6A77886082DA038DC78D616D4AD2FCB1FCCB</key>
+			<input>BB9E7343035F88764B229D506E7ADC7B</input>
+			<output>3934EBF7AD2243C0D09734E30B41C0E4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 222</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>0F488E86E7D92F29B154692DAEAF844DB1FA7E31F7F03C2F</key>
+			<input>3934EBF7AD2243C0D09734E30B41C0E4</input>
+			<output>B9CE1A1A9595E7235F5B10FBA29ACCD2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 223</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A7E2CF991692247A089A73373B3A636EEEA16ECA556AF0FD</key>
+			<input>B9CE1A1A9595E7235F5B10FBA29ACCD2</input>
+			<output>624EBA65EE9E3E1BDF8C5AA7E1283A65</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 224</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>1DE03E09395E56CE6AD4C952D5A45D75312D346DB442CA98</key>
+			<input>624EBA65EE9E3E1BDF8C5AA7E1283A65</input>
+			<output>375132E5F47DA19E80CC8652BE5A3692</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 225</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>51B6813629EFE53C5D85FBB721D9FCEBB1E1B23F0A18FC0A</key>
+			<input>375132E5F47DA19E80CC8652BE5A3692</input>
+			<output>8165A4126FE75EFC6AFF7BFD732F94A6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 226</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>8DD50DFF93624339DCE05FA54E3EA217DB1EC9C2793768AC</key>
+			<input>8165A4126FE75EFC6AFF7BFD732F94A6</input>
+			<output>35012FABD289E6B7FB07946591D18F0D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 227</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C7A4F75CB74C7F3DE9E1700E9CB744A020195DA7E8E6E7A1</key>
+			<input>35012FABD289E6B7FB07946591D18F0D</input>
+			<output>C26F37D700677ED72F4FC2C8F6AEADE2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 228</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>198B572CD0E711352B8E47D99CD03A770F569F6F1E484A43</key>
+			<input>C26F37D700677ED72F4FC2C8F6AEADE2</input>
+			<output>CB29ECE41596736B72AED2460AEEFBA2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 229</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>0A1FB41CA720E357E0A7AB3D8946491C7DF84D2914A6B1E1</key>
+			<input>CB29ECE41596736B72AED2460AEEFBA2</input>
+			<output>7F7BD6FAF9C37D5522A3BF480CCEBF20</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 230</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7E383601899DEA729FDC7DC7708534495F5BF26118680EC1</key>
+			<input>7F7BD6FAF9C37D5522A3BF480CCEBF20</input>
+			<output>C501E371005DF57E0037F41A744D026F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 231</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>13ACF410865B41E15ADD9EB670D8C1375F6C067B6C250CAE</key>
+			<input>C501E371005DF57E0037F41A744D026F</input>
+			<output>624EF8749580108CDC7A020179F81D0F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 232</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>75F025072AA2406F389366C2E558D1BB8316047A15DD11A1</key>
+			<input>624EF8749580108CDC7A020179F81D0F</input>
+			<output>40D72550603522C67180DE6EC3D30139</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 233</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C5ED76F88EA65C3D78444392856DF37DF296DA14D60E1098</key>
+			<input>40D72550603522C67180DE6EC3D30139</input>
+			<output>96C6F647AFB90F804431F9E2F1780F29</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 234</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E827DFF88D0B1A43EE82B5D52AD4FCFDB6A723F627761FB1</key>
+			<input>96C6F647AFB90F804431F9E2F1780F29</input>
+			<output>CCB934A501DDAD11E994938A214EB189</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 235</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>F0777D1BFF12EE42223B81702B0951EC5F33B07C0638AE38</key>
+			<input>CCB934A501DDAD11E994938A214EB189</input>
+			<output>07825F2D35E761C76893B697E30E4D08</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 236</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>6912B59C06C90D3725B9DE5D1EEE302B37A006EBE536E330</key>
+			<input>07825F2D35E761C76893B697E30E4D08</input>
+			<output>1F674E97F88EB1DA1DD24C0AB4321258</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 237</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>AE24933526FAE5F83ADE90CAE66081F12A724AE15104F168</key>
+			<input>1F674E97F88EB1DA1DD24C0AB4321258</input>
+			<output>B6DE499EBE0B3C30F1DAC8E40FE9F10C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 238</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>F348F88852CF356C8C00D954586BBDC1DBA882055EED0064</key>
+			<input>B6DE499EBE0B3C30F1DAC8E40FE9F10C</input>
+			<output>105E31DBDE33764B098862AF6D0B6CD2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 239</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>83B06CC00A17D3149C5EE88F8658CB8AD220E0AA33E66CB6</key>
+			<input>105E31DBDE33764B098862AF6D0B6CD2</input>
+			<output>697D6537677B20C188246FBF4997C7CB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 240</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A5381A9C91D61A01F5238DB8E123EB4B5A048F157A71AB7D</key>
+			<input>697D6537677B20C188246FBF4997C7CB</input>
+			<output>4FBFB0EFBA92C1E0189E2C3097AA35BA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 241</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>FDF831A7D1345AFEBA9C3D575BB12AAB429AA325EDDB9EC7</key>
+			<input>4FBFB0EFBA92C1E0189E2C3097AA35BA</input>
+			<output>600288531DCEB99B69A7890CE804FA9F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 242</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A10ED54E7B2B2B2BDA9EB504467F93302B3D2A2905DF6458</key>
+			<input>600288531DCEB99B69A7890CE804FA9F</input>
+			<output>EE94D4376D9332C8DCD05C695EDB124F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 243</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>2F69F01250D7745F340A61332BECA1F8F7ED76405B047617</key>
+			<input>EE94D4376D9332C8DCD05C695EDB124F</input>
+			<output>7EDC3182C36DC5A172B170A919524888</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 244</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>FCD5F8FAB347624E4AD650B1E8816459855C06E942563E9F</key>
+			<input>7EDC3182C36DC5A172B170A919524888</input>
+			<output>95FA03C96DFCB9ABCFF23B5ABFBABCDE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 245</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A9307E62197A747EDF2C5378857DDDF24AAE3DB3FDEC8241</key>
+			<input>95FA03C96DFCB9ABCFF23B5ABFBABCDE</input>
+			<output>6CE2C6CFC61667965C20B0BE11B55DDE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 246</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>DA3B03896DDFDE08B3CE95B7436BBA64168E8D0DEC59DF9F</key>
+			<input>6CE2C6CFC61667965C20B0BE11B55DDE</input>
+			<output>3DBDFBE63A6FAE7572C778108A62A27C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 247</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7D766BAD6E536CE38E736E51790414116449F51D663B7DE3</key>
+			<input>3DBDFBE63A6FAE7572C778108A62A27C</input>
+			<output>1C197D3449FED6ED6924E14B43A17BF0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 248</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>36F69C30B0272CAB926A136530FAC2FC0D6D1456259A0613</key>
+			<input>1C197D3449FED6ED6924E14B43A17BF0</input>
+			<output>0B0CCC6F508C18168284F7976AD81BEE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 249</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>632661C312B2EB5D9966DF0A6076DAEA8FE9E3C14F421DFD</key>
+			<input>0B0CCC6F508C18168284F7976AD81BEE</input>
+			<output>F437B8FD92CE37D8D74550C5BE29BF99</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 250</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>5FB1BDFC29EFE2DA6D5167F7F2B8ED3258ACB304F16BA264</key>
+			<input>F437B8FD92CE37D8D74550C5BE29BF99</input>
+			<output>78F6E6F6480A04F5632EA112170F928C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 251</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>2B24C5188F4A2E7B15A78101BAB2E9C73B821216E66430E8</key>
+			<input>78F6E6F6480A04F5632EA112170F928C</input>
+			<output>2FD38831EE4D09DD8DB9A84B5825B528</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 252</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>F816FB720A08828C3A74093054FFE01AB63BBA5DBE4185C0</key>
+			<input>2FD38831EE4D09DD8DB9A84B5825B528</input>
+			<output>ED307697B51CFAD7052A3A7B3A564990</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 253</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>776B08F4778FAB96D7447FA7E1E31ACDB31180268417CC50</key>
+			<input>ED307697B51CFAD7052A3A7B3A564990</input>
+			<output>DB9952A98F0D4B045C624EFA5619CAF9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 254</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C7A944C9BA2D5F740CDD2D0E6EEE51C9EF73CEDCD20E06A9</key>
+			<input>DB9952A98F0D4B045C624EFA5619CAF9</input>
+			<output>DADA40BF0E367AF50874BB2628251AA3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 255</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>69B8688D9C1ECD95D6076DB160D82B3CE70775FAFA2B1C0A</key>
+			<input>DADA40BF0E367AF50874BB2628251AA3</input>
+			<output>35DFA85D3F2D7F47DD7865EA0BC73A5C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 256</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7E6C7E90EDE36F44E3D8C5EC5FF5547B3A7F1010F1EC2656</key>
+			<input>35DFA85D3F2D7F47DD7865EA0BC73A5C</input>
+			<output>EE0231F994C2DB6C7C04746170F03E54</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 257</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>0E56C8FD184AB5D40DDAF415CB378F17467B6471811C1802</key>
+			<input>EE0231F994C2DB6C7C04746170F03E54</input>
+			<output>D9F314FEAD11122CE8F532ED0C0B129C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 258</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>267BC5325796002BD429E0EB66269D3BAE8E569C8D170A9E</key>
+			<input>D9F314FEAD11122CE8F532ED0C0B129C</input>
+			<output>74A32BDFF53A59F09AAFB328977E05B1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 259</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>889B6087CAAD1B43A08ACB34931CC4CB3421E5B41A690F2F</key>
+			<input>74A32BDFF53A59F09AAFB328977E05B1</input>
+			<output>D4CCC3077C15EE470D5EFCF815A48410</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 260</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>F9AE78D077E3F98574460833EF092A8C397F194C0FCD8B3F</key>
+			<input>D4CCC3077C15EE470D5EFCF815A48410</input>
+			<output>29284B0E7776DFB8BB536B3C16399D62</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 261</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>71BBCD4B1F4B04265D6E433D987FF534822C727019F4165D</key>
+			<input>29284B0E7776DFB8BB536B3C16399D62</input>
+			<output>202326CEAD57A5C13592FFBFFD5BF508</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 262</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>F6F461C7931CF0317D4D65F3352850F5B7BE8DCFE4AFE355</key>
+			<input>202326CEAD57A5C13592FFBFFD5BF508</input>
+			<output>B9AFAD0658E1A4A1EECAA25B2863AD53</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 263</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>BC0D82D3B7909D54C4E2C8F56DC9F45459742F94CCCC4E06</key>
+			<input>B9AFAD0658E1A4A1EECAA25B2863AD53</input>
+			<output>DE7AC7F7381DD34F3148911F306F4161</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 264</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>339FFE2E01AB1D621A980F0255D4271B683CBE8BFCA30F67</key>
+			<input>DE7AC7F7381DD34F3148911F306F4161</input>
+			<output>F197DE9FED1EA08F6C17E631BF5449FE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 265</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>EC908F9A4F266644EB0FD19DB8CA8794042B58BA43F74699</key>
+			<input>F197DE9FED1EA08F6C17E631BF5449FE</input>
+			<output>7E1416C06ED3F56782DB5CB536B9B56E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 266</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>CFE36CCCC94F8A5B951BC75DD61972F386F0040F754EF3F7</key>
+			<input>7E1416C06ED3F56782DB5CB536B9B56E</input>
+			<output>BE1FE1F7B4CFF55D15BBCB6D9313729D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 267</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>90690906407FB8AC2B0426AA62D687AE934BCF62E65D816A</key>
+			<input>BE1FE1F7B4CFF55D15BBCB6D9313729D</input>
+			<output>50E6818C06583D3D1C99C4A127D118CF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 268</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>5D2A712578EC47217BE2A726648EBA938FD20BC3C18C99A5</key>
+			<input>50E6818C06583D3D1C99C4A127D118CF</input>
+			<output>E1BFD3ED18E9A6D7BF383D590DA23B59</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 269</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>3CA141EE57D7E0FC9A5D74CB7C671C4430EA369ACC2EA2FC</key>
+			<input>E1BFD3ED18E9A6D7BF383D590DA23B59</input>
+			<output>03961127347C141C01F5276CB9BB31F7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 270</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>65E9B8AE22DC52A599CB65EC481B0858311F11F67595930B</key>
+			<input>03961127347C141C01F5276CB9BB31F7</input>
+			<output>E9A8336DC0B530A86988B2DE74EDFFA1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 271</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>870A30E0F3B836FA7063568188AE38F05897A32801786CAA</key>
+			<input>E9A8336DC0B530A86988B2DE74EDFFA1</input>
+			<output>B5FA5E388CFFFE2BA33436CC39A73972</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 272</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>4B81E55C765F570CC59908B90451C6DBFBA395E438DF55D8</key>
+			<input>B5FA5E388CFFFE2BA33436CC39A73972</input>
+			<output>CEF4896BBC86F1E02312479C40D96DAE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 273</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>0FAB0DCFB6E3E7940B6D81D2B8D7373BD8B1D27878063876</key>
+			<input>CEF4896BBC86F1E02312479C40D96DAE</input>
+			<output>F195F5321FCAA68B0B0CBA83978A8084</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 274</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>F860076D3847A80BFAF874E0A71D91B0D3BD68FBEF8CB8F2</key>
+			<input>F195F5321FCAA68B0B0CBA83978A8084</input>
+			<output>861575205386223EBC6B48B22C35A2A6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 275</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>B2DB77DC3E18C3A77CED01C0F49BB38E6FD62049C3B91A54</key>
+			<input>861575205386223EBC6B48B22C35A2A6</input>
+			<output>DC074F3D41C62DA9D609A982DEB9E074</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 276</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E632B0C6EE68910EA0EA4EFDB55D9E27B9DF89CB1D00FA20</key>
+			<input>DC074F3D41C62DA9D609A982DEB9E074</input>
+			<output>6933F4F193B028A22B913453B0B4C9A2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 277</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>88AA3FEE5FDFA336C9D9BA0C26EDB685924EBD98ADB43382</key>
+			<input>6933F4F193B028A22B913453B0B4C9A2</input>
+			<output>56811E665DDFBEA07A7C2C762F0D5C73</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 278</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>2A0A1FE31ADFC64F9F58A46A7B320825E83291EE82B96FF1</key>
+			<input>56811E665DDFBEA07A7C2C762F0D5C73</input>
+			<output>CFF92E47C8C973ADA7B57D9FE320B356</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 279</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7958F9D10B6DC91050A18A2DB3FB7B884F87EC716199DCA7</key>
+			<input>CFF92E47C8C973ADA7B57D9FE320B356</input>
+			<output>A55A4F827552761580DC27E0712051B1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 280</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>ADDB73FE13D439CAF5FBC5AFC6A90D9DCF5BCB9110B98D16</key>
+			<input>A55A4F827552761580DC27E0712051B1</input>
+			<output>734B095C3C54FCDE26C33659C82CACCB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 281</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E979AF9C739F60AE86B0CCF3FAFDF143E998FDC8D89521DD</key>
+			<input>734B095C3C54FCDE26C33659C82CACCB</input>
+			<output>122A4F2ADE6C69364943658517A56587</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 282</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E05BDC75E94EB2A8949A83D924919875A0DB984DCF30445A</key>
+			<input>122A4F2ADE6C69364943658517A56587</input>
+			<output>C6EF3170C5EF69B479AC6653E8B7E979</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 283</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>67AF0BE0DE572F595275B2A9E17EF1C1D977FE1E2787AD23</key>
+			<input>C6EF3170C5EF69B479AC6653E8B7E979</input>
+			<output>51113FF8A1000A5449F24E8E5363FB72</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 284</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7C8DCBB512AE775603648D51407EFB959085B09074E45651</key>
+			<input>51113FF8A1000A5449F24E8E5363FB72</input>
+			<output>B9341E24A41C9D9CE56D6E4F17A7A311</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 285</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>EEBE49DAF88030F5BA509375E462660975E8DEDF6343F540</key>
+			<input>B9341E24A41C9D9CE56D6E4F17A7A311</input>
+			<output>26A135C466B061791DE40A40E9366FC6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 286</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A06A0B9127769EF79CF1A6B182D20770680CD49F8A759A86</key>
+			<input>26A135C466B061791DE40A40E9366FC6</input>
+			<output>AE832B68C147CF8A70A8E5CCC3FF05F2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 287</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>CD394B7808099B2832728DD94395C8FA18A43153498A9F74</key>
+			<input>AE832B68C147CF8A70A8E5CCC3FF05F2</input>
+			<output>72747F478E3AE57C6C7D6D4E5C4FCE71</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 288</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>80D4A1BD538D11434006F29ECDAF2D8674D95C1D15C55105</key>
+			<input>72747F478E3AE57C6C7D6D4E5C4FCE71</input>
+			<output>21539022400BEE401E8FE7E9F0F7AAC3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 289</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C8BCB868E11B46E3615562BC8DA4C3C66A56BBF4E532FBC6</key>
+			<input>21539022400BEE401E8FE7E9F0F7AAC3</input>
+			<output>44149C7C375F07B7169C8A9A14133C8C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 290</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>DFC35DD4FAD95C2A2541FEC0BAFBC4717CCA316EF121C74A</key>
+			<input>44149C7C375F07B7169C8A9A14133C8C</input>
+			<output>2A7FA9D2EACC0C5444510E7D69EB3FD6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 291</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>73B0B53EE6D591140F3E57125037C825389B3F1398CAF89C</key>
+			<input>2A7FA9D2EACC0C5444510E7D69EB3FD6</input>
+			<output>9949145B8C88D03BBA46FEBE9856B732</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 292</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7BFBD6A0A317DEE996774349DCBF181E82DDC1AD009C4FAE</key>
+			<input>9949145B8C88D03BBA46FEBE9856B732</input>
+			<output>714E072347ECDEA4F8EB2B02746FBC66</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 293</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>CA326A1D191B2BC6E739446A9B53C6BA7A36EAAF74F3F3C8</key>
+			<input>714E072347ECDEA4F8EB2B02746FBC66</input>
+			<output>CCF2295814759A5004E8C3E2B97C4958</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 294</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>428400F7196D32C62BCB6D328F265CEA7EDE294DCD8FBA90</key>
+			<input>CCF2295814759A5004E8C3E2B97C4958</input>
+			<output>12108AB0753EAAE007DEFF2EBA8A3EF0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 295</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>3E38F6FA3F49742339DBE782FA18F60A7900D66377058460</key>
+			<input>12108AB0753EAAE007DEFF2EBA8A3EF0</input>
+			<output>0109AC127FB55B91BC922EDFF3C43819</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 296</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>07C585ABD1C227D638D24B9085ADAD9BC592F8BC84C1BC79</key>
+			<input>0109AC127FB55B91BC922EDFF3C43819</input>
+			<output>33FF03F6966E81EE28889CFA0B9BA8B9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 297</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>FB823872148252C20B2D486613C32C75ED1A64468F5A14C0</key>
+			<input>33FF03F6966E81EE28889CFA0B9BA8B9</input>
+			<output>D8468C180BAC0F6D703611DDAD951014</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 298</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>F81900EAD21ECE3BD36BC47E186F23189D2C759B22CF04D4</key>
+			<input>D8468C180BAC0F6D703611DDAD951014</input>
+			<output>07994906A8377D64F2D32DB4BB170EF1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 299</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>2ADC8C0244307531D4F28D78B0585E7C6FFF582F99D80A25</key>
+			<input>07994906A8377D64F2D32DB4BB170EF1</input>
+			<output>48382015F82AA7EC8944C40275595CEF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 300</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>2E917F5C5BAB80939CCAAD6D4872F990E6BB9C2DEC8156CA</key>
+			<input>48382015F82AA7EC8944C40275595CEF</input>
+			<output>D4EEE0A1A56118EB8F6AE16FE16F70ED</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 301</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>126D396B29E0252248244DCCED13E17B69D17D420DEE2627</key>
+			<input>D4EEE0A1A56118EB8F6AE16FE16F70ED</input>
+			<output>358E5FAE4A4ED6B1058E32942AE030DB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 302</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>D390A60684F5C9147DAA1262A75D37CA6C5F4FD6270E16FC</key>
+			<input>358E5FAE4A4ED6B1058E32942AE030DB</input>
+			<output>B9730D311EA8312DAC34F444A4560DDC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 303</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>0B2A03E62FCD9B06C4D91F53B9F506E7C06BBB9283581B20</key>
+			<input>B9730D311EA8312DAC34F444A4560DDC</input>
+			<output>D64F286B32B4058A51B73844BCA93DDA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 304</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>5858183C5713BBD6129637388B41036D91DC83D63FF126FA</key>
+			<input>D64F286B32B4058A51B73844BCA93DDA</input>
+			<output>78425B7FE64D972C642ED17369ED8844</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 305</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C555D9DC23D3A1846AD46C476D0C9441F5F252A5561CAEBE</key>
+			<input>78425B7FE64D972C642ED17369ED8844</input>
+			<output>2DE9202F4CD7F67C7B7F94CF7F3B9B5A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 306</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7BA871DA6E336CFA473D4C6821DB623D8E8DC66A292735E4</key>
+			<input>2DE9202F4CD7F67C7B7F94CF7F3B9B5A</input>
+			<output>A30322EC9A51266B50153995BCEBC846</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 307</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>55BF35687EBA169AE43E6E84BB8A4456DE98FFFF95CCFDA2</key>
+			<input>A30322EC9A51266B50153995BCEBC846</input>
+			<output>14754B0469683F36E4791FD9B8B1C585</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 308</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>0404CAE90360F118F04B2580D2E27B603AE1E0262D7D3827</key>
+			<input>14754B0469683F36E4791FD9B8B1C585</input>
+			<output>E8592DC147A1DC4F48D43E365B9D63FF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 309</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>109E16AA717A4EF4181208419543A72F7235DE1076E05BD8</key>
+			<input>E8592DC147A1DC4F48D43E365B9D63FF</input>
+			<output>47A3BF0743562C7D412563C94C2CD717</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 310</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>0A8DC7647F8C06D15FB1B746D6158B523310BDD93ACC8CCF</key>
+			<input>47A3BF0743562C7D412563C94C2CD717</input>
+			<output>63F8C6A062937471364050815D856793</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 311</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>CC9B8854C13F73623C4971E6B486FF230550ED586749EB5C</key>
+			<input>63F8C6A062937471364050815D856793</input>
+			<output>E70443AF44BF549607251A86CD83A4D3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 312</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>2D067D896DF1E749DB4D3249F039ABB50275F7DEAACA4F8F</key>
+			<input>E70443AF44BF549607251A86CD83A4D3</input>
+			<output>ACEF2AE95CA660AEE513BF48BCF7D125</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 313</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>DEC45DD3C0DAD30A77A218A0AC9FCB1BE7664896163D9EAA</key>
+			<input>ACEF2AE95CA660AEE513BF48BCF7D125</input>
+			<output>859E9E4001245A50ED76055539672F1A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 314</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>6F208E93D9C89CE8F23C86E0ADBB914B0A104DC32F5AB1B0</key>
+			<input>859E9E4001245A50ED76055539672F1A</input>
+			<output>42B059061FE4C86C7AC2B7C8B62820C2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 315</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>86EC7CE558994E8EB08CDFE6B25F592770D2FA0B99729172</key>
+			<input>42B059061FE4C86C7AC2B7C8B62820C2</input>
+			<output>01C6296F1532450F182D6A3FC8249DD7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 316</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C74B31CEC9B31130B14AF689A76D1C2868FF903451560CA5</key>
+			<input>01C6296F1532450F182D6A3FC8249DD7</input>
+			<output>14334054946821E3FE8D72D1EF402EE1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 317</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>AC636B2AD3699560A579B6DD33053DCB9672E2E5BE162244</key>
+			<input>14334054946821E3FE8D72D1EF402EE1</input>
+			<output>F09B2FE9A8F17CD847532D4979D2A8C4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 318</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>6F956E3680FC783155E299349BF44113D121CFACC7C48A80</key>
+			<input>F09B2FE9A8F17CD847532D4979D2A8C4</input>
+			<output>4C97BD8822E63C7A2EE0E444563AF1C8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 319</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C69B2FB718C41B1A197524BCB9127D69FFC12BE891FE7B48</key>
+			<input>4C97BD8822E63C7A2EE0E444563AF1C8</input>
+			<output>344E85BE2C8B36430C8058B310062171</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 320</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>BFFA143B8A18CACF2D3BA10295994B2AF341735B81F85A39</key>
+			<input>344E85BE2C8B36430C8058B310062171</input>
+			<output>FF3F882CB22D13A8631DCA6DD702D0E0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 321</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>22F58A0FC077AB5FD204292E27B45882905CB93656FA8AD9</key>
+			<input>FF3F882CB22D13A8631DCA6DD702D0E0</input>
+			<output>866B2E52CF71505973D9D6642C8178BB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 322</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>DC8CE7A9130F3662546F077CE8C508DBE3856F527A7BF262</key>
+			<input>866B2E52CF71505973D9D6642C8178BB</input>
+			<output>4802741ADF67A3811A8AEC7008D8827E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 323</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>743B09AA8FD3C6A01C6D736637A2AB5AF90F832272A3701C</key>
+			<input>4802741ADF67A3811A8AEC7008D8827E</input>
+			<output>FD3701579815D02BE878C74ABB98C59B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 324</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>865B3EC9EFBE27D0E15A7231AFB77B7111774468C93BB587</key>
+			<input>FD3701579815D02BE878C74ABB98C59B</input>
+			<output>99BCA8250D54F3A9A72054AF5578F842</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 325</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>041C037E08923FFF78E6DA14A2E388D8B65710C79C434DC5</key>
+			<input>99BCA8250D54F3A9A72054AF5578F842</input>
+			<output>F0DA5C0E446547356D5027BA346A831C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 326</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>FBABCE025CF5FF3D883C861AE686CFEDDB07377DA829CED9</key>
+			<input>F0DA5C0E446547356D5027BA346A831C</input>
+			<output>EED0140AF408652DD879E3289536C389</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 327</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>3F12399A3E5C0F9566EC9210128EAAC0037ED4553D1F0D50</key>
+			<input>EED0140AF408652DD879E3289536C389</input>
+			<output>FDC7299A95BDB941A299478B7B409EF8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 328</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>D541517B701036E39B2BBB8A87331381A1E793DE465F93A8</key>
+			<input>FDC7299A95BDB941A299478B7B409EF8</input>
+			<output>5BE5AEC30578CD03BA7B17E8B16AAFBF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 329</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>6657840FF425DD8AC0CE1549824BDE821B9C8436F7353C17</key>
+			<input>5BE5AEC30578CD03BA7B17E8B16AAFBF</input>
+			<output>3C7A9745F48DA61CF7875A449E24C735</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 330</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>52D29BBD64550DFBFCB4820C76C6789EEC1BDE726911FB22</key>
+			<input>3C7A9745F48DA61CF7875A449E24C735</input>
+			<output>69516DE0343F3552830D28CE8B9A282C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 331</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>3699B16BB0349B9195E5EFEC42F94DCC6F16F6BCE28BD30E</key>
+			<input>69516DE0343F3552830D28CE8B9A282C</input>
+			<output>EB09EE300286690EA65A30526A43B86B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 332</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>60E79B9E7C41814E7EEC01DC407F24C2C94CC6EE88C86B65</key>
+			<input>EB09EE300286690EA65A30526A43B86B</input>
+			<output>A235384FE517A5F455BBE6B850C05E33</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 333</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>11F650282BBCB584DCD93993A56881369CF72056D8083556</key>
+			<input>A235384FE517A5F455BBE6B850C05E33</input>
+			<output>41E297350390E91EC00FF875B3CA60BA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 334</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>11B449F7EE983AB89D3BAEA6A6F868285CF8D8236BC255EC</key>
+			<input>41E297350390E91EC00FF875B3CA60BA</input>
+			<output>5FB9F6408D54401A9A76288AE3A04944</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 335</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>54CBA9A5782ED91FC28258E62BAC2832C68EF0A988621CA8</key>
+			<input>5FB9F6408D54401A9A76288AE3A04944</input>
+			<output>7C9CD2510E96FF37BF75E57E84098535</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 336</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>871169F28E704C95BE1E8AB7253AD70579FB15D70C6B999D</key>
+			<input>7C9CD2510E96FF37BF75E57E84098535</input>
+			<output>8E041B8C74A84D747B02714452B34F11</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 337</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7F44ED6AA755957A301A913B51929A7102F964935ED8D68C</key>
+			<input>8E041B8C74A84D747B02714452B34F11</input>
+			<output>3698639F56657A40D52B9B8015448C2A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 338</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>EEAF09001996BA6E0682F2A407F7E031D7D2FF134B9C5AA6</key>
+			<input>3698639F56657A40D52B9B8015448C2A</input>
+			<output>79FB5E4A065D29E1CA3E15897B60032F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 339</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>D21CCA06254A64C97F79ACEE01AAC9D01DECEA9A30FC5989</key>
+			<input>79FB5E4A065D29E1CA3E15897B60032F</input>
+			<output>C582F5F8D9D2E9323C769B2B1AE369BD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 340</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>29D2F84E4568BA6FBAFB5916D87820E2219A71B12A1F3034</key>
+			<input>C582F5F8D9D2E9323C769B2B1AE369BD</input>
+			<output>916405DC8F2AD50548997D87BCCADBFB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 341</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>43AC4D54A8A0222F2B9F5CCA5752F5E769030C3696D5EBCF</key>
+			<input>916405DC8F2AD50548997D87BCCADBFB</input>
+			<output>0E9FF0E147A47056EC6B09837C9E0E62</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 342</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>9AF110B8274794772500AC2B10F685B1856805B5EA4BE5AD</key>
+			<input>0E9FF0E147A47056EC6B09837C9E0E62</input>
+			<output>3B6E3CAAC358427980E66E3D30D39E4F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 343</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>49F910E7957BC95C1E6E9081D3AEC7C8058E6B88DA987BE2</key>
+			<input>3B6E3CAAC358427980E66E3D30D39E4F</input>
+			<output>25CBE5AB4C6785C0F2847CF89F2635AB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 344</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>64D90092DD97AC3C3BA5752A9FC94208F70A177045BE4E49</key>
+			<input>25CBE5AB4C6785C0F2847CF89F2635AB</input>
+			<output>3D9200D39461D8B2CE7874DA20BFD9DA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 345</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C7A8403AFB011673063775F90BA89ABA397263AA65019793</key>
+			<input>3D9200D39461D8B2CE7874DA20BFD9DA</input>
+			<output>E61E7E06A1E1F656AE8F8C29C96E5A16</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 346</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>071AF635AF7A9602E0290BFFAA496CEC97FDEF83AC6FCD85</key>
+			<input>E61E7E06A1E1F656AE8F8C29C96E5A16</input>
+			<output>7488BB35F06E94F31A744D1EA95E71D0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 347</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A4B5ECB7047E08D694A1B0CA5A27F81F8D89A29D0531BC55</key>
+			<input>7488BB35F06E94F31A744D1EA95E71D0</input>
+			<output>3912DC00C0AB79C473CA2CC8F69262F0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 348</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>BD4478B38A0E9347ADB36CCA9A8C81DBFE438E55F3A3DEA5</key>
+			<input>3912DC00C0AB79C473CA2CC8F69262F0</input>
+			<output>C4B546F134A016DADA8E7C478B1E7D45</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 349</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>F7B6F476517483AD69062A3BAE2C970124CDF21278BDA3E0</key>
+			<input>C4B546F134A016DADA8E7C478B1E7D45</input>
+			<output>298524C5D468EBFA97DEFEC7B80EE752</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 350</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>8E0C5244F7417C2440830EFE7A447CFBB3130CD5C0B344B2</key>
+			<input>298524C5D468EBFA97DEFEC7B80EE752</input>
+			<output>B27EFB90BA3A27A1077C6742D5B68396</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 351</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C6E8F264FA0C9A9AF2FDF56EC07E5B5AB46F6B971505C724</key>
+			<input>B27EFB90BA3A27A1077C6742D5B68396</input>
+			<output>D02C27A94DD3B772B338C7462379B009</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 352</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>AD694D243DCC6B7B22D1D2C78DADEC280757ACD1367C772D</key>
+			<input>D02C27A94DD3B772B338C7462379B009</input>
+			<output>1CED06084E67BA4BAD3C331F4074B9FF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 353</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>68AEF48D86D395583E3CD4CFC3CA5663AA6B9FCE7608CED2</key>
+			<input>1CED06084E67BA4BAD3C331F4074B9FF</input>
+			<output>C0D7811FE8630B3E7C3A60DA9042A6B2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 354</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>670A8D40573F598AFEEB55D02BA95D5DD651FF14E64A6860</key>
+			<input>C0D7811FE8630B3E7C3A60DA9042A6B2</input>
+			<output>45F92C84CE2AEC6E7953C8AAC5901D0F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 355</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>D44FD97B0D59C923BB127954E583B133AF0237BE23DA756F</key>
+			<input>45F92C84CE2AEC6E7953C8AAC5901D0F</input>
+			<output>23A4863C994EFE93E7CE1C89FE14143D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 356</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>4E08C6A539C74A6598B6FF687CCD4FA048CC2B37DDCE6152</key>
+			<input>23A4863C994EFE93E7CE1C89FE14143D</input>
+			<output>85EB5F46988211E3077FDBE38F1EBE6B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 357</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>21B17D5E461224B31D5DA02EE44F5E434FB3F0D452D0DF39</key>
+			<input>85EB5F46988211E3077FDBE38F1EBE6B</input>
+			<output>59CF6CCC81A8BC17A52D7550B40C7514</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 358</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>6CC595309F161F3E4492CCE265E7E254EA9E8584E6DCAA2D</key>
+			<input>59CF6CCC81A8BC17A52D7550B40C7514</input>
+			<output>13DF4C2AA74A4B9123B3A57FE94F85BE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 359</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>77B90151B41B1B7D574D80C8C2ADA9C5C92D20FB0F932F93</key>
+			<input>13DF4C2AA74A4B9123B3A57FE94F85BE</input>
+			<output>6DEDE53AD5DC2A87744DA0EA561977A3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 360</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>8E1683C57C1817C23AA065F217718342BD608011598A5830</key>
+			<input>6DEDE53AD5DC2A87744DA0EA561977A3</input>
+			<output>F9D912AAB5ED1ACBD0475411DF98F49C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 361</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E9FDD94AE4B4FABAC3797758A29C99896D27D4008612ACAC</key>
+			<input>F9D912AAB5ED1ACBD0475411DF98F49C</input>
+			<output>853C907D9FD35B61D2ABBE5C1A89DB4B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 362</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>BCC524DF4D452AE14645E7253D4FC2E8BF8C6A5C9C9B77E7</key>
+			<input>853C907D9FD35B61D2ABBE5C1A89DB4B</input>
+			<output>874C4BC1993FBA12136443B57F9523BE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 363</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>9F5EFA7196589240C109ACE4A47078FAACE829E9E30E5459</key>
+			<input>874C4BC1993FBA12136443B57F9523BE</input>
+			<output>E6B6E9133DD0EC2844EF3CC0C2F9E4AC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 364</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>2F0731DB4FA3024127BF45F799A094D2E807152921F7B0F5</key>
+			<input>E6B6E9133DD0EC2844EF3CC0C2F9E4AC</input>
+			<output>20B41EE01134041DF8D11BB7F86928EA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 365</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7E44D240F06AAA5E070B5B17889490CF10D60E9ED99E981F</key>
+			<input>20B41EE01134041DF8D11BB7F86928EA</input>
+			<output>BF6B03096DCDC052B1325CC34BF6E56C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 366</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>D8D3E3D538C8CA34B860581EE559509DA1E4525D92687D73</key>
+			<input>BF6B03096DCDC052B1325CC34BF6E56C</input>
+			<output>5ED3E40FB5C34DD1F370C3AD72C7C24D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 367</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>F3DF20767CDA5E0CE6B3BC11509A1D4C529491F0E0AFBF3E</key>
+			<input>5ED3E40FB5C34DD1F370C3AD72C7C24D</input>
+			<output>3EA6BCE2317C5D696DF8240C481B34DD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 368</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>484932A15D75173FD81500F361E640253F6CB5FCA8B48BE3</key>
+			<input>3EA6BCE2317C5D696DF8240C481B34DD</input>
+			<output>41D6E077746FE1A9307E1107631A5D2C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 369</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>EF960956685DE1CE99C3E0841589A18C0F12A4FBCBAED6CF</key>
+			<input>41D6E077746FE1A9307E1107631A5D2C</input>
+			<output>D0C6DDEF0A623686BA303C278D445964</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 370</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>82477D8D682C1D4849053D6B1FEB970AB52298DC46EA8FAB</key>
+			<input>D0C6DDEF0A623686BA303C278D445964</input>
+			<output>EEFFA6025D6CAFBF9DC18E5B1B99A6ED</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 371</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>15D8DCF80A26856AA7FA9B69428738B528E316875D732946</key>
+			<input>EEFFA6025D6CAFBF9DC18E5B1B99A6ED</input>
+			<output>38E222ABAA07CDAE9CC02FAC84EC0FC1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 372</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>556151278277D7579F18B9C2E880F51BB423392BD99F2687</key>
+			<input>38E222ABAA07CDAE9CC02FAC84EC0FC1</input>
+			<output>B00C719E6A320E4385794EB7F23C0D80</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 373</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>777F91003E4410572F14C85C82B2FB58315A779C2BA32B07</key>
+			<input>B00C719E6A320E4385794EB7F23C0D80</input>
+			<output>0E667CA932023D2EFD8DDBDED5A43D78</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 374</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>130507FC817F14432172B4F5B0B0C676CCD7AC42FE07167F</key>
+			<input>0E667CA932023D2EFD8DDBDED5A43D78</input>
+			<output>6B15DA892F0B5916F31BB74FC7D03F9A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 375</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>D045A84BBF62DE2E4A676E7C9FBB9F603FCC1B0D39D729E5</key>
+			<input>6B15DA892F0B5916F31BB74FC7D03F9A</input>
+			<output>EBEF6DC298D63BF6E6E46F833B217033</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 376</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7742FB68CDF60735A18803BE076DA496D928748E02F659D6</key>
+			<input>EBEF6DC298D63BF6E6E46F833B217033</input>
+			<output>48DC6F65F193AFCCE559EA6F04FBD79A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 377</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>5CE32BC22C77B664E9546CDBF6FE0B5A3C719EE1060D8E4C</key>
+			<input>48DC6F65F193AFCCE559EA6F04FBD79A</input>
+			<output>D0596880F92716C51E41519C640AEFDA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 378</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>2DA6B73C5131E24C390D045B0FD91D9F2230CF7D62076196</key>
+			<input>D0596880F92716C51E41519C640AEFDA</input>
+			<output>ABB7C3E499086F53C4DB97640168943B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 379</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E41C1A826978491892BAC7BF96D172CCE6EB5819636FF5AD</key>
+			<input>ABB7C3E499086F53C4DB97640168943B</input>
+			<output>0CC58B3D0370317E1025E1AF97962646</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 380</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>501012EE411DCDC59E7F4C8295A143B2F6CEB9B6F4F9D3EB</key>
+			<input>0CC58B3D0370317E1025E1AF97962646</input>
+			<output>28920AED2B644C4346FC146903887244</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 381</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>97B7E8C1147A5062B6ED466FBEC50FF1B032ADDFF771A1AF</key>
+			<input>28920AED2B644C4346FC146903887244</input>
+			<output>E7A28DA5EC871DAF8C2D196C7ED8977F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 382</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>988B9928402BCD63514FCBCA5242125E3C1FB4B389A936D0</key>
+			<input>E7A28DA5EC871DAF8C2D196C7ED8977F</input>
+			<output>013876A92413AED2E360A241FE021B25</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 383</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>3432357430ACC9135077BD637651BC8CDF7F16F277AB2DF5</key>
+			<input>013876A92413AED2E360A241FE021B25</input>
+			<output>10F1A56A8CFDA1D5044D5D0E53F6A773</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 384</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>CE94F859CD3E85F440861809FAAC1D59DB324BFC245D8A86</key>
+			<input>10F1A56A8CFDA1D5044D5D0E53F6A773</input>
+			<output>941C717EE6642DD474719F099AEEB1EB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 385</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A1BFA52EA232FDF0D49A69771CC8308DAF43D4F5BEB33B6D</key>
+			<input>941C717EE6642DD474719F099AEEB1EB</input>
+			<output>F31B47230ABC94977E14E1080528C1C9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 386</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>37B36A8E7A3B4F2A27812E541674A41AD15735FDBB9BFAA4</key>
+			<input>F31B47230ABC94977E14E1080528C1C9</input>
+			<output>A91264221890CA93541B662F64A11C62</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 387</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>04F603F98A9D1AC78E934A760EE46E89854C53D2DF3AE6C6</key>
+			<input>A91264221890CA93541B662F64A11C62</input>
+			<output>05F5171B639825EC67A37B3671F2F884</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 388</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A294EBBBD53D18DD8B665D6D6D7C4B65E2EF28E4AEC81E42</key>
+			<input>05F5171B639825EC67A37B3671F2F884</input>
+			<output>B6FE84EB2987DE956953DEBA6FD2E029</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 389</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E0E38A82F60E8EED3D98D98644FB95F08BBCF65EC11AFE6B</key>
+			<input>B6FE84EB2987DE956953DEBA6FD2E029</input>
+			<output>2741338CF00FBC70C4B1C67C97E85B97</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 390</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>2193D386143F6D761AD9EA0AB4F429804F0D302256F2A5FC</key>
+			<input>2741338CF00FBC70C4B1C67C97E85B97</input>
+			<output>E56C7C453E2E13028AD812F9CDB78E2F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 391</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>05AD3BC4F1B29F17FFB5964F8ADA3A82C5D522DB9B452BD3</key>
+			<input>E56C7C453E2E13028AD812F9CDB78E2F</input>
+			<output>9A9B49AC0691F1576D515E935F042229</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 392</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>1588C005075F4674652EDFE38C4BCBD5A8847C48C44109FA</key>
+			<input>9A9B49AC0691F1576D515E935F042229</input>
+			<output>143E5F64AD38373D3B54FA24CC7C0AF5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 393</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>731083CCCB22E7CF711080872173FCE893D0866C083D030F</key>
+			<input>143E5F64AD38373D3B54FA24CC7C0AF5</input>
+			<output>61F6AF426601588CB7C525255EC1A06D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 394</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>DACEE3906B98DFC110E62FC54772A4642415A34956FCA362</key>
+			<input>61F6AF426601588CB7C525255EC1A06D</input>
+			<output>DB5DC1C3B3413F653D72F8744C2DD881</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 395</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>D9ACA0F56DCA4FC0CBBBEE06F4339B0119675B3D1AD17BE3</key>
+			<input>DB5DC1C3B3413F653D72F8744C2DD881</input>
+			<output>4E9D548DA49E992AD3123F53558909C9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 396</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>12C2FE0C57D21C208526BA8B50AD022BCA75646E4F58722A</key>
+			<input>4E9D548DA49E992AD3123F53558909C9</input>
+			<output>EB2E835192E64ABC30C3F2662B703C47</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 397</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7A43322D6174BA786E0839DAC24B4897FAB6960864284E6D</key>
+			<input>EB2E835192E64ABC30C3F2662B703C47</input>
+			<output>CD0690863F63F2B263D4C11190A7985B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 398</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>EBC6D71978D39185A30EA95CFD28BA2599625719F48FD636</key>
+			<input>CD0690863F63F2B263D4C11190A7985B</input>
+			<output>C044E800B65CA78559D0642C370C7D3E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 399</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A1B6CE2EEC5FC386634A415C4B741DA0C0B23335C383AB08</key>
+			<input>C044E800B65CA78559D0642C370C7D3E</input>
+			<output>F1A81B68F6E5A6271A8CB24E7D9491EF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tsymmetric/scripts/AESMonteCarloDecryptECB256.txt	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,6400 @@
+<action>
+	<actionname>AES ECB MonteCarlo DEC 0</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>058CCFFDBBCB382D1F6F56585D8A4ADE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 1</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>85C6B2BB2300148F945AEBF1F021CF79058CCFFDBBCB382D1F6F56585D8A4ADE</key>
+			<input>058CCFFDBBCB382D1F6F56585D8A4ADE</input>
+			<output>15173A0EB65F5CC05E704EFE61D9E346</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 2</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>2447EC44111548FBB670B98F182D5DEE109BF5F30D9464ED411F18A63C53A998</key>
+			<input>15173A0EB65F5CC05E704EFE61D9E346</input>
+			<output>85F083ACC676D91EDD1ABFB43935237A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 3</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>85D3E1D750CAA89BEE274AA7C32C2207956B765FCBE2BDF39C05A71205668AE2</key>
+			<input>85F083ACC676D91EDD1ABFB43935237A</input>
+			<output>42C8F0ABC58E0BEAC32911D2DD9FA8C8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 4</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>CE86B24954745B2BAAF27010202EE7FAD7A386F40E6CB6195F2CB6C0D8F9222A</key>
+			<input>42C8F0ABC58E0BEAC32911D2DD9FA8C8</input>
+			<output>5E44123D2CA07981B073BB2749F557D6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 5</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>CD7BCBBA4555A0D034FD7B528A1D042C89E794C922CCCF98EF5F0DE7910C75FC</key>
+			<input>5E44123D2CA07981B073BB2749F557D6</input>
+			<output>8B649458EA90F4F7E13467E509B7F164</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 6</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>EF28DFAED7794B1C7B892F3C98FCDC9602830091C85C3B6F0E6B6A0298BB8498</key>
+			<input>8B649458EA90F4F7E13467E509B7F164</input>
+			<output>F240D1F579DA2CA8839F7072DF52EBA3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 7</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C66605EC92F96B49F08CBC6276A0DC68F0C3D164B18617C78DF41A7047E96F3B</key>
+			<input>F240D1F579DA2CA8839F7072DF52EBA3</input>
+			<output>B05297490A394B4A1736DE7F8DC12969</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 8</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>347403B6E6344E1525B8D2BD4DCA343F4091462DBBBF5C8D9AC2C40FCA284652</key>
+			<input>B05297490A394B4A1736DE7F8DC12969</input>
+			<output>8BA49D44B98E67501235CE1C2F26BB28</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 9</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>B932CD0C70488602C56F92A0DA57BE27CB35DB6902313BDD88F70A13E50EFD7A</key>
+			<input>8BA49D44B98E67501235CE1C2F26BB28</input>
+			<output>86CE4E4D040C49F2717407157454162E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 10</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>28F8B6B4AB2B0B81F3676F6E422D438C4DFB9524063D722FF9830D06915AEB54</key>
+			<input>86CE4E4D040C49F2717407157454162E</input>
+			<output>4E9CA7FB0FF9F38FC821CA91052483F9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 11</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>5CD19F4D3C5B58602B101E15B39F51E4036732DF09C481A031A2C797947E68AD</key>
+			<input>4E9CA7FB0FF9F38FC821CA91052483F9</input>
+			<output>55E49ED59245C1850CB0C17C1CEEA05E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 12</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E822BB0D1F25F3DCA6FE0CB1A8AF39F15683AC0A9B8140253D1206EB8890C8F3</key>
+			<input>55E49ED59245C1850CB0C17C1CEEA05E</input>
+			<output>F7F0BFA319AC289C9F64E6FCDD531B44</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 13</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>8B64FF354C6E303F14EA34C9F667FEC9A17313A9822D68B9A276E01755C3D3B7</key>
+			<input>F7F0BFA319AC289C9F64E6FCDD531B44</input>
+			<output>6ACB8A177226AE47E2170F77D2FE4923</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 14</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>1A9D440EBAC3F3625E229B66C5D9249CCBB899BEF00BC6FE4061EF60873D9A94</key>
+			<input>6ACB8A177226AE47E2170F77D2FE4923</input>
+			<output>BAA9BB819332A87D6004164927EAC699</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 15</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>97F92B9AD44A3182FF10E07747C560B37111223F63396E832065F929A0D75C0D</key>
+			<input>BAA9BB819332A87D6004164927EAC699</input>
+			<output>EB84793E2D68632900B0517392EC4B94</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 16</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>2AEEBA2AC59870A7B4274B80FE74D55A9A955B014E510DAA20D5A85A323B1799</key>
+			<input>EB84793E2D68632900B0517392EC4B94</input>
+			<output>6C662FBE2B22394CC1D45453772C72BA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 17</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>EEA4B3C4F96C42E3B7DF5A3870C85B69F6F374BF657334E6E101FC0945176523</key>
+			<input>6C662FBE2B22394CC1D45453772C72BA</input>
+			<output>70D2BBC1FA7D49848D94112DA93A3C3C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 18</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>F930D1529C654F31549809C6CD5CC4608621CF7E9F0E7D626C95ED24EC2D591F</key>
+			<input>70D2BBC1FA7D49848D94112DA93A3C3C</input>
+			<output>1AFF91E67039133946638E4E505310C2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 19</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>5D0F461C1A5FF7BA5C93F0CED9DD49FF9CDE5E98EF376E5B2AF6636ABC7E49DD</key>
+			<input>1AFF91E67039133946638E4E505310C2</input>
+			<output>8E4358B22DE7BCDC8B8409E6250633BF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 20</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>AA4B475845EB19F601856A40AB517594129D062AC2D0D287A1726A8C99787A62</key>
+			<input>8E4358B22DE7BCDC8B8409E6250633BF</input>
+			<output>2A79FE5A222C9503954346D6C15AC679</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 21</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>9703F4DD85A3BE85343FFD15950A266B38E4F870E0FC478434312C5A5822BC1B</key>
+			<input>2A79FE5A222C9503954346D6C15AC679</input>
+			<output>0FF812C5B863282C294D7069F830EE86</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 22</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>3DD1B2ACBC6568851E767D20D82AD324371CEAB5589F6FA81D7C5C33A012529D</key>
+			<input>0FF812C5B863282C294D7069F830EE86</input>
+			<output>D449218625DE49D2B9514E032CA096E7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 23</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>95CC16235D3DFF4F7DB2116D2B380F39E355CB337D41267AA42D12308CB2C47A</key>
+			<input>D449218625DE49D2B9514E032CA096E7</input>
+			<output>F951EAC3BC78DB0AE13FDC33048D2D81</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 24</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A6F55AFBDA7EA939F6F2A28530C416781A0421F0C139FD704512CE03883FE9FB</key>
+			<input>F951EAC3BC78DB0AE13FDC33048D2D81</input>
+			<output>7D5A03A955F6403F918AC915AC22B797</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 25</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7C5D39885F4C0F4FCF672321B711C5B7675E225994CFBD4FD4980716241D5E6C</key>
+			<input>7D5A03A955F6403F918AC915AC22B797</input>
+			<output>CA2E1C274073AD2A3AE35C60ECA52A58</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 26</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>4E7B914B84BFA1A2D7BD409AFADD2EDCAD703E7ED4BC1065EE7B5B76C8B87434</key>
+			<input>CA2E1C274073AD2A3AE35C60ECA52A58</input>
+			<output>C5048FA0148CED10A06E107269DA9C95</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 27</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>F62D8C4822C5F89D51E3C68695D91CA66874B1DEC030FD754E154B04A162E8A1</key>
+			<input>C5048FA0148CED10A06E107269DA9C95</input>
+			<output>CB9B457A7A24577DA71AC335F0572DAB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 28</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C37AAD7CB20087F4B98390C59D3ECFB2A3EFF4A4BA14AA08E90F88315135C50A</key>
+			<input>CB9B457A7A24577DA71AC335F0572DAB</input>
+			<output>FA60BFF170DD30C29DF1807C1612CD67</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 29</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>1A2C6858B37D0341BF8796FB72D00B72598F4B55CAC99ACA74FE084D4727086D</key>
+			<input>FA60BFF170DD30C29DF1807C1612CD67</input>
+			<output>E2FACFB5DF4E69C911838FCC546D0C8E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 30</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>039B73E3A8DCF3C678FBC246AAECDAECBB7584E01587F303657D8781134A04E3</key>
+			<input>E2FACFB5DF4E69C911838FCC546D0C8E</input>
+			<output>749AB2B9176AFDB8B6714DF44BBF2B58</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 31</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>773D90EA7ECA29DFD9141A42EB2BBC64CFEF365902ED0EBBD30CCA7558F52FBB</key>
+			<input>749AB2B9176AFDB8B6714DF44BBF2B58</input>
+			<output>0285E58D09A8D33FB196FD16A8DF37C0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 32</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>598262B046B44784D977F6BE2553C6ACCD6AD3D40B45DD84629A3763F02A187B</key>
+			<input>0285E58D09A8D33FB196FD16A8DF37C0</input>
+			<output>1C952C46AE829D8805031A44F9D85521</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 33</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>AFAE657D3220CD1E6199A49754525F4AD1FFFF92A5C7400C67992D2709F24D5A</key>
+			<input>1C952C46AE829D8805031A44F9D85521</input>
+			<output>EED0A47E63FF354B4D9C53F7FD75D720</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 34</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A61F583BCFD120B8CABE1E4C616F4FC73F2F5BECC63875472A057ED0F4879A7A</key>
+			<input>EED0A47E63FF354B4D9C53F7FD75D720</input>
+			<output>10C1F0F7C32AD36F03AEA8DCE6AAE7BC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 35</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>FB76D4B83A7F50482A92F5A92CB60F522FEEAB1B0512A62829ABD60C122D7DC6</key>
+			<input>10C1F0F7C32AD36F03AEA8DCE6AAE7BC</input>
+			<output>372488DF6543180F1F2AE15E5B0C8785</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 36</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>35EAC2BA73F55570CB727220C027FE6218CA23C46051BE27368137524921FA43</key>
+			<input>372488DF6543180F1F2AE15E5B0C8785</input>
+			<output>3DE420FF3699D68DB69966F57D09045A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 37</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>48B6E08B9FD9B5C130E1829CD4540D9C252E033B56C868AA801851A73428FE19</key>
+			<input>3DE420FF3699D68DB69966F57D09045A</input>
+			<output>7858F396DC520131C789CB8F8C919CCD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 38</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>DB39C13F29241FF29C5BEB839705AD5B5D76F0AD8A9A699B47919A28B8B962D4</key>
+			<input>7858F396DC520131C789CB8F8C919CCD</input>
+			<output>07BE8BBF9FCD7D04888E61935DD7222F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 39</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A5F9B675531AB58C1FFC316C9359EA335AC87B121557149FCF1FFBBBE56E40FB</key>
+			<input>07BE8BBF9FCD7D04888E61935DD7222F</input>
+			<output>EDD619B7C12E2AF6BDAA953B2E7871EF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 40</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A02D1F14A64BBC67DD7EE9EAB3FB0EADB71E62A5D4793E6972B56E80CB163114</key>
+			<input>EDD619B7C12E2AF6BDAA953B2E7871EF</input>
+			<output>C748CDB645F1A1E44A63FAF00B2C3A45</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 41</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>177D7A6843B5ABBEB212E68734A7A05C7056AF1391889F8D38D69470C03A0B51</key>
+			<input>C748CDB645F1A1E44A63FAF00B2C3A45</input>
+			<output>BD3ED4C8CD7DBF4299AC63FE119D291E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 42</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>BD9BDC6BD09DEED3E75C918BE55E5332CD687BDB5CF520CFA17AF78ED1A7224F</key>
+			<input>BD3ED4C8CD7DBF4299AC63FE119D291E</input>
+			<output>A16B82F958441E90A965427C854EECBB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 43</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E6325C33EC76F8EDE02707A3AE82F1096C03F92204B13E5F081FB5F254E9CEF4</key>
+			<input>A16B82F958441E90A965427C854EECBB</input>
+			<output>E04E642689D1AB78E7CDE26D0563901C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 44</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>B8543DB3071AB9F0802D4106FBDA59648C4D9D048D609527EFD2579F518A5EE8</key>
+			<input>E04E642689D1AB78E7CDE26D0563901C</input>
+			<output>08E59C72C13C030DA3C50300861EA097</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 45</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>ECDD43A6B225DB325BFFE5462B66E97884A801764C5C962A4C17549FD794FE7F</key>
+			<input>08E59C72C13C030DA3C50300861EA097</input>
+			<output>C224B2EFEE07AAC33F1F6EB1295D9A50</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 46</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>741D627C8B47BED4497C71FDC9854912468CB399A25B3CE973083A2EFEC9642F</key>
+			<input>C224B2EFEE07AAC33F1F6EB1295D9A50</input>
+			<output>1653CE734D27B44369D4FE582E7A885F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 47</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A47BDC62B1D80815AC6BF04481C5601F50DF7DEAEF7C88AA1ADCC476D0B3EC70</key>
+			<input>1653CE734D27B44369D4FE582E7A885F</input>
+			<output>CADC89828B6147FAEC581DDCFF3C0960</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 48</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>CB91E738F51C111DAC2E0A3BF7B076A39A03F468641DCF50F684D9AA2F8FE510</key>
+			<input>CADC89828B6147FAEC581DDCFF3C0960</input>
+			<output>49402F0F4AFA2518D57C5D1CFCECC0F2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 49</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>BDA1FFAEE7B93EDFCA4374871A149550D343DB672EE7EA4823F884B6D36325E2</key>
+			<input>49402F0F4AFA2518D57C5D1CFCECC0F2</input>
+			<output>EBFF53AB449DE5A53EDC6E595AA47B10</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 50</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>18D865B8E8C779268D3876C22AF479FB38BC88CC6A7A0FED1D24EAEF89C75EF2</key>
+			<input>EBFF53AB449DE5A53EDC6E595AA47B10</input>
+			<output>30073458509F9AC9DA21B2DF566AB3BE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 51</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>967E2580238300563A34A6E70D84B4FF08BBBC943AE59524C7055830DFADED4C</key>
+			<input>30073458509F9AC9DA21B2DF566AB3BE</input>
+			<output>5AB9F90CC2A7603A68E2ACA95A2DE55D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 52</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A469A4E2F0B3847F3B52886FAD7DBAF652024598F842F51EAFE7F49985800811</key>
+			<input>5AB9F90CC2A7603A68E2ACA95A2DE55D</input>
+			<output>F22A13F395B6064172CA9DC572C26B2E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 53</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>9EA4946ED73FF8BB8700C18967C01968A028566B6DF4F35FDD2D695CF742633F</key>
+			<input>F22A13F395B6064172CA9DC572C26B2E</input>
+			<output>26E44B9F3DEBA8EE3531DDFA42F1DC14</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 54</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>3D25EEEACEF18702FD3896283CFF8A8386CC1DF4501F5BB1E81CB4A6B5B3BF2B</key>
+			<input>26E44B9F3DEBA8EE3531DDFA42F1DC14</input>
+			<output>32D9F05174FFF34594E952B7ADE09737</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 55</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>8BF2A692F6A35980C0CF02FF4650871BB415EDA524E0A8F47CF5E6111853281C</key>
+			<input>32D9F05174FFF34594E952B7ADE09737</input>
+			<output>7BEF027DEB1FF22774CE8A8A101DD41B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 56</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C90BF0E1A8B615B4C8BD318260BB80AECFFAEFD8CFFF5AD3083B6C9B084EFC07</key>
+			<input>7BEF027DEB1FF22774CE8A8A101DD41B</input>
+			<output>CF6B2444DFBBFE5B6A1CA99F2D13DE9A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 57</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C2A4C82B4AAEE0A22315026C6FE396900091CB9C1044A4886227C504255D229D</key>
+			<input>CF6B2444DFBBFE5B6A1CA99F2D13DE9A</input>
+			<output>14AD8C7B0F0460A3F48D5CD2CFFB385C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 58</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>BF76E610192E2AEF42FF8F487CDDC318143C47E71F40C42B96AA99D6EAA61AC1</key>
+			<input>14AD8C7B0F0460A3F48D5CD2CFFB385C</input>
+			<output>A5A850FC44A09C5985CE9661AF84F186</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 59</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>1E42AEC368C600F18CBFA305EB559946B194171B5BE0587213640FB74522EB47</key>
+			<input>A5A850FC44A09C5985CE9661AF84F186</input>
+			<output>E2895D416951FDA66B695ABFA313F89D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 60</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>4E9BC121E32849DAA501BEA4E534D9C2531D4A5A32B1A5D4780D5508E63113DA</key>
+			<input>E2895D416951FDA66B695ABFA313F89D</input>
+			<output>91E93AAECC5FB253F7463F101B2A4132</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 61</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>ACC045A67F680F14D3F8DA454C922071C2F470F4FEEE17878F4B6A18FD1B52E8</key>
+			<input>91E93AAECC5FB253F7463F101B2A4132</input>
+			<output>F0F339022B4001E72F3BCC1A140603AD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 62</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>4B47D2639B4A04D3C87D35DB4E63E563320749F6D5AE1660A070A602E91D5145</key>
+			<input>F0F339022B4001E72F3BCC1A140603AD</input>
+			<output>DBECAFF90EDD4555A5D9A23817520D51</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 63</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C73B1C617BE90F2710DFF2C3AC60E0F9E9EBE60FDB73533505A9043AFE4F5C14</key>
+			<input>DBECAFF90EDD4555A5D9A23817520D51</input>
+			<output>73315A63A8889095AFED497AEFE657B4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 64</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7F368758F7B303DE356481ED8EBFA46F9ADABC6C73FBC3A0AA444D4011A90BA0</key>
+			<input>73315A63A8889095AFED497AEFE657B4</input>
+			<output>3AB7E2F81D24D857308A1FC785559333</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 65</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>6D7EF76412498AB3C70AA3006CC87188A06D5E946EDF1BF79ACE528794FC9893</key>
+			<input>3AB7E2F81D24D857308A1FC785559333</input>
+			<output>7EAA2814E372F674AB0B6E0E428D1AF4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 66</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>D626AD50A7B86153BF9215A6A8F7E908DEC776808DADED8331C53C89D6718267</key>
+			<input>7EAA2814E372F674AB0B6E0E428D1AF4</input>
+			<output>ADD212A59AC9EF6A55AEAC22D35A1BFE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 67</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>4B9C7ED9AC7835C87DAB8BEF3ED6878B73156425176402E9646B90AB052B9999</key>
+			<input>ADD212A59AC9EF6A55AEAC22D35A1BFE</input>
+			<output>203ECD34AE1BB2F23BC673DBD74FA07B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 68</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E34FBDEF9D81B464DD1138093F132051532BA911B97FB01B5FADE370D26439E2</key>
+			<input>203ECD34AE1BB2F23BC673DBD74FA07B</input>
+			<output>0A18AFD5EEBBD338299897EA1F01324C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 69</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>77BD51D39775121C22343FFC66D40F0B593306C457C463237635749ACD650BAE</key>
+			<input>0A18AFD5EEBBD338299897EA1F01324C</input>
+			<output>2892A6AE9517642A0977942360FB8104</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 70</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>2761BF5478726AF184C86B45AE331A7E71A1A06AC2D307097F42E0B9AD9E8AAA</key>
+			<input>2892A6AE9517642A0977942360FB8104</input>
+			<output>8A4CD7685B9A1E663C3130C34BC418B9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 71</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>DD168B81E90D806FF468BE5E551F3344FBED77029949196F4373D07AE65A9213</key>
+			<input>8A4CD7685B9A1E663C3130C34BC418B9</input>
+			<output>C7C0A15A1A22363B378D5DD27A69D4C2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 72</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>3442C07C0E98F523F9278D934F424BD83C2DD658836B2F5474FE8DA89C3346D1</key>
+			<input>C7C0A15A1A22363B378D5DD27A69D4C2</input>
+			<output>55A8EF8CAE213FE3FD6AA77E7415400A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 73</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>291BD1577921B2947BC470C19727F0BD698539D42D4A10B789942AD6E82606DB</key>
+			<input>55A8EF8CAE213FE3FD6AA77E7415400A</input>
+			<output>0B07BEB71461356645936996AC45EB87</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 74</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>46475B4C21F0F4895FEFCC67632DBCDC62828763392B25D1CC0743404463ED5C</key>
+			<input>0B07BEB71461356645936996AC45EB87</input>
+			<output>6DFA5978F740C18CEE6F70FF50008BFD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 75</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>CF89BDDE5D363B3C44DB6FED2DAB47AA0F78DE1BCE6BE45D226833BF146366A1</key>
+			<input>6DFA5978F740C18CEE6F70FF50008BFD</input>
+			<output>6F58747F0336A2C4D2A397511E06D703</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 76</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>85F7D4A4503F7C3D52998384F8B29BEF6020AA64CD5D4699F0CBA4EE0A65B1A2</key>
+			<input>6F58747F0336A2C4D2A397511E06D703</input>
+			<output>32AC7B1B8FFA7D411F46C129EEFFAF13</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 77</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>CDE87D2DFB6198CFC737D93433419757528CD17F42A73BD8EF8D65C7E49A1EB1</key>
+			<input>32AC7B1B8FFA7D411F46C129EEFFAF13</input>
+			<output>CF5D039714814E72ECE7B9D5D1B27D11</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 78</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>BCB9F75F11496AABFE2633E393B59B449DD1D2E8562675AA036ADC12352863A0</key>
+			<input>CF5D039714814E72ECE7B9D5D1B27D11</input>
+			<output>3455F997002A1818967E2679A07C1D56</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 79</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>99E143B3524E724A009533AEC659E15BA9842B7F560C6DB29514FA6B95547EF6</key>
+			<input>3455F997002A1818967E2679A07C1D56</input>
+			<output>1F2113D44E290F1379A3CEC6D57D6279</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 80</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>90086C83794D6878FF2CE748ECA6EDF4B6A538AB182562A1ECB734AD40291C8F</key>
+			<input>1F2113D44E290F1379A3CEC6D57D6279</input>
+			<output>88866DB676AA3B21954AFDE0A0F33007</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 81</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>FA254EB868F6CD5965346ACAE326BD2A3E23551D6E8F598079FDC94DE0DA2C88</key>
+			<input>88866DB676AA3B21954AFDE0A0F33007</input>
+			<output>A1665AD0252764E2691E65FEFB609CDA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 82</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>92032C92FEEB0A5CD5D71AAF1BF5F47D9F450FCD4BA83D6210E3ACB31BBAB052</key>
+			<input>A1665AD0252764E2691E65FEFB609CDA</input>
+			<output>988CE348430A206546379A8C684C00F1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 83</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>CF32144187F7B98256B5B4204DFABC8807C9EC8508A21D0756D4363F73F6B0A3</key>
+			<input>988CE348430A206546379A8C684C00F1</input>
+			<output>60289F0B6A9ADD08BF8924AA6D7F4D12</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 84</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A7BD244360E3C325F3EA315C86959DD867E1738E6238C00FE95D12951E89FDB1</key>
+			<input>60289F0B6A9ADD08BF8924AA6D7F4D12</input>
+			<output>FA3EA122499D7E083D81F147D9D68B09</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 85</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>86213610EDC35A883A3364E8D529C6459DDFD2AC2BA5BE07D4DCE3D2C75F76B8</key>
+			<input>FA3EA122499D7E083D81F147D9D68B09</input>
+			<output>8E0B2452EF0515FC554A0AADF107714D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 86</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>92CC3AE4A2A68CD93634075E902C66CB13D4F6FEC4A0ABFB8196E97F365807F5</key>
+			<input>8E0B2452EF0515FC554A0AADF107714D</input>
+			<output>463CEAE83A50BA54280E792AB6B29B94</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 87</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>6D86FA00DBB949A29D4A6166F1EF531E55E81C16FEF011AFA998905580EA9C61</key>
+			<input>463CEAE83A50BA54280E792AB6B29B94</input>
+			<output>416CA710B874E50CC98DF842B3435AD1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 88</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C9400C98A04F5041BE1C6090A866F7DA1484BB064684F4A36015681733A9C6B0</key>
+			<input>416CA710B874E50CC98DF842B3435AD1</input>
+			<output>3BA8BB5C572C0404E4B8199528825904</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 89</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>ED5043E9699B37844033E8BD170588342F2C005A11A8F0A784AD71821B2B9FB4</key>
+			<input>3BA8BB5C572C0404E4B8199528825904</input>
+			<output>1D2812DE70AA2D59894DA4DA7FE906FC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 90</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>1964C6C301EEEF60B34E8E35175CAF8D320412846102DDFE0DE0D55864C29948</key>
+			<input>1D2812DE70AA2D59894DA4DA7FE906FC</input>
+			<output>2735CAAFE653442FFC2E878AE2829998</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 91</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>567B1E0737D0F72F82EB3A47D17209191531D82B875199D1F1CE52D2864000D0</key>
+			<input>2735CAAFE653442FFC2E878AE2829998</input>
+			<output>07B5FA4835E5DFC67E02F490A497145D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 92</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>89AAD6DCA6A8973580D02768EBC8372412842263B2B446178FCCA64222D7148D</key>
+			<input>07B5FA4835E5DFC67E02F490A497145D</input>
+			<output>A31272EC8623213B015811FAE12330CE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 93</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>4B4AB47A0DBA39907D8E919767E69518B196508F3497672C8E94B7B8C3F42443</key>
+			<input>A31272EC8623213B015811FAE12330CE</input>
+			<output>9132AB51C9738A62CABDE4977947E0BF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 94</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>BEC71999AEE5517C243B65830D30DEBB20A4FBDEFDE4ED4E4429532FBAB3C4FC</key>
+			<input>9132AB51C9738A62CABDE4977947E0BF</input>
+			<output>689375EA83B61894631E6EFA2D509531</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 95</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>77CE2C97A458300D7C95C6871CEB56D648378E347E52F5DA27373DD597E351CD</key>
+			<input>689375EA83B61894631E6EFA2D509531</input>
+			<output>AAA5C6C5917DFC103383DE6C79EB2BA6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 96</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>0AD691774612F7EFA41FE39B8B3A2D14E29248F1EF2F09CA14B4E3B9EE087A6B</key>
+			<input>AAA5C6C5917DFC103383DE6C79EB2BA6</input>
+			<output>29D9945BDB3770ED2A41D2760D0DC51D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 97</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>4E1D42ADC4CEF6BAE3A5B9E08F7ACD65CB4BDCAA341879273EF531CFE305BF76</key>
+			<input>29D9945BDB3770ED2A41D2760D0DC51D</input>
+			<output>2F9B3C4E1FDCDC8F7D5DFBEA342284F2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 98</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>2D76A3E35C075DB14E40A59F46E07A81E4D0E0E42BC4A5A843A8CA25D7273B84</key>
+			<input>2F9B3C4E1FDCDC8F7D5DFBEA342284F2</input>
+			<output>ED4CFCF1C8D226EBACCC8FF11B1C81B8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 99</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E7364D0D17D723A69C0BA956778BD0E9099C1C15E3168343EF6445D4CC3BBA3C</key>
+			<input>ED4CFCF1C8D226EBACCC8FF11B1C81B8</input>
+			<output>2F9B5E1392B767E8497F849D00E98193</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 100</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>709380C7012CB4272A69F6D4936B163E2607420671A1E4ABA61BC149CCD23BAF</key>
+			<input>2F9B5E1392B767E8497F849D00E98193</input>
+			<output>3BE783A4A38EFB44150AA7A08E1888F6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 101</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>98FF27B8AB7B91F690231E24608076EF1DE0C1A2D22F1FEFB31166E942CAB359</key>
+			<input>3BE783A4A38EFB44150AA7A08E1888F6</input>
+			<output>F35AED9C83E53D2EADDE507345096218</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 102</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>24F9D2FF633EE9AAED7321CFCF4D1D20EEBA2C3E51CA22C11ECF369A07C3D141</key>
+			<input>F35AED9C83E53D2EADDE507345096218</input>
+			<output>A22BF93FD521A6E59C196022FF252DC2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 103</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>70E491840BC5C42A878655E18E9AAAA74C91D50184EB842482D656B8F8E6FC83</key>
+			<input>A22BF93FD521A6E59C196022FF252DC2</input>
+			<output>11E67B52F8CD97D63268485EB546E1FE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 104</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>098FF2D6DE55FF5C66D5AD7D5949643A5D77AE537C2613F2B0BE1EE64DA01D7D</key>
+			<input>11E67B52F8CD97D63268485EB546E1FE</input>
+			<output>1E67AF3F7E7FDEFB868696E96F718ACC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 105</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>B89EA7CBAE57B8AD39F23B22A8F651A44310016C0259CD093638880F22D197B1</key>
+			<input>1E67AF3F7E7FDEFB868696E96F718ACC</input>
+			<output>332B0045710B2DD6EC3D619051580C7F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 106</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>39F71BC56EBFA91088499DC41A0C5B5B703B01297352E0DFDA05E99F73899BCE</key>
+			<input>332B0045710B2DD6EC3D619051580C7F</input>
+			<output>86F3D75D18F7AB31C6C52C19B0C35023</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 107</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>417147DB03FDA0B26BEED7FE8A9487D5F6C8D6746BA54BEE1CC0C586C34ACBED</key>
+			<input>86F3D75D18F7AB31C6C52C19B0C35023</input>
+			<output>452E6C2DA8B93A1E282F1A86AECB9F15</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 108</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C4336C26C20AD7811578044800A51E8EB3E6BA59C31C71F034EFDF006D8154F8</key>
+			<input>452E6C2DA8B93A1E282F1A86AECB9F15</input>
+			<output>637F010BAC28AC108331F4E26B262D3A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 109</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>D0369C75D40EEF29CF7588FB87EE2ED2D099BB526F34DDE0B7DE2BE206A779C2</key>
+			<input>637F010BAC28AC108331F4E26B262D3A</input>
+			<output>3F3DCA8B4C2DDFD556880A17FB575E7B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 110</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>4DE25218630A678C287EC42F93985D22EFA471D923190235E15621F5FDF027B9</key>
+			<input>3F3DCA8B4C2DDFD556880A17FB575E7B</input>
+			<output>3DA8C1D40B51A8BC6E728D7A1E6B3B2E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 111</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C0526C3096805B532433C0248E153A00D20CB00D2848AA898F24AC8FE39B1C97</key>
+			<input>3DA8C1D40B51A8BC6E728D7A1E6B3B2E</input>
+			<output>449B050578191E4C156F7040EF27D5EC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 112</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>6A1B7384328BAA25B6A857FB12A90FD49697B5085051B4C59A4BDCCF0CBCC97B</key>
+			<input>449B050578191E4C156F7040EF27D5EC</input>
+			<output>D58ACA128F936803BDD5EC1E6DECAB04</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 113</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>44B7F3EB0EF0EF4325353D30F35C4D71431D7F1ADFC2DCC6279E30D16150627F</key>
+			<input>D58ACA128F936803BDD5EC1E6DECAB04</input>
+			<output>77F1011F968AD46338CA68D5DF37959E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 114</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E1E6BBD70AEAC4D65159422B3DFE82DF34EC7E05494808A51F545804BE67F7E1</key>
+			<input>77F1011F968AD46338CA68D5DF37959E</input>
+			<output>FC692161766A29C9E6A86C353E2F3FE5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 115</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>5C33A88179175BB12593D6574245A6A6C8855F643F22216CF9FC34318048C804</key>
+			<input>FC692161766A29C9E6A86C353E2F3FE5</input>
+			<output>F5FD2F77BC4908F470142417048C6233</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 116</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E6A3CDD47570AEC4FC3B3453F78F253F3D787013836B299889E8102684C4AA37</key>
+			<input>F5FD2F77BC4908F470142417048C6233</input>
+			<output>FBDC2774D7E426CBD8B62ABD0E0EAA6F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 117</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>4F5B3EDC53366D4C74D94663E17CBDB6C6A45767548F0F53515E3A9B8ACA0058</key>
+			<input>FBDC2774D7E426CBD8B62ABD0E0EAA6F</input>
+			<output>796D978C9D724C1C9445EC5BD272CEB0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 118</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>9119AD19E78100B3D04BED87FF5C22B5BFC9C0EBC9FD434FC51BD6C058B8CEE8</key>
+			<input>796D978C9D724C1C9445EC5BD272CEB0</input>
+			<output>15ECF7D3F516D3CBA0307959287A5BAB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 119</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>600B4D7604FF2650611C453A50D02275AA2537383CEB9084652BAF9970C29543</key>
+			<input>15ECF7D3F516D3CBA0307959287A5BAB</input>
+			<output>DA67996084E9C74C143310FC3CF207DD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 120</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>3B8E0B73BBF745BB360EA50E7DA9B3297042AE58B80257C87118BF654C30929E</key>
+			<input>DA67996084E9C74C143310FC3CF207DD</input>
+			<output>6E9BC50580D45D54FEEC74830C0D9516</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 121</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>231592D0CE761359AE2E85CC4E4156A01ED96B5D38D60A9C8FF4CBE6403D0788</key>
+			<input>6E9BC50580D45D54FEEC74830C0D9516</input>
+			<output>A4B0F6A50C72C5EE755FA5595334DF2E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 122</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7ABD82D278910B909B0D6219EF5E0D98BA699DF834A4CF72FAAB6EBF1309D8A6</key>
+			<input>A4B0F6A50C72C5EE755FA5595334DF2E</input>
+			<output>24CDAEEB54A1EB7E2D4A0BEE526EA6E0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 123</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>5C8F7B23850BD287F011E257D691F8979EA433136005240CD7E1655141677E46</key>
+			<input>24CDAEEB54A1EB7E2D4A0BEE526EA6E0</input>
+			<output>84F24CDC0AA63CEA2DDE8F94C8776765</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 124</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>DF8EEE46309021F6E7D7D41908B6CABE1A567FCF6AA318E6FA3FEAC589101923</key>
+			<input>84F24CDC0AA63CEA2DDE8F94C8776765</input>
+			<output>EEA20542DEDB0B99A2144942FFEAC820</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 125</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>8634A663D618B3BB54F44A5849170ACDF4F47A8DB478137F582BA38776FAD103</key>
+			<input>EEA20542DEDB0B99A2144942FFEAC820</input>
+			<output>CDD91737753BE9F672A60DD722202127</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 126</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E41913E97F21A4E6A948ABEB45279E0D392D6DBAC143FA892A8DAE5054DAF024</key>
+			<input>CDD91737753BE9F672A60DD722202127</input>
+			<output>E6E2F7846E06BB90F19B21521DD4D238</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 127</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>1E63624B5EADBE7D42255F208CC7D348DFCF9A3EAF454119DB168F02490E221C</key>
+			<input>E6E2F7846E06BB90F19B21521DD4D238</input>
+			<output>0110CA2647D43C8BD012976113EFB860</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 128</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>8476329019AA4D0D91C71E0DFFF47906DEDF5018E8917D920B0418635AE19A7C</key>
+			<input>0110CA2647D43C8BD012976113EFB860</input>
+			<output>CC9AACC98876387D09565F1A20D329AF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 129</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>DB1C0803BC1AD91C5621FA8C54AA83EF1245FCD160E745EF025247797A32B3D3</key>
+			<input>CC9AACC98876387D09565F1A20D329AF</input>
+			<output>55AB296D67DEEBA179AD8093C1952CC2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 130</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>5C0887FF7C888D7800C43BC9E88D9B3B47EED5BC0739AE4E7BFFC7EABBA79F11</key>
+			<input>55AB296D67DEEBA179AD8093C1952CC2</input>
+			<output>27016691505182706848CD5D7A2C5CAB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 131</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>0FFBE12ADFA17F3BF26622C20311D38960EFB32D57682C3E13B70AB7C18BC3BA</key>
+			<input>27016691505182706848CD5D7A2C5CAB</input>
+			<output>5E6C9FAF480FFE51D7687ADE203D5367</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 132</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C4C12330BC21062618E2E83EC3755DAC3E832C821F67D26FC4DF7069E1B690DD</key>
+			<input>5E6C9FAF480FFE51D7687ADE203D5367</input>
+			<output>082FF20DC6AFBA3888348E5724F5C526</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 133</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>3F6BF56A0136C1058924FCD831A65EBC36ACDE8FD9C868574CEBFE3EC54355FB</key>
+			<input>082FF20DC6AFBA3888348E5724F5C526</input>
+			<output>67AE68CDDA349A067339F28FA216A188</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 134</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>4AB9E8E9B5BB84353006AB43065C6B8F5102B64203FCF2513FD20CB16755F473</key>
+			<input>67AE68CDDA349A067339F28FA216A188</input>
+			<output>3316F37F97D679B78A537A0E107923AB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 135</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E04DE045508423D735B20168C7974CC26214453D942A8BE6B58176BF772CD7D8</key>
+			<input>3316F37F97D679B78A537A0E107923AB</input>
+			<output>00AEB331686999C5F5FB1E7C6CCF1072</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 136</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>D4D19E570760468E9703F0E49C4AC9F262BAF60CFC431223407A68C31BE3C7AA</key>
+			<input>00AEB331686999C5F5FB1E7C6CCF1072</input>
+			<output>29A5DB93D2AE9B1ED9714213EAD9AA1C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 137</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>6D6789354D2CC3EFA9ABFC466F21A6E24B1F2D9F2EED893D990B2AD0F13A6DB6</key>
+			<input>29A5DB93D2AE9B1ED9714213EAD9AA1C</input>
+			<output>E98426CB0F858A084EB66311188D9200</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 138</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>06ED66801B81943BF1640AAE222A23C7A29B0B5421680335D7BD49C1E9B7FFB6</key>
+			<input>E98426CB0F858A084EB66311188D9200</input>
+			<output>21527326577425261F2D40268C428E29</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 139</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>2232758279A806C21870C85273C12FA883C97872761C2613C89009E765F5719F</key>
+			<input>21527326577425261F2D40268C428E29</input>
+			<output>CC9393A43B8A8194C0EC29F989E597A6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 140</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E7E22C2A6E6D4A1BFE7B706047094AF44F5AEBD64D96A787087C201EEC10E639</key>
+			<input>CC9393A43B8A8194C0EC29F989E597A6</input>
+			<output>714846062B262A823B24164900DF91AD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 141</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>89A78F64BCAEE02CAC92928134C2567C3E12ADD066B08D0533583657ECCF7794</key>
+			<input>714846062B262A823B24164900DF91AD</input>
+			<output>1D0AC79D1E9BB36A6A6A8E49538C08FF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 142</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>4F6E8D81296C95FAA0FE6F2D324A392223186A4D782B3E6F5932B81EBF437F6B</key>
+			<input>1D0AC79D1E9BB36A6A6A8E49538C08FF</input>
+			<output>403D8B10E0AB31493589AFFA8E8B1BEE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 143</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>24E398291CF018E4666728F4F635F74D6325E15D98800F266CBB17E431C86485</key>
+			<input>403D8B10E0AB31493589AFFA8E8B1BEE</input>
+			<output>9E0516EDA401DAAF6AC013841C0D63C8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 144</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>F80CF8AF1FA463D2ED7C7F59C1B239B0FD20F7B03C81D589067B04602DC5074D</key>
+			<input>9E0516EDA401DAAF6AC013841C0D63C8</input>
+			<output>74B2B200922B21AA20A0C5860CFB7E4D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 145</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>577A5456424E1A76C3E113EB82CCDF34899245B0AEAAF42326DBC1E6213E7900</key>
+			<input>74B2B200922B21AA20A0C5860CFB7E4D</input>
+			<output>25AFF27E13888A638CDA2673D7F16AFD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 146</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7C623BBD4777E6EF9BC058DF5BA27BEAAC3DB7CEBD227E40AA01E795F6CF13FD</key>
+			<input>25AFF27E13888A638CDA2673D7F16AFD</input>
+			<output>A54F400AB9C52913D7302BA36BF217DD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 147</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A8B33E433720C4B925C4F0315DDB73B00972F7C404E757537D31CC369D3D0420</key>
+			<input>A54F400AB9C52913D7302BA36BF217DD</input>
+			<output>48A263A07112AA95EA1414CE03545790</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 148</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>DA864B91AED3E2FAC25782F4A50C13C841D0946475F5FDC69725D8F89E6953B0</key>
+			<input>48A263A07112AA95EA1414CE03545790</input>
+			<output>541547E924522E59C1721D130B64D92F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 149</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>EEB5FF6F9C435510E12934F5E806553E15C5D38D51A7D39F5657C5EB950D8A9F</key>
+			<input>541547E924522E59C1721D130B64D92F</input>
+			<output>5830544939EB4607145538388840248B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 150</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>24E609AD29E4C601189CB2FE119767884DF587C4684C95984202FDD31D4DAE14</key>
+			<input>5830544939EB4607145538388840248B</input>
+			<output>CBE1F82FD3318448AA36ADB5967EF865</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 151</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>5A7EBB76C38C2E5F038612A06E84BB2C86147FEBBB7D11D0E83450668B335671</key>
+			<input>CBE1F82FD3318448AA36ADB5967EF865</input>
+			<output>3B104547D2D620879E3CB2B5774C0FB4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 152</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>827EFCB7BC862C2466B8C79FC297AD3DBD043AAC69AB31577608E2D3FC7F59C5</key>
+			<input>3B104547D2D620879E3CB2B5774C0FB4</input>
+			<output>B667F7544FE49A07611A160E3312F69A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 153</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>9BC6C18805144F98CAEA7B252B3EE2930B63CDF8264FAB501712F4DDCF6DAF5F</key>
+			<input>B667F7544FE49A07611A160E3312F69A</input>
+			<output>C3E928FDEB5D7DDF7CF32C4DBCFE32F3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 154</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>2BC00DF6D26F9A968C3BFF47AE761718C88AE505CD12D68F6BE1D89073939DAC</key>
+			<input>C3E928FDEB5D7DDF7CF32C4DBCFE32F3</input>
+			<output>72A9CF7AA2EDAF1907D77D10A02A45DE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 155</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>15A0EE054E2D5E7EDCF3FC766860ACCDBA232A7F6FFF79966C36A580D3B9D872</key>
+			<input>72A9CF7AA2EDAF1907D77D10A02A45DE</input>
+			<output>97ABFAAD506940F88FDC8F55AD7EA919</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 156</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C56C11F3A96852119C16751963C24CD42D88D0D23F96396EE3EA2AD57EC7716B</key>
+			<input>97ABFAAD506940F88FDC8F55AD7EA919</input>
+			<output>DD55A02B1EB01EB091CA6337D0BEB5BD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 157</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>8634CC7B3416FCE337AAFA39791D1545F0DD70F9212627DE722049E2AE79C4D6</key>
+			<input>DD55A02B1EB01EB091CA6337D0BEB5BD</input>
+			<output>C5EB3DF5A328B267F3895CECD4A828AF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 158</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>DDC1361E1432CCAC3551E2478A321A0035364D0C820E95B981A9150E7AD1EC79</key>
+			<input>C5EB3DF5A328B267F3895CECD4A828AF</input>
+			<output>49952DACD97FD5583A7D9C4FF515EC17</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 159</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>52658EEC2A7441D866CFA15944BB12857CA360A05B7140E1BBD489418FC4006E</key>
+			<input>49952DACD97FD5583A7D9C4FF515EC17</input>
+			<output>4971EEEF871E935AC470BD770802B04B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 160</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>05FC7A181B1935EA8DCEC961B0DFC14B35D28E4FDC6FD3BB7FA4343687C6B025</key>
+			<input>4971EEEF871E935AC470BD770802B04B</input>
+			<output>3DB5E9165C24EC3790DC3E53E5E5D2DE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 161</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>8D2793B7BDCF80338AA39C86008361BC08676759804B3F8CEF780A65622362FB</key>
+			<input>3DB5E9165C24EC3790DC3E53E5E5D2DE</input>
+			<output>1FDB5D4FBB59F082B3B617C8A23734F1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 162</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>37BE37961B77866869826907BB9E9C1717BC3A163B12CF0E5CCE1DADC014560A</key>
+			<input>1FDB5D4FBB59F082B3B617C8A23734F1</input>
+			<output>8C59775AD3FF7C337B22C8E785321E25</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 163</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>F3184EA1C8FFE3D436BEE076AA999B659BE54D4CE8EDB33D27ECD54A4526482F</key>
+			<input>8C59775AD3FF7C337B22C8E785321E25</input>
+			<output>0CB834FCC0CFDAECAF4AFC5A2E38DF23</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 164</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>CACF50D99B066EB84CBFAEEC9B0D6769975D79B0282269D188A629106B1E970C</key>
+			<input>0CB834FCC0CFDAECAF4AFC5A2E38DF23</input>
+			<output>229EB7B6A97D91921BCD8C95A0D7C17B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 165</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>3FA80E4FB785B9FC3B058CC62D289958B5C3CE06815FF843936BA585CBC95677</key>
+			<input>229EB7B6A97D91921BCD8C95A0D7C17B</input>
+			<output>0D7692C281DD4FF35D9B1620E1385C34</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 166</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>CE2A3A893C96A4F1AA81AD52EBCC3C23B8B55CC40082B7B0CEF0B3A52AF10A43</key>
+			<input>0D7692C281DD4FF35D9B1620E1385C34</input>
+			<output>D3C5FE594F5C8C5A359235448EB20146</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 167</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>FC8642DB8CB42D1B1251CB7FE6AFF90D6B70A29D4FDE3BEAFB6286E1A4430B05</key>
+			<input>D3C5FE594F5C8C5A359235448EB20146</input>
+			<output>8C0F88460C700D96847249807B84223F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 168</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>2A9C9FD184A5B2418FD415A228A5C0AFE77F2ADB43AE367C7F10CF61DFC7293A</key>
+			<input>8C0F88460C700D96847249807B84223F</input>
+			<output>5A4237A5C2DABDCDA6389D5FC66032F6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 169</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>FDB533163E989D2FA32CCA5D3CC5D376BD3D1D7E81748BB1D928523E19A71BCC</key>
+			<input>5A4237A5C2DABDCDA6389D5FC66032F6</input>
+			<output>BF8AAC6B1536CCCCECCC9D6BE970EB3E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 170</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>3C4B3CF0FD0C4292B2497175D4400F8902B7B1159442477D35E4CF55F0D7F0F2</key>
+			<input>BF8AAC6B1536CCCCECCC9D6BE970EB3E</input>
+			<output>97CE58407FD26D63C86765CB05EA6277</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 171</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>367862F3E2C5520EA2269392B6139E9C9579E955EB902A1EFD83AA9EF53D9285</key>
+			<input>97CE58407FD26D63C86765CB05EA6277</input>
+			<output>B411687B044B624077A92D8C130697B9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 172</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>0300AF491DAF6C607417FB1FD9B1EC612168812EEFDB485E8A2A8712E63B053C</key>
+			<input>B411687B044B624077A92D8C130697B9</input>
+			<output>D22E92A5132EA85F4FB25EE19C248008</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 173</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7C92EF49A7D27E97F1884299B635F0ADF346138BFCF5E001C598D9F37A1F8534</key>
+			<input>D22E92A5132EA85F4FB25EE19C248008</input>
+			<output>FD6817CD680A2A8CE93E4B4F9CAA72AA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 174</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>80EABB1D8C9B5F769FCAC87ED8D0C9CA0E2E044694FFCA8D2CA692BCE6B5F79E</key>
+			<input>FD6817CD680A2A8CE93E4B4F9CAA72AA</input>
+			<output>8DDD9B3B9278D2DE3453EA6769E1C39C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 175</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>FB345E2D7BBBED527259FAEAEA79C05D83F39F7D0687185318F578DB8F543402</key>
+			<input>8DDD9B3B9278D2DE3453EA6769E1C39C</input>
+			<output>AE69F5CD8D342E74113E979ACE3539F2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 176</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7D93DC33FF2266770291160CD317C65E2D9A6AB08BB3362709CBEF4141610DF0</key>
+			<input>AE69F5CD8D342E74113E979ACE3539F2</input>
+			<output>30E19A4E84997172486DAE4FB4C41E58</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 177</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>82362FF3E9C1AD93474CF4CABD354E7E1D7BF0FE0F2A475541A6410EF5A513A8</key>
+			<input>30E19A4E84997172486DAE4FB4C41E58</input>
+			<output>75B3D07617EB189512DC5161908940C1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 178</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>8EFD0FCB3855CCC16BD919FBD17596C768C8208818C15FC0537A106F652C5369</key>
+			<input>75B3D07617EB189512DC5161908940C1</input>
+			<output>FD13E89107FAFA44998721AD726C620F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 179</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>2299D22282C798107F489637DCD479C395DBC8191F3BA584CAFD31C217403166</key>
+			<input>FD13E89107FAFA44998721AD726C620F</input>
+			<output>C1B0210C0387864717BD7D02063B6A69</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 180</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>75E05597A2BBDF23E5BD172C83548C9B546BE9151CBC23C3DD404CC0117B5B0F</key>
+			<input>C1B0210C0387864717BD7D02063B6A69</input>
+			<output>0E442B38E9024CCA5DC43A7B8D5F6FCF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 181</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>4DBC8DCB8C25B5F4AD374BA3064216555A2FC22DF5BE6F09808476BB9C2434C0</key>
+			<input>0E442B38E9024CCA5DC43A7B8D5F6FCF</input>
+			<output>8FD213EC19D62FD2C19E6C91B97E56A0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 182</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E393BAD07E955EBC1446B847DE5A891ED5FDD1C1EC6840DB411A1A2A255A6260</key>
+			<input>8FD213EC19D62FD2C19E6C91B97E56A0</input>
+			<output>F52ADFD33A68EE198F33708E676D0CE9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 183</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>3F33A76F87DB0388C2D66C7F2EFAA1B820D70E12D600AEC2CE296AA442376E89</key>
+			<input>F52ADFD33A68EE198F33708E676D0CE9</input>
+			<output>7649EB4283505EEEE1BE16DB6677B3F5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 184</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>04BC65DE70C9E01EEEDA5A507C218C8D569EE5505550F02C2F977C7F2440DD7C</key>
+			<input>7649EB4283505EEEE1BE16DB6677B3F5</input>
+			<output>6FB1C4AD8A5B8A606621A8BF4277F3DC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 185</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>8A6EF9710F4AE10EB60C8D25A8F67C50392F21FDDF0B7A4C49B6D4C066372EA0</key>
+			<input>6FB1C4AD8A5B8A606621A8BF4277F3DC</input>
+			<output>22C2CF9572D708F688291056E2F8E120</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 186</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>ED6D084D5F8AA4F201F9C20EA26A90E81BEDEE68ADDC72BAC19FC49684CFCF80</key>
+			<input>22C2CF9572D708F688291056E2F8E120</input>
+			<output>28AC7257911ECEB549D910BFA0905AE5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 187</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>BA2735927D6A76B952C08A219FBB572233419C3F3CC2BC0F8846D429245F9565</key>
+			<input>28AC7257911ECEB549D910BFA0905AE5</input>
+			<output>2A1F3842DF988CDA0C6415450A657DB2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 188</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>53BCC06CCCBC31A5BEE2CE88E6EAEFAC195EA47DE35A30D58422C16C2E3AE8D7</key>
+			<input>2A1F3842DF988CDA0C6415450A657DB2</input>
+			<output>6055EB3A24DE4D87C6BA5073A5BAC919</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 189</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>DF88C3CEC31C7B88D8AC0C7AAA2CED99790B4F47C7847D524298911F8B8021CE</key>
+			<input>6055EB3A24DE4D87C6BA5073A5BAC919</input>
+			<output>CC051CCD37068B41935FD14538DFEF82</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 190</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>265B351B93FF456D5A1EAADD2BEA1296B50E538AF082F613D1C7405AB35FCE4C</key>
+			<input>CC051CCD37068B41935FD14538DFEF82</input>
+			<output>225B63F455DD72EC87CF6FD5DF0FDAF3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 191</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>BAC4C541E0A693CF8A3892A82F67CD959755307EA55F84FF56082F8F6C5014BF</key>
+			<input>225B63F455DD72EC87CF6FD5DF0FDAF3</input>
+			<output>64027F6B72F0A11628F66D5C502658E8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 192</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E8F68EF4909A128F331DFEFAE8560EBCF3574F15D7AF25E97EFE42D33C764C57</key>
+			<input>64027F6B72F0A11628F66D5C502658E8</input>
+			<output>529AAF9163EDA1BC39E66D2556BE938B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 193</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>1951B1A50BED04096C17E816D4EC6225A1CDE084B442845547182FF66AC8DFDC</key>
+			<input>529AAF9163EDA1BC39E66D2556BE938B</input>
+			<output>F93E85D98EB9BDDD7D3844421235FBAB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 194</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>D39AF070909FBC0E3226E28041B0286158F3655D3AFB39883A206BB478FD2477</key>
+			<input>F93E85D98EB9BDDD7D3844421235FBAB</input>
+			<output>16B6B3CC08003BA36C9E84B1EE9CD7CC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 195</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>B705C6CCD010B980E386B8690C83E96C4E45D69132FB022B56BEEF059661F3BB</key>
+			<input>16B6B3CC08003BA36C9E84B1EE9CD7CC</input>
+			<output>301AFE66055149FA5775A9CE19F1FF63</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 196</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>B3C813D4FCBD31ED95E7E71CEC15153E7E5F28F737AA4BD101CB46CB8F900CD8</key>
+			<input>301AFE66055149FA5775A9CE19F1FF63</input>
+			<output>1090E68F7C8400861589E304A5B815CD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 197</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>0EBC30ADB6946B6415C0309D636C79F46ECFCE784B2E4B571442A5CF2A281915</key>
+			<input>1090E68F7C8400861589E304A5B815CD</input>
+			<output>2778F0C712804C0B8D085B196A4D73C4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 198</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>9C5815C6705B39DEECB8BDDDC9329A0D49B73EBF59AE075C994AFED640656AD1</key>
+			<input>2778F0C712804C0B8D085B196A4D73C4</input>
+			<output>14FECB137DC9C38A04D92B60A177A61D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 199</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>9D83B41F8F415B5F3B2C08682383471B5D49F5AC2467C4D69D93D5B6E112CCCC</key>
+			<input>14FECB137DC9C38A04D92B60A177A61D</input>
+			<output>0EF1321EA52EAA7624E3F2EFD0C886AF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 200</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>2960CEE0AF043ED1A549BA223F6C1CF153B8C7B281496EA0B970275931DA4A63</key>
+			<input>0EF1321EA52EAA7624E3F2EFD0C886AF</input>
+			<output>AFA8B2129577EC178B59D42D1B92D313</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 201</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>51E0DECF48A151021C70EC3EE3CE9008FC1075A0143E82B73229F3742A489970</key>
+			<input>AFA8B2129577EC178B59D42D1B92D313</input>
+			<output>3351631344E6EF86712327D3C05EBDEB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 202</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>5F34A789B0B1185BA7D1BB3EF2677060CF4116B350D86D31430AD4A7EA16249B</key>
+			<input>3351631344E6EF86712327D3C05EBDEB</input>
+			<output>C299D0556B0D15014627CADBCCC3DC33</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 203</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>FC3E420F84F4C75802DCF68ABF0030E70DD8C6E63BD57830052D1E7C26D5F8A8</key>
+			<input>C299D0556B0D15014627CADBCCC3DC33</input>
+			<output>CEB83A2B9DD76B649BAAE48A8B772A5C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 204</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C04448AD77DBF33F22A2346C7A40F813C360FCCDA60213549E87FAF6ADA2D2F4</key>
+			<input>CEB83A2B9DD76B649BAAE48A8B772A5C</input>
+			<output>A8C6AEC94E82BC68AC8E29A8CB9504F6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 205</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>3FA863ECC4AFA141DD7349C44F94FEE16BA65204E880AF3C3209D35E6637D602</key>
+			<input>A8C6AEC94E82BC68AC8E29A8CB9504F6</input>
+			<output>1EDED55C8D3309F828C17AF072C79D7A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 206</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>8893E5FB27191AE09E4AB5F062289F117578875865B3A6C41AC8A9AE14F04B78</key>
+			<input>1EDED55C8D3309F828C17AF072C79D7A</input>
+			<output>FD2AC22891FB294EB0AD2BADFE759C29</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 207</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>90BA1205BB7927E86F9895855648D3EB88524570F4488F8AAA658203EA85D751</key>
+			<input>FD2AC22891FB294EB0AD2BADFE759C29</input>
+			<output>2FE6AE59ACD516EE1567A7A1C43FDE2A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 208</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>278FD88834EA67564F301785C4045D6FA7B4EB29589D9964BF0225A22EBA097B</key>
+			<input>2FE6AE59ACD516EE1567A7A1C43FDE2A</input>
+			<output>35BEC13F159F61C7EF4C860AD3B41A75</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 209</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E9D2F23C213D02724737A5E907BFBDF0920A2A164D02F8A3504EA3A8FD0E130E</key>
+			<input>35BEC13F159F61C7EF4C860AD3B41A75</input>
+			<output>650D65D6ED716DA515EAAF1A7447C3FB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 210</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>4A0A997634E2D9305795FC90291F6FD9F7074FC0A073950645A40CB28949D0F5</key>
+			<input>650D65D6ED716DA515EAAF1A7447C3FB</input>
+			<output>7AFE0D2F234A6CDEDD7103DA09147285</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 211</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>BD671DD81F8FCD9D472564589AA13F5D8DF942EF8339F9D898D50F68805DA270</key>
+			<input>7AFE0D2F234A6CDEDD7103DA09147285</input>
+			<output>40627620B17313AF42EA7DD6CFD900F9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 212</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>5668F777C46BF78DC664E72186626BF5CD9B34CF324AEA77DA3F72BE4F84A289</key>
+			<input>40627620B17313AF42EA7DD6CFD900F9</input>
+			<output>0C62985837C8C6FB468BD6E3928F8497</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 213</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>B82B5D4C3DEF62CFAE064CFDB5D904EFC1F9AC9705822C8C9CB4A45DDD0B261E</key>
+			<input>0C62985837C8C6FB468BD6E3928F8497</input>
+			<output>A1FFF4635AAF2AD8AE6EA8C70858EF3B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 214</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>6A179EF63528EFA2B12DBA23D1EC8D21600658F45F2D065432DA0C9AD553C925</key>
+			<input>A1FFF4635AAF2AD8AE6EA8C70858EF3B</input>
+			<output>403F8E2D050E2976487BBEDD6466357E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 215</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>6857720AC4DDCFFE8A96B455C973901A2039D6D95A232F227AA1B247B135FC5B</key>
+			<input>403F8E2D050E2976487BBEDD6466357E</input>
+			<output>2DD7EB8476988C850E8D95DC598FC61A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 216</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>5B938E230BFE9056471E7C83A6ED03930DEE3D5D2CBBA3A7742C279BE8BA3A41</key>
+			<input>2DD7EB8476988C850E8D95DC598FC61A</input>
+			<output>676B96F400AE18138B302FD3D70D490E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 217</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>4CE7ECA340DEC23715C53343EB9162DA6A85ABA92C15BBB4FF1C08483FB7734F</key>
+			<input>676B96F400AE18138B302FD3D70D490E</input>
+			<output>620AAA14B94BF6B60A83129085BCF02B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 218</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>1024ECE618D140CAE8B9DFC8EB1DE137088F01BD955E4D02F59F1AD8BA0B8364</key>
+			<input>620AAA14B94BF6B60A83129085BCF02B</input>
+			<output>B701A38325DC282045C6F914394B9F70</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 219</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>6B8C6DA855E1E72E4A6AC44601B24D60BF8EA23EB0826522B059E3CC83401C14</key>
+			<input>B701A38325DC282045C6F914394B9F70</input>
+			<output>808D0B334B775C59F8C34A3524CB4126</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 220</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C50A625A89465321DACCB9EB40DEF57D3F03A90DFBF5397B489AA9F9A78B5D32</key>
+			<input>808D0B334B775C59F8C34A3524CB4126</input>
+			<output>4E29C921CC295F6A3082C1BC02ACDA70</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 221</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>973341A4E3DB315FA97C7EEDF493EA71712A602C37DC661178186845A5278742</key>
+			<input>4E29C921CC295F6A3082C1BC02ACDA70</input>
+			<output>77BC204E50EFCA2AEBDC16D3F3C3D739</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 222</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>639EB8FB16B34B55550705FDCFF7C8CC069640626733AC3B93C47E9656E4507B</key>
+			<input>77BC204E50EFCA2AEBDC16D3F3C3D739</input>
+			<output>A677A7B55AA03EB0587EE00123D047F3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 223</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>610A9602B725E4D87AB2904E91050D90A0E1E7D73D93928BCBBA9E9775341788</key>
+			<input>A677A7B55AA03EB0587EE00123D047F3</input>
+			<output>09AF5421548AC11466370484F8C556DE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 224</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>314A6E0BD202458489059738917B6678A94EB3F66919539FAD8D9A138DF14156</key>
+			<input>09AF5421548AC11466370484F8C556DE</input>
+			<output>B6CDD2336AB8735EE7A9946A1FE7EE0C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 225</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>73658C0F88490F7C3B9F2B7B39551BBF1F8361C503A120C14A240E799216AF5A</key>
+			<input>B6CDD2336AB8735EE7A9946A1FE7EE0C</input>
+			<output>B5A2F3B47E4AC87BC06612587253930E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 226</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>968794DEC3E866DE4F999C860E9851E9AA2192717DEBE8BA8A421C21E0453C54</key>
+			<input>B5A2F3B47E4AC87BC06612587253930E</input>
+			<output>09C9C38BB3348147EB284FFA24D87244</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 227</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>205605E66A4BE2CF61E13243E104FED9A3E851FACEDF69FD616A53DBC49D4E10</key>
+			<input>09C9C38BB3348147EB284FFA24D87244</input>
+			<output>9D1EDCA2674E5A30416DF7CC2938DC63</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 228</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>9CA7508C83DB6E56EFF3489F2BD30C573EF68D58A99133CD2007A417EDA59273</key>
+			<input>9D1EDCA2674E5A30416DF7CC2938DC63</input>
+			<output>E8A2282B47DAB6A666A4607BBC857FC6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 229</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>0F98884E85FEB533CFC281C2F4437915D654A573EE4B856B46A3C46C5120EDB5</key>
+			<input>E8A2282B47DAB6A666A4607BBC857FC6</input>
+			<output>B6675D2263DC1C1E0F04A9A9BC666D2D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 230</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>3F3ED6DC6E08DF2515D08273832429286033F8518D97997549A76DC5ED468098</key>
+			<input>B6675D2263DC1C1E0F04A9A9BC666D2D</input>
+			<output>D6FF2642FD84C80674EAF8674242248D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 231</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>67910C06B57CD52767674B70F59337D8B6CCDE13701351733D4D95A2AF04A415</key>
+			<input>D6FF2642FD84C80674EAF8674242248D</input>
+			<output>47D4419A669253C39A0CC96C7CD612C0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 232</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>43EE254E414DB89044EE2F703B340F6AF1189F89168102B0A7415CCED3D2B6D5</key>
+			<input>47D4419A669253C39A0CC96C7CD612C0</input>
+			<output>B2B3FD7A1D4B0695B3499430F2E44CEA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 233</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>89C9881E6D6CEFF00DDFC5618655FA4543AB62F30BCA04251408C8FE2136FA3F</key>
+			<input>B2B3FD7A1D4B0695B3499430F2E44CEA</input>
+			<output>4AAD0AE20AFF0675CF78992DFD2B685C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 234</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>2C24846D047677F89EF73B917962D0FA0906681101350250DB7051D3DC1D9263</key>
+			<input>4AAD0AE20AFF0675CF78992DFD2B685C</input>
+			<output>C90343412CFE70201CE22D9AD2222788</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 235</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>770637F8F8F32915BF7630919D0726AEC0052B502DCB7270C7927C490E3FB5EB</key>
+			<input>C90343412CFE70201CE22D9AD2222788</input>
+			<output>923FE89134FAF362802C5A2EBF399D2C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 236</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>426891CF6B068FAC7FFB5A04874AEC78523AC3C11931811247BE2667B10628C7</key>
+			<input>923FE89134FAF362802C5A2EBF399D2C</input>
+			<output>9C08F05026196BA3550A2496049B720B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 237</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>B66BCCA5EFAF3F448BDD52DC48F2B904CE3233913F28EAB112B402F1B59D5ACC</key>
+			<input>9C08F05026196BA3550A2496049B720B</input>
+			<output>7B487FD67D0C2D987C3DEFD335C2EF17</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 238</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>079CCBC13FCFB0D032293FDFEC563F86B57A4C474224C7296E89ED22805FB5DB</key>
+			<input>7B487FD67D0C2D987C3DEFD335C2EF17</input>
+			<output>CEC12158856704CE8ABF0CA6C6F3006B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 239</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>998AFEF458902CA632D60843A88D36637BBB6D1FC743C3E7E436E18446ACB5B0</key>
+			<input>CEC12158856704CE8ABF0CA6C6F3006B</input>
+			<output>DA19C7C7283ADD9C5145ABBA53F1E7E1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 240</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>95EDAF196289EE6D24AA752DF489DEFCA1A2AAD8EF791E7BB5734A3E155D5251</key>
+			<input>DA19C7C7283ADD9C5145ABBA53F1E7E1</input>
+			<output>F043A57E686C1FE7DACB858F0C3E6857</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 241</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>3050D2C04C0860414427BF5B19792D7651E10FA68715019C6FB8CFB119633A06</key>
+			<input>F043A57E686C1FE7DACB858F0C3E6857</input>
+			<output>2FB7B264BB4B3FAFA01A6BB93CC2958D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 242</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>26186DD7BE83659550BA3B52D99975037E56BDC23C5E3E33CFA2A40825A1AF8B</key>
+			<input>2FB7B264BB4B3FAFA01A6BB93CC2958D</input>
+			<output>D46BBD3ABD958DA722F3591578C30F5E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 243</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>DE1D625B9C840580FDDE57EDE82419D1AA3D00F881CBB394ED51FD1D5D62A0D5</key>
+			<input>D46BBD3ABD958DA722F3591578C30F5E</input>
+			<output>3D69379AB60535902C38AB5E121DD035</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 244</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>FF9396CB65FFB9D47EF4E0253FD98BBA9754376237CE8604C16956434F7F70E0</key>
+			<input>3D69379AB60535902C38AB5E121DD035</input>
+			<output>A5767F4E6C8482290BC7B76D23EEF145</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 245</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>B98B5F1CA9752B1B07514B72C3D585F23222482C5B4A042DCAAEE12E6C9181A5</key>
+			<input>A5767F4E6C8482290BC7B76D23EEF145</input>
+			<output>9388736A82C99337C49BB4F32437B1DA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 246</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>5F130919FB4ED29397E4781550B1D444A1AA3B46D983971A0E3555DD48A6307F</key>
+			<input>9388736A82C99337C49BB4F32437B1DA</input>
+			<output>915C6C5181E797DADC289F8FFF60CD19</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 247</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>D3F202F140D38545C8A04EC2D0993E2B30F65717586400C0D21DCA52B7C6FD66</key>
+			<input>915C6C5181E797DADC289F8FFF60CD19</input>
+			<output>A61167CDBE95ABFAD9C1A58BDA90F0D4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 248</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>FBFA83B249C3B13C83E8FC111611391296E730DAE6F1AB3A0BDC6FD96D560DB2</key>
+			<input>A61167CDBE95ABFAD9C1A58BDA90F0D4</input>
+			<output>9AF2B4CF00B037976D0F5CAC4201885D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 249</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>CC24CC54D0889912C7AD2473EBA8BBB30C158415E6419CAD66D333752F5785EF</key>
+			<input>9AF2B4CF00B037976D0F5CAC4201885D</input>
+			<output>A9B74046119B6699FD5EFD1E476BEE64</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 250</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>F520F18D9FACA98E5F57226127FA9B6BA5A2C453F7DAFA349B8DCE6B683C6B8B</key>
+			<input>A9B74046119B6699FD5EFD1E476BEE64</input>
+			<output>CD7EAA1EF3B91B69FD3E54FCC5A802E9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 251</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>9BFD59A9F78FB1BE6F13B701D7EB0F6268DC6E4D0463E15D66B39A97AD946962</key>
+			<input>CD7EAA1EF3B91B69FD3E54FCC5A802E9</input>
+			<output>FD7095C419E2722425E6D4CA1A393D8C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 252</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C1C39AC5158C8CDBE82CF37D00B7896995ACFB891D81937943554E5DB7AD54EE</key>
+			<input>FD7095C419E2722425E6D4CA1A393D8C</input>
+			<output>9963CE47EB0322135C5D20B923FC341A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 253</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C9E26AE18D08643029C92F11BD3E8AA40CCF35CEF682B16A1F086EE4945160F4</key>
+			<input>9963CE47EB0322135C5D20B923FC341A</input>
+			<output>11589A1BDD037FABABBB9BF5AAC859A7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 254</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>2183FF3C1EB1DF48DB8FA5F87F279F891D97AFD52B81CEC1B4B3F5113E993953</key>
+			<input>11589A1BDD037FABABBB9BF5AAC859A7</input>
+			<output>B6CEE1CD709BE6E055041FC2E1A87539</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 255</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>738690954B4B92CE2367567B3A960E8DAB594E185B1A2821E1B7EAD3DF314C6A</key>
+			<input>B6CEE1CD709BE6E055041FC2E1A87539</input>
+			<output>D776658F01CCEC460FA7145C6C6CBD42</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 256</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>71AB2DBD9923F08E516D8DF0CF57CC227C2F2B975AD6C467EE10FE8FB35DF128</key>
+			<input>D776658F01CCEC460FA7145C6C6CBD42</input>
+			<output>0C6D2578060A0A1024230D838AA45234</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 257</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>1C0E18C83D74E46DDF65BFC3335CFF0D70420EEF5CDCCE77CA33F30C39F9A31C</key>
+			<input>0C6D2578060A0A1024230D838AA45234</input>
+			<output>BFD55D67EF4883200FDAEEA5D44F0302</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 258</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7DA814BD80D8CBBEE778E030682E7F34CF975388B3944D57C5E91DA9EDB6A01E</key>
+			<input>BFD55D67EF4883200FDAEEA5D44F0302</input>
+			<output>E821629542650FAFEF08D94AC889078A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 259</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>10490CD6F16D915CE9891C69E10884D827B6311DF1F142F82AE1C4E3253FA794</key>
+			<input>E821629542650FAFEF08D94AC889078A</input>
+			<output>F2F81CD9CBD3E932686B6195A97EE13A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 260</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>F0114F7C7101931F6A4595A6C3D2F34AD54E2DC43A22ABCA428AA5768C4146AE</key>
+			<input>F2F81CD9CBD3E932686B6195A97EE13A</input>
+			<output>C90348C14450EE3D9BFA30377D4B2440</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 261</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C5802B19BA4921D3750A590F02658F621C4D65057E7245F7D9709541F10A62EE</key>
+			<input>C90348C14450EE3D9BFA30377D4B2440</input>
+			<output>619E907C4E7FD3A723E34B8D3880D71B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 262</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>236500CE70AC49E98907DC4EDAE41CCA7DD3F579300D9650FA93DECCC98AB5F5</key>
+			<input>619E907C4E7FD3A723E34B8D3880D71B</input>
+			<output>932A17E8FDA853F6DB1C9271EC4FBF56</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 263</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7BB7D14473E7E2D70F3C8C90D4B1035CEEF9E291CDA5C5A6218F4CBD25C50AA3</key>
+			<input>932A17E8FDA853F6DB1C9271EC4FBF56</input>
+			<output>549CB80C490E592E18ACC04FAA933489</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 264</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>415AD8391B32F6E61A861B4C8A4BBC6DBA655A9D84AB9C8839238CF28F563E2A</key>
+			<input>549CB80C490E592E18ACC04FAA933489</input>
+			<output>BF6337BEDE116D5A60B06DA8B270159C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 265</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>058F24C125EB3E94B54BB6F1F099501C05066D235ABAF1D25993E15A3D262BB6</key>
+			<input>BF6337BEDE116D5A60B06DA8B270159C</input>
+			<output>CBD3D52496E6DF0DBD065BD924C5001F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 266</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>B85B96EC639098C392FD33D11A49251ECED5B807CC5C2EDFE495BA8319E32BA9</key>
+			<input>CBD3D52496E6DF0DBD065BD924C5001F</input>
+			<output>AF8879C67DF265E118096478FBA003AD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 267</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>526BF9DCAF4A4DFD05FAD0EA3B58131D615DC1C1B1AE4B3EFC9CDEFBE2432804</key>
+			<input>AF8879C67DF265E118096478FBA003AD</input>
+			<output>C627176029E2D22A51F5630B129A1095</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 268</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>553316781F120EE83A2D083D97D19F99A77AD6A1984C9914AD69BDF0F0D93891</key>
+			<input>C627176029E2D22A51F5630B129A1095</input>
+			<output>F46AC5870C65636D6C200312F2A15BE6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 269</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E9A37578C1402447D6CC1161F126D5C7531013269429FA79C149BEE202786377</key>
+			<input>F46AC5870C65636D6C200312F2A15BE6</input>
+			<output>4FBBFF3856FC0DEC7EE18585FFA4AC16</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 270</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>78521B42D0FBE8EA8BB6D44D66AE476D1CABEC1EC2D5F795BFA83B67FDDCCF61</key>
+			<input>4FBBFF3856FC0DEC7EE18585FFA4AC16</input>
+			<output>8711DAE7DD9B3F6D9FAD03669C1C8F5E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 271</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>851C9A078620280FBCDDFB4FD3745C749BBA36F91F4EC8F82005380161C0403F</key>
+			<input>8711DAE7DD9B3F6D9FAD03669C1C8F5E</input>
+			<output>050E884136E09368DEFBC43F6B3182CC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 272</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>50CCAA51D781B7090285D907E68B1F7A9EB4BEB829AE5B90FEFEFC3E0AF1C2F3</key>
+			<input>050E884136E09368DEFBC43F6B3182CC</input>
+			<output>CEC37197CEE3E0D797F441CC0541B851</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 273</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>DAB5ECB43982EAE8412102E2B7BC7CEA5077CF2FE74DBB47690ABDF20FB07AA2</key>
+			<input>CEC37197CEE3E0D797F441CC0541B851</input>
+			<output>197ECC091E5620DCA63BA2E6CFBC9F43</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 274</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>57974D1C4BBF761C9E09B8DAD3E510DF49090326F91B9B9BCF311F14C00CE5E1</key>
+			<input>197ECC091E5620DCA63BA2E6CFBC9F43</input>
+			<output>F2E836DEE9668E81D74A3C0F03CF3C10</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 275</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E37677110C5A9A59EC06E0968BF5D14EBBE135F8107D151A187B231BC3C3D9F1</key>
+			<input>F2E836DEE9668E81D74A3C0F03CF3C10</input>
+			<output>DD581BB9F4A7BEC66CAC7916871F55C8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 276</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>2CD760C245E62EA5B477BDA094B3AD5166B92E41E4DAABDC74D75A0D44DC8C39</key>
+			<input>DD581BB9F4A7BEC66CAC7916871F55C8</input>
+			<output>7B05D43A3BE733E0DE6E2CE494141B46</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 277</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>DE35BF6BC48E8B8E6A30DB886C9D75DD1DBCFA7BDF3D983CAAB976E9D0C8977F</key>
+			<input>7B05D43A3BE733E0DE6E2CE494141B46</input>
+			<output>1D561DCAA42E92568DD6ACD583FF7BCE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 278</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>8AD7FCADA5D092DD5D221532EED3FD1000EAE7B17B130A6A276FDA3C5337ECB1</key>
+			<input>1D561DCAA42E92568DD6ACD583FF7BCE</input>
+			<output>1E9AB09A76FD91CC33B85390BDE631F8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 279</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>534EEF6B1450693335980E00CD3CDE361E70572B0DEE9BA614D789ACEED1DD49</key>
+			<input>1E9AB09A76FD91CC33B85390BDE631F8</input>
+			<output>CBD0E3A07952EAC118A81B76D09276FD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 280</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>8A39C2221622785E4DA9B14DAAE6ADF3D5A0B48B74BC71670C7F92DA3E43ABB4</key>
+			<input>CBD0E3A07952EAC118A81B76D09276FD</input>
+			<output>AC20057B857E6C34F7E68A5765573538</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 281</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>50887AD2D325CBC04B5FD69518318BAD7980B1F0F1C21D53FB99188D5B149E8C</key>
+			<input>AC20057B857E6C34F7E68A5765573538</input>
+			<output>DDFFD26BA5B33AEA36A0A6D75EAA047C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 282</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>9613965C1776C5BAEA3CEE6154AABC9FA47F639B547127B9CD39BE5A05BE9AF0</key>
+			<input>DDFFD26BA5B33AEA36A0A6D75EAA047C</input>
+			<output>F0883B6DD3CA0515CB9F1ABA646CCB69</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 283</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E7F6DB8A94597956CEE07447F9BB5CA454F758F687BB22AC06A6A4E061D25199</key>
+			<input>F0883B6DD3CA0515CB9F1ABA646CCB69</input>
+			<output>F4E27CA9E27B3E81B981298738C01FDA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 284</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>0CB665943D6E6E32886A94C070366FB2A015245F65C01C2DBF278D6759124E43</key>
+			<input>F4E27CA9E27B3E81B981298738C01FDA</input>
+			<output>B03B2EB7A1E13E1A17C51FF5684E2A72</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 285</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>1EA698290E4B1D41B0CC4F3B9A9398FF102E0AE8C4212237A8E29292315C6431</key>
+			<input>B03B2EB7A1E13E1A17C51FF5684E2A72</input>
+			<output>BE133CCCE406C1C0BC1707115B5B0C84</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 286</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>BA38F49FA3D4A74ED41F8DA958A953C7AE3D36242027E3F714F595836A0768B5</key>
+			<input>BE133CCCE406C1C0BC1707115B5B0C84</input>
+			<output>A15B1C9BCF319AEF262E366C142A0DCF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 287</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>935F2CEECBBCF3465DB9B0DB927AF4310F662ABFEF16791832DBA3EF7E2D657A</key>
+			<input>A15B1C9BCF319AEF262E366C142A0DCF</input>
+			<output>7A8DA23874D28EB75261D87D57451EAE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 288</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>B8E67B884E3E229EBB516065499F790275EB88879BC4F7AF60BA7B9229687BD4</key>
+			<input>7A8DA23874D28EB75261D87D57451EAE</input>
+			<output>9331C989A7E291FD94BA4C945A79126E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 289</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>CFB51BE6CDA499D66E7B36CAAC220FB7E6DA410E3C266652F4003706731169BA</key>
+			<input>9331C989A7E291FD94BA4C945A79126E</input>
+			<output>70A2F921A8BB0548D91A114478308448</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 290</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>19821B21FED0C1659AF4E16F49F63B699678B82F949D631A2D1A26420B21EDF2</key>
+			<input>70A2F921A8BB0548D91A114478308448</input>
+			<output>8ED8FC98045BA0EF9C15E9565EECE5BB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 291</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>27DA5E31E794D670BDB701F361B8977018A044B790C6C3F5B10FCF1455CD0849</key>
+			<input>8ED8FC98045BA0EF9C15E9565EECE5BB</input>
+			<output>F6621989AFC0427E3E84039B6C6C2E75</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 292</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>64E8F7C4292DF7D0B01BED3FAE08DA4FEEC25D3E3F06818B8F8BCC8F39A1263C</key>
+			<input>F6621989AFC0427E3E84039B6C6C2E75</input>
+			<output>68F4804D1E8D383FAF4E76F80FB8F92B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 293</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>EE626AFFE4997C11CAE2714FF96D84B18636DD73218BB9B420C5BA773619DF17</key>
+			<input>68F4804D1E8D383FAF4E76F80FB8F92B</input>
+			<output>2D61F123E2479D56AE5C327A57F6A28B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 294</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>EA24B2DB953084C818B0E6F34BA1584DAB572C50C3CC24E28E99880D61EF7D9C</key>
+			<input>2D61F123E2479D56AE5C327A57F6A28B</input>
+			<output>C6CD16E7A122D105EE398E6C7F15B4EF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 295</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>F209D1ADE0869F674F6FEDCD3DB7D2EB6D9A3AB762EEF5E760A006611EFAC973</key>
+			<input>C6CD16E7A122D105EE398E6C7F15B4EF</input>
+			<output>EDD6BBA5787DA2BF6A1ADF297DB98281</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 296</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>302BEB9AA2ACB3594D7E50859C187294804C81121A9357580ABAD94863434BF2</key>
+			<input>EDD6BBA5787DA2BF6A1ADF297DB98281</input>
+			<output>4A51E54F4F81469A06F6001F2F32F4AC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 297</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>3270FC87B4DC04FDD3F20C01407BE123CA1D645D551211C20C4CD9574C71BF5E</key>
+			<input>4A51E54F4F81469A06F6001F2F32F4AC</input>
+			<output>F7A2303EA59907BCC32AA4FC5A6DE448</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 298</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C85326465BF46A442BC1E544F9041C4A3DBF5463F08B167ECF667DAB161C5B16</key>
+			<input>F7A2303EA59907BCC32AA4FC5A6DE448</input>
+			<output>2274E43F9F8A7081DF74D5225EC28AD8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 299</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A54E889A4D9FFBF993C53A9DD3B951391FCBB05C6F0166FF1012A88948DED1CE</key>
+			<input>2274E43F9F8A7081DF74D5225EC28AD8</input>
+			<output>0C8358EC431313223B59126BDBB36571</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 300</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>FA14699C20CFFE7DB68786E6117F95851348E8B02C1275DD2B4BBAE2936DB4BF</key>
+			<input>0C8358EC431313223B59126BDBB36571</input>
+			<output>03237A81EEA2EAFBB5AC0B3E635CC1AC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 301</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>B3744022A5397A735A4271261A2C96DF106B9231C2B09F269EE7B1DCF0317513</key>
+			<input>03237A81EEA2EAFBB5AC0B3E635CC1AC</input>
+			<output>409EBF7DF31FD9557118B1B5CAB5EBE3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 302</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>8C7A22A934DCBC5E084E472DBAE4848350F52D4C31AF4673EFFF00693A849EF0</key>
+			<input>409EBF7DF31FD9557118B1B5CAB5EBE3</input>
+			<output>6CF5C9CF4A62C668B6481F7A12EE43DB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 303</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>DB0497ED308C95BC9703265174B654D23C00E4837BCD801B59B71F13286ADD2B</key>
+			<input>6CF5C9CF4A62C668B6481F7A12EE43DB</input>
+			<output>D8A84E93CFF3EB9DC891333BDA5F3560</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 304</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7A88D30D4CC9AB8EFA76139B68F0028AE4A8AA10B43E6B8691262C28F235E84B</key>
+			<input>D8A84E93CFF3EB9DC891333BDA5F3560</input>
+			<output>009E0C2454E321326336CC56D0660F91</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 305</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>55A78B8839B395B552630641648DFCE5E436A634E0DD4AB4F210E07E2253E7DA</key>
+			<input>009E0C2454E321326336CC56D0660F91</input>
+			<output>EBC89334F29560D9B9AEAE2F1D9DC65B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 306</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>B41A907C82EDE32C6C1FD0DFED0A232D0FFE350012482A6D4BBE4E513FCE2181</key>
+			<input>EBC89334F29560D9B9AEAE2F1D9DC65B</input>
+			<output>4DA63E94EBB4DA255800C9B25068E47E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 307</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>3E428E8A77067008EFDE7BD6174B05B742580B94F9FCF04813BE87E36FA6C5FF</key>
+			<input>4DA63E94EBB4DA255800C9B25068E47E</input>
+			<output>6833E2CEFA8CF4B5B4607FA49D7B658D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 308</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>39D17AE8C7232386F8339427E4A79AAC2A6BE95A037004FDA7DEF847F2DDA072</key>
+			<input>6833E2CEFA8CF4B5B4607FA49D7B658D</input>
+			<output>41D882B653BEFEEEB9AE354F5ABCC058</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 309</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E8D52C97FA4149312A45D3EFE0A326086BB36BEC50CEFA131E70CD08A861602A</key>
+			<input>41D882B653BEFEEEB9AE354F5ABCC058</input>
+			<output>D54A329BCF56B703BE0F02EE3AACB933</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 310</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>D36FAED6CF436A491111890449BC3C66BEF959779F984D10A07FCFE692CDD919</key>
+			<input>D54A329BCF56B703BE0F02EE3AACB933</input>
+			<output>5FAAEB95E0F9D0C3C43BF725DADC9595</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 311</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>9D7BCBB15816A0A941BBB787D2EEA155E153B2E27F619DD3644438C348114C8C</key>
+			<input>5FAAEB95E0F9D0C3C43BF725DADC9595</input>
+			<output>BC699D5E82FD43B45A7B925E8C1A2F3C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 312</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>F2EB78917ECAC2E77C19B892E846AE715D3A2FBCFD9CDE673E3FAA9DC40B63B0</key>
+			<input>BC699D5E82FD43B45A7B925E8C1A2F3C</input>
+			<output>773D115B40F0E9EF780B2D10846FA684</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 313</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>B10B9F0CECA554749EC178F3C63547DD2A073EE7BD6C37884634878D4064C534</key>
+			<input>773D115B40F0E9EF780B2D10846FA684</input>
+			<output>50095809CC96520EB8E3A66F499EE147</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 314</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E86E52AEB04DE0D3DC85A91E9B10D2677A0E66EE71FA6586FED721E209FA2473</key>
+			<input>50095809CC96520EB8E3A66F499EE147</input>
+			<output>6994CF8BA4C731CA33DAFE33D2A0BF94</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 315</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>44C3C8A2F0F931926AC73F3E5351B114139AA965D53D544CCD0DDFD1DB5A9BE7</key>
+			<input>6994CF8BA4C731CA33DAFE33D2A0BF94</input>
+			<output>981902A8FD71DF8B67D52E6FC2813B90</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 316</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>2D309D3D2603EC7E7B4EA626E9BDECFE8B83ABCD284C8BC7AAD8F1BE19DBA077</key>
+			<input>981902A8FD71DF8B67D52E6FC2813B90</input>
+			<output>35FA9A93AE142F562E62771991752B78</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 317</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E80939BCB4DB83768EBAD3CF2DD3F270BE79315E8658A49184BA86A788AE8B0F</key>
+			<input>35FA9A93AE142F562E62771991752B78</input>
+			<output>A3651DBF8585004F0729AF4CA615C674</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 318</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>BF1A4C57D4434FA59A2E45DB589AA16F1D1C2CE103DDA4DE839329EB2EBB4D7B</key>
+			<input>A3651DBF8585004F0729AF4CA615C674</input>
+			<output>AF31F082CACEB768627B93A4D3E5349A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 319</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>6EB47730BACAAB2207A3D12B0652B0CDB22DDC63C91313B6E1E8BA4FFD5E79E1</key>
+			<input>AF31F082CACEB768627B93A4D3E5349A</input>
+			<output>57B75D2B640F45DB2D4A1F71F08545A5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 320</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>3EB0F3D31E648E260FE9F6FA8812ADD1E59A8148AD1C566DCCA2A53E0DDB3C44</key>
+			<input>57B75D2B640F45DB2D4A1F71F08545A5</input>
+			<output>A812DA38D7B82DF310366FA62FFD11E6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 321</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>0409A87F024E710C27E456CA170B60184D885B707AA47B9EDC94CA9822262DA2</key>
+			<input>A812DA38D7B82DF310366FA62FFD11E6</input>
+			<output>447F235914368F2BECD5FF98D1A34205</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 322</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7DE3A1E7234BF755908324E13DF413EB09F778296E92F4B530413500F3856FA7</key>
+			<input>447F235914368F2BECD5FF98D1A34205</input>
+			<output>5205860E4562B5CD6748EF89BF2791E9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 323</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>12EE9519335A2D827649D4EB047EB5255BF2FE272BF041785709DA894CA2FE4E</key>
+			<input>5205860E4562B5CD6748EF89BF2791E9</input>
+			<output>30C0229AFDFF59E24426ACAD8D4AEFDB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 324</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>78FF32A055D51E0A9D6E77D838AE72AD6B32DCBDD60F189A132F7624C1E81195</key>
+			<input>30C0229AFDFF59E24426ACAD8D4AEFDB</input>
+			<output>FF467C6E0F82F5D2F9487DDBDB43EFB3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 325</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>6E49FA4CDEFC70619F739B488DD434969474A0D3D98DED48EA670BFF1AABFE26</key>
+			<input>FF467C6E0F82F5D2F9487DDBDB43EFB3</input>
+			<output>7E375B3D13871B09CA4D3357AC5EBB0E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 326</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>90791666C996FF15EED1E20BAFB6B4B3EA43FBEECA0AF641202A38A8B6F54528</key>
+			<input>7E375B3D13871B09CA4D3357AC5EBB0E</input>
+			<output>E64A319F6FBD96BD799760C4077F9713</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 327</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7F0D0CAB938585CF65726A6CB01DE8B00C09CA71A5B760FC59BD586CB18AD23B</key>
+			<input>E64A319F6FBD96BD799760C4077F9713</input>
+			<output>1487C8488C675BD46FAF2EEC0BC7AE7E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 328</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7B429E6D59D4D65E16ED325F49E93D9C188E023929D03B2836127680BA4D7C45</key>
+			<input>1487C8488C675BD46FAF2EEC0BC7AE7E</input>
+			<output>1F103E64A4F5239C9157E70487C50941</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 329</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>AF20B02C3C5BD4E33E34359B86BBF2CF079E3C5D8D2518B4A74591843D887504</key>
+			<input>1F103E64A4F5239C9157E70487C50941</input>
+			<output>24C8481DD1A2245735597A18A2433E41</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 330</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E4F3CE6AFF9926837BAAB04C311F72A7235674405C873CE3921CEB9C9FCB4B45</key>
+			<input>24C8481DD1A2245735597A18A2433E41</input>
+			<output>3D9E715A686DE9AF8EE37AF54F82AA8A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 331</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A9BACBEC55AA453A83FF82CFDDB7F2F91EC8051A34EAD54C1CFF9169D049E1CF</key>
+			<input>3D9E715A686DE9AF8EE37AF54F82AA8A</input>
+			<output>B330735D9AB5B96501CDAF61A8EAD19F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 332</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>5826BE9127DB557D401AF4DE6343F8AFADF87647AE5F6C291D323E0878A33050</key>
+			<input>B330735D9AB5B96501CDAF61A8EAD19F</input>
+			<output>61AE40475EA11DBCC364F5377673CE37</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 333</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A8F0146E46A5391D0663380DF9F1FD6FCC563600F0FE7195DE56CB3F0ED0FE67</key>
+			<input>61AE40475EA11DBCC364F5377673CE37</input>
+			<output>525C1ED538B23D7CFA4A43114CF35BD4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 334</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>20F90A51E7A0BB9B88AE1DD28C8B484A9E0A28D5C84C4CE9241C882E4223A5B3</key>
+			<input>525C1ED538B23D7CFA4A43114CF35BD4</input>
+			<output>C2957E002E35236D455F53006495E4B7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 335</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A71CC695B7AEB0D5148FA622536669385C9F56D5E6796F846143DB2E26B64104</key>
+			<input>C2957E002E35236D455F53006495E4B7</input>
+			<output>76F9C97A4B414E5DE532082BB12F5362</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 336</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>617CF5726F26BD9A3B52FC0D902A97AD2A669FAFAD3821D98471D30597991266</key>
+			<input>76F9C97A4B414E5DE532082BB12F5362</input>
+			<output>F4D9E814D4C61B2FB1D7CDCCBAF14AA1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 337</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>D4DBBCC269A61933E4D63C3BDA5F522EDEBF77BB79FE3AF635A61EC92D6858C7</key>
+			<input>F4D9E814D4C61B2FB1D7CDCCBAF14AA1</input>
+			<output>6B51AF38B42F226D62474A97BD001FFF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 338</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>512FAF06A5885D032A885EC030AF3C18B5EED883CDD1189B57E1545E90684738</key>
+			<input>6B51AF38B42F226D62474A97BD001FFF</input>
+			<output>868C58D6B805CF8F9EB04A8BA123371A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 339</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>BDD2CB78E9B554FC7FEEEC05D02309F23362805575D4D714C9511ED5314B7022</key>
+			<input>868C58D6B805CF8F9EB04A8BA123371A</input>
+			<output>1752558A1F90975140CA41F68BE5333F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 340</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>15CC46826BFD5B45ABAE9B0B2756D39C2430D5DF6A444045899B5F23BAAE431D</key>
+			<input>1752558A1F90975140CA41F68BE5333F</input>
+			<output>68801EAB4042E7390E64AA53C38C1D15</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 341</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>DF5FB425C5B25E15EA717736D8ABE6644CB0CB742A06A77C87FFF57079225E08</key>
+			<input>68801EAB4042E7390E64AA53C38C1D15</input>
+			<output>02FE87211909D8954EC90EF53100F26D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 342</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>CD73FCED5EBA6038DD8B8A000111BEF94E4E4C55330F7FE9C936FB854822AC65</key>
+			<input>02FE87211909D8954EC90EF53100F26D</input>
+			<output>3A51FAFD22A2CC95B532023A37BBF0FE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 343</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>EF890ED47D9F1581CC98C88F3BF7F88D741FB6A811ADB37C7C04F9BF7F995C9B</key>
+			<input>3A51FAFD22A2CC95B532023A37BBF0FE</input>
+			<output>D233A6BBC315BA5F4630AE7F99F77116</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 344</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>AA9CA1A7DFA24E1936E49D34054F7749A62C1013D2B809233A3457C0E66E2D8D</key>
+			<input>D233A6BBC315BA5F4630AE7F99F77116</input>
+			<output>E6B9619D7B0E1DF6CFE79FD51533406B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 345</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>ADC4161B346687F98D4CB5B661662A8A4095718EA9B614D5F5D3C815F35D6DE6</key>
+			<input>E6B9619D7B0E1DF6CFE79FD51533406B</input>
+			<output>A746D31BCB29F7512E3F6E5EFD14FDAD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 346</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>9C1CA3776C9ED13D220453C8AEFA0ECDE7D3A295629FE384DBECA64B0E49904B</key>
+			<input>A746D31BCB29F7512E3F6E5EFD14FDAD</input>
+			<output>B2489A51878848EC37E6782FB2110122</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 347</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>B64A5B45ABFDEC3EF8164FCEAE89919E559B38C4E517AB68EC0ADE64BC589169</key>
+			<input>B2489A51878848EC37E6782FB2110122</input>
+			<output>EF77F9367A063FDB874C9FC96983EAD1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 348</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>AEFFDEE2501961FEEB985134E2B651EDBAECC1F29F1194B36B4641ADD5DB7BB8</key>
+			<input>EF77F9367A063FDB874C9FC96983EAD1</input>
+			<output>4ECFF4DA51BB2BE1EF8E85C4BBE51C69</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 349</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>6B28BA96CEB25B3862F413A2CBED4889F4233528CEAABF5284C8C4696E3E67D1</key>
+			<input>4ECFF4DA51BB2BE1EF8E85C4BBE51C69</input>
+			<output>0CAEAF484505A1AF13BB0ADCC665F91C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 350</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>2062889724A47DD541F1F0A3FC8C5952F88D9A608BAF1EFD9773CEB5A85B9ECD</key>
+			<input>0CAEAF484505A1AF13BB0ADCC665F91C</input>
+			<output>6C75CA469CACCCE29CAE88202E02727C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 351</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C2115A8A6EE164B944A8C8128EBAB8E694F850261703D21F0BDD46958659ECB1</key>
+			<input>6C75CA469CACCCE29CAE88202E02727C</input>
+			<output>567060CEFF3AEDDE8AB5823450E35967</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 352</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C3D2704E15936C6916073E234D0012CCC28830E8E8393FC18168C4A1D6BAB5D6</key>
+			<input>567060CEFF3AEDDE8AB5823450E35967</input>
+			<output>E04F927E409060080EC530D5C344CA24</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 353</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>49173A9FB3283181B71264E3FB5591FA22C7A296A8A95FC98FADF47415FE7FF2</key>
+			<input>E04F927E409060080EC530D5C344CA24</input>
+			<output>4D473408396C17D4BA3DBB63B46E7727</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 354</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>8BF3DDDC9217496E29F46E61233D62B66F80969E91C5481D35904F17A19008D5</key>
+			<input>4D473408396C17D4BA3DBB63B46E7727</input>
+			<output>BB6779933AC9E435C637CDA146A04284</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 355</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>6ACA3C31248BFBB5BB9FD54C4B31BC21D4E7EF0DAB0CAC28F3A782B6E7304A51</key>
+			<input>BB6779933AC9E435C637CDA146A04284</input>
+			<output>5C2129A55114540ED68591C60E45D6CF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 356</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>1A270DAD402DC752332671216A6C3BFF88C6C6A8FA18F82625221370E9759C9E</key>
+			<input>5C2129A55114540ED68591C60E45D6CF</input>
+			<output>57790B87F69BF1C007E563A82987EEAE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 357</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>6E39E75268AC2C51ABE11CE3CE16CAF3DFBFCD2F0C8309E622C770D8C0F27230</key>
+			<input>57790B87F69BF1C007E563A82987EEAE</input>
+			<output>58790B192C8B90B76F34990E28A6689A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 358</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>2367A67114D722A79F9434B5A418BEEB87C6C636200899514DF3E9D6E8541AAA</key>
+			<input>58790B192C8B90B76F34990E28A6689A</input>
+			<output>599CA8B58EFE301A87CE72540CCB4067</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 359</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A4CE195518F7E36D7E0D5C9666802411DE5A6E83AEF6A94BCA3D9B82E49F5ACD</key>
+			<input>599CA8B58EFE301A87CE72540CCB4067</input>
+			<output>4483131C7E03089F898166A5B3E85E3A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 360</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>73C5204211D3648DAAF5FE071186C0E99AD97D9FD0F5A1D443BCFD27577704F7</key>
+			<input>4483131C7E03089F898166A5B3E85E3A</input>
+			<output>DBF64C5A0897B343BAF7047A6C564D02</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 361</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>1A3831AFF223BB2FE79C8EF8845E553C412F31C5D8621297F94BF95D3B2149F5</key>
+			<input>DBF64C5A0897B343BAF7047A6C564D02</input>
+			<output>B24420DA45E3620B619978CB09F1860C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 362</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>31EF243EF87C32148751F8F299151042F36B111F9D81709C98D2819632D0CFF9</key>
+			<input>B24420DA45E3620B619978CB09F1860C</input>
+			<output>12B466EF6AE6F28AF78AC184DB8B3C83</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 363</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>9E935E6F5D76BEE2E639F2880C8352EEE1DF77F0F76782166F584012E95BF37A</key>
+			<input>12B466EF6AE6F28AF78AC184DB8B3C83</input>
+			<output>518E89A35CF55D591DE8BB924D8F96E7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 364</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>C6398957838B02B5948A95DCBFBF2813B051FE53AB92DF4F72B0FB80A4D4659D</key>
+			<input>518E89A35CF55D591DE8BB924D8F96E7</input>
+			<output>1FDF7FE52BD46EF54F1F7A6242B04BD8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 365</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>5764E84D9000518C185717581E0D70E5AF8E81B68046B1BA3DAF81E2E6642E45</key>
+			<input>1FDF7FE52BD46EF54F1F7A6242B04BD8</input>
+			<output>2C68E67C37B50056E80DC09B9ED84AA8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 366</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>5F8CB51BF30B954B4AC09620B0A20FCA83E667CAB7F3B1ECD5A2417978BC64ED</key>
+			<input>2C68E67C37B50056E80DC09B9ED84AA8</input>
+			<output>14CC2D821B03BE21355A779B9066BE41</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 367</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>50B32E6D62EE3B8CE2DD5797BA70D8D2972A4A48ACF00FCDE0F836E2E8DADAAC</key>
+			<input>14CC2D821B03BE21355A779B9066BE41</input>
+			<output>BB09D339888C27294E73326E64AC3B21</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 368</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E1B2199CAF1C3FA78E973ACF5C3AC8702C239971247C28E4AE8B048C8C76E18D</key>
+			<input>BB09D339888C27294E73326E64AC3B21</input>
+			<output>BCFBD8255802CC8233AEA86E49089328</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 369</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>3403D2498A4562E73734D065E9B44AD890D841547C7EE4669D25ACE2C57E72A5</key>
+			<input>BCFBD8255802CC8233AEA86E49089328</input>
+			<output>5A919AC72F12DB1FAB8E4876FBA8842B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 370</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>B979FA15F93E5ACA1F6E452C9053751BCA49DB93536C3F7936ABE4943ED6F68E</key>
+			<input>5A919AC72F12DB1FAB8E4876FBA8842B</input>
+			<output>BDB03BD29FD3828AF1AE8C729F37F88A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 371</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A8CDF9FE3C0227A9107C700C404AE39777F9E041CCBFBDF3C70568E6A1E10E04</key>
+			<input>BDB03BD29FD3828AF1AE8C729F37F88A</input>
+			<output>0AAC43CE316476F3A532D44B4DFBF4B8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 372</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>B4D497FBD5DE2CA68FF60C701E208A257D55A38FFDDBCB006237BCADEC1AFABC</key>
+			<input>0AAC43CE316476F3A532D44B4DFBF4B8</input>
+			<output>853A5EE7CB3C4BB3F0120BB2CFFB4436</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 373</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A019DCC09A4CAAA3772BF4C54C8828E9F86FFD6836E780B39225B71F23E1BE8A</key>
+			<input>853A5EE7CB3C4BB3F0120BB2CFFB4436</input>
+			<output>B525599C918446AF4EA9F6965F3971EA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 374</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>238BF8B851B0864F9BEC8E242B7795D14D4AA4F4A763C61CDC8C41897CD8CF60</key>
+			<input>B525599C918446AF4EA9F6965F3971EA</input>
+			<output>A8377EC293D41F74A0A2DB66BA7D3D2F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 375</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>AF9E313988F294AE6A8155BC76F2514BE57DDA3634B7D9687C2E9AEFC6A5F24F</key>
+			<input>A8377EC293D41F74A0A2DB66BA7D3D2F</input>
+			<output>301BD4D318101A02166EBC23DED9C12D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 376</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>3B6186F7ACE8E9B022DDE0ECF5D808D3D5660EE52CA7C36A6A4026CC187C3362</key>
+			<input>301BD4D318101A02166EBC23DED9C12D</input>
+			<output>05BD0686BE53B94FB1B42AE407BE081C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 377</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>EADED20A0F405D9E3AAE404FB074162ED0DB086392F47A25DBF40C281FC23B7E</key>
+			<input>05BD0686BE53B94FB1B42AE407BE081C</input>
+			<output>7A3AF681F2043806EDB761F65D9A6C3A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 378</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>AA6F474F5F5FF513FC992E4232061B75AAE1FEE260F0422336436DDE42585744</key>
+			<input>7A3AF681F2043806EDB761F65D9A6C3A</input>
+			<output>3C297DE35CCF4E6E0A800B9A3EE37C95</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 379</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>68BFE30863F135A09B81BE2800CBBC3796C883013C3F0C4D3CC366447CBB2BD1</key>
+			<input>3C297DE35CCF4E6E0A800B9A3EE37C95</input>
+			<output>5F8AAC15C74CC7EA87A1AC185103A9D7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 380</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>9093DEBE66D714180BEB8FE51C4807ADC9422F14FB73CBA7BB62CA5C2DB88206</key>
+			<input>5F8AAC15C74CC7EA87A1AC185103A9D7</input>
+			<output>083AF3AF30961FD5A077F5564D55E9E9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 381</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A1E1049159A94DF638092C90F7707CD7C178DCBBCBE5D4721B153F0A60ED6BEF</key>
+			<input>083AF3AF30961FD5A077F5564D55E9E9</input>
+			<output>89BEFF6AB40B18ECD9413446E848253A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 382</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7C506732A8863DB1BF61EFC710F22D2348C623D17FEECC9EC2540B4C88A54ED5</key>
+			<input>89BEFF6AB40B18ECD9413446E848253A</input>
+			<output>095B2C04636C9C5BF9735BCA21211EAA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 383</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>7283413612863BA1E1B5AE93DF1318F5419D0FD51C8250C53B275086A984507F</key>
+			<input>095B2C04636C9C5BF9735BCA21211EAA</input>
+			<output>E95DB3DB1E3A478C8A31212B28E0E7BC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 384</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>BE861CED86D725162D938727D7AEFC1BA8C0BC0E02B81749B11671AD8164B7C3</key>
+			<input>E95DB3DB1E3A478C8A31212B28E0E7BC</input>
+			<output>9927F1D7EF0631500E1DF058932BF320</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 385</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>45AA89CBCE192CEEC22BF5F33DDE0E8D31E74DD9EDBE2619BF0B81F5124F44E3</key>
+			<input>9927F1D7EF0631500E1DF058932BF320</input>
+			<output>4B1147179F2AF27E5C9DBB7F01CC56A8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 386</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>B08A08DABC52884E9EBB310236815BFE7AF60ACE7294D467E3963A8A1383124B</key>
+			<input>4B1147179F2AF27E5C9DBB7F01CC56A8</input>
+			<output>E9752A7D47734DACAC6E74A1A3EC4956</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 387</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>34B4424CE75A4A1BCE9E6C825F5F0DC1938320B335E799CB4FF84E2BB06F5B1D</key>
+			<input>E9752A7D47734DACAC6E74A1A3EC4956</input>
+			<output>AB2D652BCEE42804C5155980DA02CECC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 388</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>F9954BB1A793565A79AA2B9DF408A34A38AE4598FB03B1CF8AED17AB6A6D95D1</key>
+			<input>AB2D652BCEE42804C5155980DA02CECC</input>
+			<output>3C6651362E89F6C6B28C04CA22F110EC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 389</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>9548931715FB259E318020E30D68165604C814AED58A470938611361489C853D</key>
+			<input>3C6651362E89F6C6B28C04CA22F110EC</input>
+			<output>15598364698838475AB96F95CFCF3342</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 390</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>1CDB0706417BBE66B559237109353221119197CABC027F4E62D87CF48753B67F</key>
+			<input>15598364698838475AB96F95CFCF3342</input>
+			<output>D8B3BB941893206E1CA6654B81F403E4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 391</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>8C4AD897B595252B0987673F45EE73F2C9222C5EA4915F207E7E19BF06A7B59B</key>
+			<input>D8B3BB941893206E1CA6654B81F403E4</input>
+			<output>ECE471CC2FF45C26C7143C41702F90D2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 392</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>A6D3DF3279B7405256C0D22DA240524125C65D928B650306B96A25FE76882549</key>
+			<input>ECE471CC2FF45C26C7143C41702F90D2</input>
+			<output>AB387AE5A5FC892C311D97C22467940D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 393</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>36F250F7C3906C7E0020055422CDB8B28EFE27772E998A2A8877B23C52EFB144</key>
+			<input>AB387AE5A5FC892C311D97C22467940D</input>
+			<output>FF48C2C77D5F52DF27C4060DF7F895D7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 394</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>4FF045275860B943EDE02C802F34B71B71B6E5B053C6D8F5AFB3B431A5172493</key>
+			<input>FF48C2C77D5F52DF27C4060DF7F895D7</input>
+			<output>221BC444E2A6A7F8DE9DA16AB01EB2AC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 395</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>E15B4E0E242FBABF1D47E9DBE6D0660253AD21F4B1607F0D712E155B1509963F</key>
+			<input>221BC444E2A6A7F8DE9DA16AB01EB2AC</input>
+			<output>DE252D19973ABD9F182049D39455784B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 396</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>401023A611A3133C895A3684AB3E7C9D8D880CED265AC292690E5C88815CEE74</key>
+			<input>DE252D19973ABD9F182049D39455784B</input>
+			<output>843163BD101982EE948039915C8F60D8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 397</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>B9DDF52C271F143E523532E45E6F368D09B96F503643407CFD8E6519DDD38EAC</key>
+			<input>843163BD101982EE948039915C8F60D8</input>
+			<output>6FD9D36B751854C3417F29E8F3B654D9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 398</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>AC7F45F8630CE02525F9F4941B4E13206660BC3B435B14BFBCF14CF12E65DA75</key>
+			<input>6FD9D36B751854C3417F29E8F3B654D9</input>
+			<output>E1268BA8A1473DEDE6CA64DDF2C8B805</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo DEC 399</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_ECB</ciphertype>
+			<key>DE11FF0A429E1CD3DE016DAC294F771187463793E21C29525A3B282CDCAD6270</key>
+			<input>E1268BA8A1473DEDE6CA64DDF2C8B805</input>
+			<output>4DE0C6DF7CB1697284604D60271BC59A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tsymmetric/scripts/AESMonteCarloEncryptCBC128.txt	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,6801 @@
+<action>
+	<actionname>AES CBC MonteCarlo Enc 0</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<iv>00000000000000000000000000000000</iv>
+			<input>00000000000000000000000000000000</input>
+			<output>8A05FC5E095AF4848A08D328D3688E3D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 1</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8A05FC5E095AF4848A08D328D3688E3D</key>
+			<iv>8A05FC5E095AF4848A08D328D3688E3D</iv>
+			<input>204F17E2444381F6114FF53934C0BCD3</input>
+			<output>192D9B3AA10BB2F7846CCBA0085C657A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 2</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>93286764A85146730E641888DB34EB47</key>
+			<iv>192D9B3AA10BB2F7846CCBA0085C657A</iv>
+			<input>983BF6F5A6DFBCDAA19370666E83A99A</input>
+			<output>40D8DAF6D1FDA0A073B3BD18B7695D2E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 3</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D3F0BD9279ACE6D37DD7A5906C5DB669</key>
+			<iv>40D8DAF6D1FDA0A073B3BD18B7695D2E</iv>
+			<input>C48CD503A21C8AD0B2483EF15F79571D</input>
+			<output>3EDBE80D69A1D2248CA55FC17C4EF3C5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 4</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>ED2B559F100D34F7F172FA51101345AC</key>
+			<iv>3EDBE80D69A1D2248CA55FC17C4EF3C5</iv>
+			<input>6A49A07B90CE830C20BC239646D936C0</input>
+			<output>D87891CF573C99EAE4349A70CA099415</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 5</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3553C4504731AD1D15466021DA1AD1B9</key>
+			<iv>D87891CF573C99EAE4349A70CA099415</iv>
+			<input>0ACB9A969946F523317BB932CE1561A4</input>
+			<output>24E8F1013F479BBE655DF088C9316BC7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 6</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>11BB3551787636A3701B90A9132BBA7E</key>
+			<iv>24E8F1013F479BBE655DF088C9316BC7</iv>
+			<input>3DFC8683C1D626A26E2513EB747E8B0F</input>
+			<output>2C92E80D8D1F70B411C28BD9FDABF21D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 7</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3D29DD5CF569461761D91B70EE804863</key>
+			<iv>2C92E80D8D1F70B411C28BD9FDABF21D</iv>
+			<input>FAE2D6A36DBD17199F257643C89EB608</input>
+			<output>A61810A2798A70A9D2B37E88DEF9AE0F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 8</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>9B31CDFE8CE336BEB36A65F83079E66C</key>
+			<iv>A61810A2798A70A9D2B37E88DEF9AE0F</iv>
+			<input>CB97F090318A6B10F5044EB8333ECDD6</input>
+			<output>0034FA480DE6F65D98D30B026118718F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 9</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>9B0537B68105C0E32BB96EFA516197E3</key>
+			<iv>0034FA480DE6F65D98D30B026118718F</iv>
+			<input>1B8030AC682BA677A7A3ACDC7FB33BB6</input>
+			<output>BEA24548CBC4A6630C9F1251F2C3DC51</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 10</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>25A772FE4AC1668027267CABA3A24BB2</key>
+			<iv>BEA24548CBC4A6630C9F1251F2C3DC51</iv>
+			<input>D0524282C9AC395508CB2991822E8F42</input>
+			<output>4F278DD0B06CBFBAA928635E7CA81B68</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 11</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>6A80FF2EFAADD93A8E0E1FF5DF0A50DA</key>
+			<iv>4F278DD0B06CBFBAA928635E7CA81B68</iv>
+			<input>49EA900E2F61DF8CDEA7D479F59C4C30</input>
+			<output>EDFF930BB183F8DAC2FC0BD01AD65882</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 12</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>877F6C254B2E21E04CF21425C5DC0858</key>
+			<iv>EDFF930BB183F8DAC2FC0BD01AD65882</iv>
+			<input>A1BBEB4E44EF725497B8C589192CC900</input>
+			<output>A6FE530E9509D48BAF30F601D04DB19D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 13</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>21813F2BDE27F56BE3C2E2241591B9C5</key>
+			<iv>A6FE530E9509D48BAF30F601D04DB19D</iv>
+			<input>4AD71402771A83F41F7E3AC004150CB7</input>
+			<output>FF1148A2E07401F7291B418D62618B65</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 14</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>DE9077893E53F49CCAD9A3A977F032A0</key>
+			<iv>FF1148A2E07401F7291B418D62618B65</iv>
+			<input>AC47A1FD3490D6E809D40D4BEB8FF639</input>
+			<output>4420D4686F7A4D77A72810E89A5E0DF1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 15</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>9AB0A3E15129B9EB6DF1B341EDAE3F51</key>
+			<iv>4420D4686F7A4D77A72810E89A5E0DF1</iv>
+			<input>F22E1865DD87A88238173FC693C382E7</input>
+			<output>A4C7DE5DF9E2B6A20A1E22F8D7496ACD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 16</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3E777DBCA8CB0F4967EF91B93AE7559C</key>
+			<iv>A4C7DE5DF9E2B6A20A1E22F8D7496ACD</iv>
+			<input>929EFB34B1C552221B648A3D2C678EC9</input>
+			<output>D93DBCCA25FA4D9D8C37B3F107FCFA3C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 17</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E74AC1768D3142D4EBD822483D1BAFA0</key>
+			<iv>D93DBCCA25FA4D9D8C37B3F107FCFA3C</iv>
+			<input>771C61ABB1E9BAB6F678336C8193307E</input>
+			<output>75F491C2EA85184ACA3C96B769FA9698</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 18</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>92BE50B467B45A9E21E4B4FF54E13938</key>
+			<iv>75F491C2EA85184ACA3C96B769FA9698</iv>
+			<input>55E42F98CCED821FE211D29674E77F48</input>
+			<output>A9C7536B77265ECBF7AC5ECD1EF5DDE2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 19</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3B7903DF10920455D648EA324A14E4DA</key>
+			<iv>A9C7536B77265ECBF7AC5ECD1EF5DDE2</iv>
+			<input>56BC0FA54F6F1E04A9A8893D3964EA68</input>
+			<output>3C749BF7EFA55CE924D1B33291C2B586</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 20</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>070D9828FF3758BCF2995900DBD6515C</key>
+			<iv>3C749BF7EFA55CE924D1B33291C2B586</iv>
+			<input>45D9BBBB1F3BB33EE182F09C90B1661C</input>
+			<output>C4708DBAEBD202CDD2054DDCB1AF7BAB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 21</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C37D159214E55A71209C14DC6A792AF7</key>
+			<iv>C4708DBAEBD202CDD2054DDCB1AF7BAB</iv>
+			<input>37765B154264AD781BBE5F5717DE7038</input>
+			<output>87457FD2EE747645576A27F46B00EC30</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 22</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>44386A40FA912C3477F633280179C6C7</key>
+			<iv>87457FD2EE747645576A27F46B00EC30</iv>
+			<input>A7150BBC7BE3837E145AB83E554B49DE</input>
+			<output>E25743DAD8E627803DA6C5E587C82384</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 23</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A66F299A22770BB44A50F6CD86B1E543</key>
+			<iv>E25743DAD8E627803DA6C5E587C82384</iv>
+			<input>173343A8488146FC9E4B59C2DF42BAF3</input>
+			<output>0D0A78CD5E3EB40F92FB55351122E92B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 24</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>AB6551577C49BFBBD8ABA3F897930C68</key>
+			<iv>0D0A78CD5E3EB40F92FB55351122E92B</iv>
+			<input>3B68CFE78B5DEA8F5165A2034D8C2823</input>
+			<output>1921B523A2F9B5F53C740D451C9FCE0C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 25</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B244E474DEB00A4EE4DFAEBD8B0CC264</key>
+			<iv>1921B523A2F9B5F53C740D451C9FCE0C</iv>
+			<input>FDDD484B52C7F3A32F4514BEF5A646E3</input>
+			<output>6EAC2BB6EDF35C1267FF4F10700F3CD7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 26</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>DCE8CFC23343565C8320E1ADFB03FEB3</key>
+			<iv>6EAC2BB6EDF35C1267FF4F10700F3CD7</iv>
+			<input>CDAD592E5467AD1FA1B71D8AC050FCE0</input>
+			<output>D9624E40A8C9A2C58ABEDBAEB865DC1F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 27</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>058A81829B8AF499099E3A03436622AC</key>
+			<iv>D9624E40A8C9A2C58ABEDBAEB865DC1F</iv>
+			<input>F9E90A4D7A9EF66818004CBC47C8C6EA</input>
+			<output>DE15C7322B32738BB493E7FA27AFE6E2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 28</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>DB9F46B0B0B88712BD0DDDF964C9C44E</key>
+			<iv>DE15C7322B32738BB493E7FA27AFE6E2</iv>
+			<input>FE3CC4AE4A13AC8946407CEEE220290B</input>
+			<output>5822C79D627AD8A0C4975873D62C5E11</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 29</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>83BD812DD2C25FB2799A858AB2E59A5F</key>
+			<iv>5822C79D627AD8A0C4975873D62C5E11</iv>
+			<input>A5106EBD8888CC3A6884AC8E8EA9C97A</input>
+			<output>F5AD0473A4228662D9F76E7A5ED4DBDD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 30</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>7610855E76E0D9D0A06DEBF0EC314182</key>
+			<iv>F5AD0473A4228662D9F76E7A5ED4DBDD</iv>
+			<input>4F30B073FB95CD0F0317E749F20E7A7D</input>
+			<output>4B39DA1FA331CFEB1D6713054C6E9474</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 31</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3D295F41D5D1163BBD0AF8F5A05FD5F6</key>
+			<iv>4B39DA1FA331CFEB1D6713054C6E9474</iv>
+			<input>4850735E17F01A3B131E1B78B3A6EB96</input>
+			<output>32D1BE8640859CFAB16D64CE8795729B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 32</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0FF8E1C795548AC10C679C3B27CAA76D</key>
+			<iv>32D1BE8640859CFAB16D64CE8795729B</iv>
+			<input>A8C4B9E0069935CB046ACBB49C0B1205</input>
+			<output>47DC1150929AA9610938CB0CFE92995E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 33</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4824F09707CE23A0055F5737D9583E33</key>
+			<iv>47DC1150929AA9610938CB0CFE92995E</iv>
+			<input>13F5DA56D399A7DAA004D0BE76845E68</input>
+			<output>BCA6BD8971837B8A81B923E5B2ED0D83</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 34</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F4824D1E764D582A84E674D26BB533B0</key>
+			<iv>BCA6BD8971837B8A81B923E5B2ED0D83</iv>
+			<input>8397C79E02FDFE6B7D47FA0181EA453A</input>
+			<output>23D991B7DA5E96966830E7B40B5A2D8A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 35</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D75BDCA9AC13CEBCECD6936660EF1E3A</key>
+			<iv>23D991B7DA5E96966830E7B40B5A2D8A</iv>
+			<input>18987E5504E23C0F862BCA8DFFC2B07F</input>
+			<output>17AA31C49F584DEF77C8E7891B11652B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 36</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C0F1ED6D334B83539B1E74EF7BFE7B11</key>
+			<iv>17AA31C49F584DEF77C8E7891B11652B</iv>
+			<input>A34D44CC1C6E171D7D48447F87E2F2C1</input>
+			<output>DD1F90F66D4062E6823F0F229562D110</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 37</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>1DEE7D9B5E0BE1B519217BCDEE9CAA01</key>
+			<iv>DD1F90F66D4062E6823F0F229562D110</iv>
+			<input>C9793582E22B8840BBAA3D7669208CCC</input>
+			<output>8F5B876777F7CA903B1D6346AA8BDAE7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 38</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>92B5FAFC29FC2B25223C188B441770E6</key>
+			<iv>8F5B876777F7CA903B1D6346AA8BDAE7</iv>
+			<input>730EACFEE3817A94B88117ABB3F9CDE4</input>
+			<output>388780BA989C0A8BB5BD9E4086D91EF7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 39</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>AA327A46B16021AE978186CBC2CE6E11</key>
+			<iv>388780BA989C0A8BB5BD9E4086D91EF7</iv>
+			<input>F004D3A14C6C94FA2D39BE0C71119658</input>
+			<output>7F4C33E4F5C055C05DB4B7691061B307</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 40</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D57E49A244A0746ECA3531A2D2AFDD16</key>
+			<iv>7F4C33E4F5C055C05DB4B7691061B307</iv>
+			<input>575F86A5D1637CB86449F8BC0F1573D3</input>
+			<output>F6FE1919F174065AB31AC43E0D733A81</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 41</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>238050BBB5D47234792FF59CDFDCE797</key>
+			<iv>F6FE1919F174065AB31AC43E0D733A81</iv>
+			<input>14F8E2DB61B05E094CA4C0E9DA7800EE</input>
+			<output>4CB876F2DC169F955E639C6C916340A6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 42</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>6F38264969C2EDA1274C69F04EBFA731</key>
+			<iv>4CB876F2DC169F955E639C6C916340A6</iv>
+			<input>F88BA2E4AA4ABDD381778DFD1DA1856F</input>
+			<output>AEEB80B469D89E45BC3426B6CCC50440</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 43</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C1D3A6FD001A73E49B784F46827AA371</key>
+			<iv>AEEB80B469D89E45BC3426B6CCC50440</iv>
+			<input>195F74019B65C0F7D724491BDE8C8B88</input>
+			<output>2FD7CCDBDB2B2037C104F0A707A11EDA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 44</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>EE046A26DB3153D35A7CBFE185DBBDAB</key>
+			<iv>2FD7CCDBDB2B2037C104F0A707A11EDA</iv>
+			<input>FF51887AB5FEC9C97CB61BB2DE9CDBC6</input>
+			<output>8DF7BB99B781C63F4F8B2A7D5DFF2960</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 45</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>63F3D1BF6CB095EC15F7959CD82494CB</key>
+			<iv>8DF7BB99B781C63F4F8B2A7D5DFF2960</iv>
+			<input>A35AAB0055E99FA980D59B242B8C6257</input>
+			<output>7D96ECC20571E9E85C16E3BDADA374CA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 46</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>1E653D7D69C17C0449E176217587E001</key>
+			<iv>7D96ECC20571E9E85C16E3BDADA374CA</iv>
+			<input>02CC392194874CD531025588C96E2D22</input>
+			<output>AA1DC2E69CE582DFA9A1B435854FCBB1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 47</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B478FF9BF524FEDBE040C214F0C82BB0</key>
+			<iv>AA1DC2E69CE582DFA9A1B435854FCBB1</iv>
+			<input>94CC5DB118EF53C904B0EEC23AC650FD</input>
+			<output>DA0CA33BCCE4ABA1936833127D1F5E25</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 48</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>6E745CA039C0557A7328F1068DD77595</key>
+			<iv>DA0CA33BCCE4ABA1936833127D1F5E25</iv>
+			<input>52F009E929526E923BE4F43B66876725</input>
+			<output>B5E80FF4DADD69BB7493B9F72A752811</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 49</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>DB9C5354E31D3CC107BB48F1A7A25D84</key>
+			<iv>B5E80FF4DADD69BB7493B9F72A752811</iv>
+			<input>6B88B42E99E5B4F838064A711B71DE1F</input>
+			<output>5CDDCE45516C6D1654647A1A541AC435</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 50</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>87419D11B27151D753DF32EBF3B899B1</key>
+			<iv>5CDDCE45516C6D1654647A1A541AC435</iv>
+			<input>9E25CBDD8E2D7D68FF72932E35879175</input>
+			<output>3C7E88A9A6462D08ADA5910A3FCE611A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 51</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>BB3F15B814377CDFFE7AA3E1CC76F8AB</key>
+			<iv>3C7E88A9A6462D08ADA5910A3FCE611A</iv>
+			<input>72A4EF1D82A3AC5C1DFDF8C4DCFB9F6E</input>
+			<output>E428200E1C3BE9A5141F73590B7473B8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 52</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5F1735B6080C957AEA65D0B8C7028B13</key>
+			<iv>E428200E1C3BE9A5141F73590B7473B8</iv>
+			<input>7CD8053F2FD743A44CC39F75C1E81075</input>
+			<output>AB3B8A79653E884053AFC8C14504AF77</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 53</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F42CBFCF6D321D3AB9CA187982062464</key>
+			<iv>AB3B8A79653E884053AFC8C14504AF77</iv>
+			<input>0731077A8B6854CB90AFFAE3A3B199C4</input>
+			<output>53B7DFD6D12DDE7966C62FCC1946A4AC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 54</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A79B6019BC1FC343DF0C37B59B4080C8</key>
+			<iv>53B7DFD6D12DDE7966C62FCC1946A4AC</iv>
+			<input>E4E26CA1DA697F30E0542763313A79B7</input>
+			<output>6DEC201BBB90B66A3B2DFF4FA1DDF7C4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 55</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>CA774002078F7529E421C8FA3A9D770C</key>
+			<iv>6DEC201BBB90B66A3B2DFF4FA1DDF7C4</iv>
+			<input>C2CF11681C4767A78B2F95AFB50CF155</input>
+			<output>F535B7CD4135A39E0E344BD2CFA14B83</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 56</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3F42F7CF46BAD6B7EA158328F53C3C8F</key>
+			<iv>F535B7CD4135A39E0E344BD2CFA14B83</iv>
+			<input>606618948C1ED454B9B0F92435381D2D</input>
+			<output>209AC483682C48AA197BB64417127656</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 57</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>1FD8334C2E969E1DF36E356CE22E4AD9</key>
+			<iv>209AC483682C48AA197BB64417127656</iv>
+			<input>8F8A70AADF2F8BFB5E137F86AC83D32F</input>
+			<output>76F5F43A888D7F22D698A73810ED5B15</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 58</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>692DC776A61BE13F25F69254F2C311CC</key>
+			<iv>76F5F43A888D7F22D698A73810ED5B15</iv>
+			<input>E9E8AEBF16A5F4E1C26B4A385163E844</input>
+			<output>625C62F33C9548F2651FB0A08BF45286</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 59</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0B71A5859A8EA9CD40E922F47937434A</key>
+			<iv>625C62F33C9548F2651FB0A08BF45286</iv>
+			<input>C69CFD36C50EBA06E3B3C4AB7C9B694E</input>
+			<output>3931CE6DF783063F26920D4048B00C82</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 60</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>32406BE86D0DAFF2667B2FB431874FC8</key>
+			<iv>3931CE6DF783063F26920D4048B00C82</iv>
+			<input>5DFE322DD692BA8DD9CD328A5AF9A3B7</input>
+			<output>A3CA3ECE725C84281144052A80EA5176</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 61</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>918A55261F512BDA773F2A9EB16D1EBE</key>
+			<iv>A3CA3ECE725C84281144052A80EA5176</iv>
+			<input>4BBD16BF74226F816767A7207C672C9A</input>
+			<output>94552690A231354F8F9BEF295E55F142</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 62</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>05DF73B6BD601E95F8A4C5B7EF38EFFC</key>
+			<iv>94552690A231354F8F9BEF295E55F142</iv>
+			<input>7055D0C535B2B0501FF6AAEE46E03818</input>
+			<output>771908987F00C2D822897E7EEA148F29</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 63</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>72C67B2EC260DC4DDA2DBBC9052C60D5</key>
+			<iv>771908987F00C2D822897E7EEA148F29</iv>
+			<input>7336B9D4977BDDA811C0C5EBEA539574</input>
+			<output>7AA84598115B181863081AFCC239EDD2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 64</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>086E3EB6D33BC455B925A135C7158D07</key>
+			<iv>7AA84598115B181863081AFCC239EDD2</iv>
+			<input>5296C8546532BAEACBEC9F29916FB6B2</input>
+			<output>3D95967035AF639B2D2814DEB9B7F86A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 65</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>35FBA8C6E694A7CE940DB5EB7EA2756D</key>
+			<iv>3D95967035AF639B2D2814DEB9B7F86A</iv>
+			<input>430880F5576C7783BC1336F900DDD037</input>
+			<output>4D70AAD2FC9EF403B463A72DB4CFE640</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 66</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>788B02141A0A53CD206E12C6CA6D932D</key>
+			<iv>4D70AAD2FC9EF403B463A72DB4CFE640</iv>
+			<input>E489B93778DE0C42FEFB6122ECA46BDC</input>
+			<output>165DDB405546934E81CB6B0B89B4A40E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 67</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>6ED6D9544F4CC083A1A579CD43D93723</key>
+			<iv>165DDB405546934E81CB6B0B89B4A40E</iv>
+			<input>8E5481ACD58BFC5D141C1F71CDE91E37</input>
+			<output>693775A3661CE9D0E4CB4888431C64A5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 68</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>07E1ACF729502953456E314500C55386</key>
+			<iv>693775A3661CE9D0E4CB4888431C64A5</iv>
+			<input>4AAA5E507EFB9FAD15E5F4C77F46AF89</input>
+			<output>C42391D50B1210C67B6AD642745A4DAC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 69</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C3C23D22224239953E04E707749F1E2A</key>
+			<iv>C42391D50B1210C67B6AD642745A4DAC</iv>
+			<input>4E0748F8716801B099494037485B8BA4</input>
+			<output>A4CB7F010AC42B4C3C14F02353F3644A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 70</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>67094223288612D902101724276C7A60</key>
+			<iv>A4CB7F010AC42B4C3C14F02353F3644A</iv>
+			<input>0B7B41D57885DB37A2FC355C8D03FF3C</input>
+			<output>1BB0CBD24537B36EB555BE8C0FEC3A1F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 71</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>7CB989F16DB1A1B7B745A9A82880407F</key>
+			<iv>1BB0CBD24537B36EB555BE8C0FEC3A1F</iv>
+			<input>4696F9A564354194142AB7B8630B4279</input>
+			<output>18B10BAE39D4FA58F586A067A8E38BC5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 72</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>6408825F54655BEF42C309CF8063CBBA</key>
+			<iv>18B10BAE39D4FA58F586A067A8E38BC5</iv>
+			<input>0B59EBABAB994F2DDB3DE383454BECE8</input>
+			<output>C09C6670B93ECD303BA53DE58DD81A64</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 73</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A494E42FED5B96DF7966342A0DBBD1DE</key>
+			<iv>C09C6670B93ECD303BA53DE58DD81A64</iv>
+			<input>2F897F3385E71133CEC8367411E830A3</input>
+			<output>45EA7CB9119DF7367294F9FE36D4A09F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 74</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E17E9896FCC661E90BF2CDD43B6F7141</key>
+			<iv>45EA7CB9119DF7367294F9FE36D4A09F</iv>
+			<input>8CDE9D975B51A098F4CAC93DC58C002F</input>
+			<output>02DDD735439A8AE03E976E629A6C992C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 75</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E3A34FA3BF5CEB093565A3B6A103E86D</key>
+			<iv>02DDD735439A8AE03E976E629A6C992C</iv>
+			<input>1E20571F82C2C6884A6F90A23FD3A925</input>
+			<output>B040686B866AE80A88B899031F2F0EE4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 76</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>53E327C839360303BDDD3AB5BE2CE689</key>
+			<iv>B040686B866AE80A88B899031F2F0EE4</iv>
+			<input>0851624711970ADE2F456D5DAFB17E05</input>
+			<output>201756BC061706513264A3C489D95A0C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 77</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>73F471743F2105528FB9997137F5BC85</key>
+			<iv>201756BC061706513264A3C489D95A0C</iv>
+			<input>E8B1410DE742136E71F54D31FEAA72EB</input>
+			<output>2EF27C31AA488648FCE0F1804D658092</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 78</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5D060D459569831A735968F17A903C17</key>
+			<iv>2EF27C31AA488648FCE0F1804D658092</iv>
+			<input>97E0CA84C9B22C8942C7FC5088EAED04</input>
+			<output>7545F1D9C8F5F8B441EDCDAF00462344</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 79</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>2843FC9C5D9C7BAE32B4A55E7AD61F53</key>
+			<iv>7545F1D9C8F5F8B441EDCDAF00462344</iv>
+			<input>7B5572C09E998656B55C53748CF77C21</input>
+			<output>347875EFD6BD978CD1B2EA949F7E2358</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 80</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>1C3B89738B21EC22E3064FCAE5A83C0B</key>
+			<iv>347875EFD6BD978CD1B2EA949F7E2358</iv>
+			<input>A30001AA29D70B0A141B8FC8B9B2E210</input>
+			<output>9C956408BA335CCC9F02F31CC45FD5E6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 81</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>80AEED7B3112B0EE7C04BCD621F7E9ED</key>
+			<iv>9C956408BA335CCC9F02F31CC45FD5E6</iv>
+			<input>839783D75859393B215010F63159FA45</input>
+			<output>B70E700F4A7ED08618754960B83BD0F2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 82</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>37A09D747B6C60686471F5B699CC391F</key>
+			<iv>B70E700F4A7ED08618754960B83BD0F2</iv>
+			<input>1E3C630BC8C34BF8822686043D14E4D6</input>
+			<output>4721B6796F82D47D6EEB9CB11A19605E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 83</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>70812B0D14EEB4150A9A690783D55941</key>
+			<iv>4721B6796F82D47D6EEB9CB11A19605E</iv>
+			<input>CEE1B977E8B75623CC4E2C4F4765FE2A</input>
+			<output>3382E1B076680BBBE7C451582016DD11</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 84</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4303CABD6286BFAEED5E385FA3C38450</key>
+			<iv>3382E1B076680BBBE7C451582016DD11</iv>
+			<input>02365457AB60C892A0C34A7067AB7608</input>
+			<output>AB581732E06B90AA0C835C1C7B6D18B5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 85</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E85BDD8F82ED2F04E1DD6443D8AE9CE5</key>
+			<iv>AB581732E06B90AA0C835C1C7B6D18B5</iv>
+			<input>222B7ED84C648C12FFDD6E8E13EEC651</input>
+			<output>3E2E592CEEAD3B5E16860E80E406E882</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 86</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D67584A36C40145AF75B6AC33CA87467</key>
+			<iv>3E2E592CEEAD3B5E16860E80E406E882</iv>
+			<input>7D24BD646EEBA44ED27B11DA42D72FF8</input>
+			<output>9163F6DBE0D8BB79A154D92E37A07E1C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 87</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>471672788C98AF23560FB3ED0B080A7B</key>
+			<iv>9163F6DBE0D8BB79A154D92E37A07E1C</iv>
+			<input>42B571FFB3275F5A8E26616A3F0E3403</input>
+			<output>E1340E61513FE8146F29E111392E2C3A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 88</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A6227C19DDA74737392652FC32262641</key>
+			<iv>E1340E61513FE8146F29E111392E2C3A</iv>
+			<input>6EFD16D48E03B6E1CD74777ABC891DA8</input>
+			<output>3D703B4FD8A8A7F015D0FD47DE0C5A28</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 89</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>9B524756050FE0C72CF6AFBBEC2A7C69</key>
+			<iv>3D703B4FD8A8A7F015D0FD47DE0C5A28</iv>
+			<input>7956129687AC95397E14821A17F267DE</input>
+			<output>C5C6D2BAABDBE0B82CDFFFE7A92C8344</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 90</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5E9495ECAED4007F0029505C4506FF2D</key>
+			<iv>C5C6D2BAABDBE0B82CDFFFE7A92C8344</iv>
+			<input>AC661770332FE0A45B80791C3A5D1241</input>
+			<output>6F7BDE1BD17C5B10064B52EB54EE90B0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 91</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>31EF4BF77FA85B6F066202B711E86F9D</key>
+			<iv>6F7BDE1BD17C5B10064B52EB54EE90B0</iv>
+			<input>1DE0702C81667A979E5E3542DA95C5AD</input>
+			<output>DC7E35D5B02AFF4B92C190265E01C0F8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 92</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>ED917E22CF82A42494A392914FE9AF65</key>
+			<iv>DC7E35D5B02AFF4B92C190265E01C0F8</iv>
+			<input>A491CB4321C757FD353B560C0B3EA4D0</input>
+			<output>D753F5A6C5D7E17F4024FD8675B23E7F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 93</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3AC28B840A55455BD4876F173A5B911A</key>
+			<iv>D753F5A6C5D7E17F4024FD8675B23E7F</iv>
+			<input>418FA3B3E9B4E463D04AC3A3361DCA57</input>
+			<output>B635529E8080B33E9AD6D79B8203112D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 94</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8CF7D91A8AD5F6654E51B88CB8588037</key>
+			<iv>B635529E8080B33E9AD6D79B8203112D</iv>
+			<input>C87E4ED505989807D1DBDA4769804EA3</input>
+			<output>43E763CD1B9EE4BC474B79C1E0DA2564</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 95</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>CF10BAD7914B12D9091AC14D5882A553</key>
+			<iv>43E763CD1B9EE4BC474B79C1E0DA2564</iv>
+			<input>042F084454D0EE01AB00D3921E1BCA06</input>
+			<output>C799956FF8A7A05B71123EBC4AA09C0C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 96</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>08892FB869ECB2827808FFF11222395F</key>
+			<iv>C799956FF8A7A05B71123EBC4AA09C0C</iv>
+			<input>9A8E40400C51A438DCE498AD3455DE51</input>
+			<output>76679B0E26B1B6CA2A8D90944777C57F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 97</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>7EEEB4B64F5D044852856F655555FC20</key>
+			<iv>76679B0E26B1B6CA2A8D90944777C57F</iv>
+			<input>227E122D3AF18A3CAA973B33B3356CE7</input>
+			<output>B2F52396F02D2DFFE36C5F9238AC1EBE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 98</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>CC1B9720BF7029B7B1E930F76DF9E29E</key>
+			<iv>B2F52396F02D2DFFE36C5F9238AC1EBE</iv>
+			<input>0D9CDD97E2FE0E78CF16B1596DC20ABA</input>
+			<output>7C8EDD3A079835954238E0FE4872AAE1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 99</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B0954A1AB8E81C22F3D1D009258B487F</key>
+			<iv>7C8EDD3A079835954238E0FE4872AAE1</iv>
+			<input>925A7ECD233B3B3CCDE2221A03C5F720</input>
+			<output>D7C9FD3EF010C8577087591149D5640F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 100</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>675CB72448F8D475835689186C5E2C70</key>
+			<iv>D7C9FD3EF010C8577087591149D5640F</iv>
+			<input>59FEFBE5179F0E7E48F3D97CDA314FF5</input>
+			<output>2608CCE6BA917551DEF84FA7BCA9B23C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 101</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>41547BC2F269A1245DAEC6BFD0F79E4C</key>
+			<iv>2608CCE6BA917551DEF84FA7BCA9B23C</iv>
+			<input>7F24A1BA8762294194F76322A6B28A16</input>
+			<output>EFF1513B52D5D74D2202898AC99552C4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 102</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>AEA52AF9A0BC76697FAC4F351962CC88</key>
+			<iv>EFF1513B52D5D74D2202898AC99552C4</iv>
+			<input>79B43F27F3E144C4EFBF383698A1EC90</input>
+			<output>B4B3B020D44D059666E86D22072916B5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 103</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>1A169AD974F173FF194422171E4BDA3D</key>
+			<iv>B4B3B020D44D059666E86D22072916B5</iv>
+			<input>8BF20B60B4774354857BA2979CD396F9</input>
+			<output>6F1A3D43CC2171A808AE8D38396DE1D1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 104</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>750CA79AB8D0025711EAAF2F27263BEC</key>
+			<iv>6F1A3D43CC2171A808AE8D38396DE1D1</iv>
+			<input>74955DDACFB8A5467D069F1EF341248B</input>
+			<output>47C23A68DA351C22EBF86FDBD8F723B4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 105</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>32CE9DF262E51E75FA12C0F4FFD11858</key>
+			<iv>47C23A68DA351C22EBF86FDBD8F723B4</iv>
+			<input>25D7A186ED990020E10A23C5CFB1CEF9</input>
+			<output>D5F2E2C2CED730479D87E0AF0FEF8A73</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 106</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E73C7F30AC322E326795205BF03E922B</key>
+			<iv>D5F2E2C2CED730479D87E0AF0FEF8A73</iv>
+			<input>13480F2EDCCB62B8F9A7DF98238571FC</input>
+			<output>F29A46A7F1B1D1D4F5FE30E569D7A801</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 107</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>15A639975D83FFE6926B10BE99E93A2A</key>
+			<iv>F29A46A7F1B1D1D4F5FE30E569D7A801</iv>
+			<input>75E138123B5A98596303ACF9DAEEA714</input>
+			<output>9F6E9A13913DF78AC67BD20303AF49B5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 108</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8AC8A384CCBE086C5410C2BD9A46739F</key>
+			<iv>9F6E9A13913DF78AC67BD20303AF49B5</iv>
+			<input>DBD0AE00FD06761626366EB251412A32</input>
+			<output>46AC9F42239B22A163CE0FDEAA103D44</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 109</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>CC643CC6EF252ACD37DECD6330564EDB</key>
+			<iv>46AC9F42239B22A163CE0FDEAA103D44</iv>
+			<input>B8768A8AF461C9547D1F982FE90E96B6</input>
+			<output>95D7C8F969B0EEB03FEC257043597315</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 110</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>59B3F43F8695C47D0832E813730F3DCE</key>
+			<iv>95D7C8F969B0EEB03FEC257043597315</iv>
+			<input>3D20CC8AD484048251C7A81C7E3CA59C</input>
+			<output>6B74AF42435BC640A826EC443207574E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 111</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>32C75B7DC5CE023DA014045741086A80</key>
+			<iv>6B74AF42435BC640A826EC443207574E</iv>
+			<input>BF719F78B23BAFD4A50634BCD9361095</input>
+			<output>31E3919F36D79FBF61884227110C10FF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 112</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0324CAE2F3199D82C19C467050047A7F</key>
+			<iv>31E3919F36D79FBF61884227110C10FF</iv>
+			<input>E1D32740BB8B6D67AD3038887899F090</input>
+			<output>A1CD90683CE041D6CA20780176FDD5F4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 113</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A2E95A8ACFF9DC540BBC3E7126F9AF8B</key>
+			<iv>A1CD90683CE041D6CA20780176FDD5F4</iv>
+			<input>3069EA97F092ACDCF41649377B8FCBC8</input>
+			<output>7220F866A10DC711DC1D277B4C8F204D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 114</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D0C9A2EC6EF41B45D7A1190A6A768FC6</key>
+			<iv>7220F866A10DC711DC1D277B4C8F204D</iv>
+			<input>B0563A5E0EE1E2B96F3F7D04EE39EA7C</input>
+			<output>CF81CA348B98C532B172F032AE0A6FED</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 115</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>1F4868D8E56CDE7766D3E938C47CE02B</key>
+			<iv>CF81CA348B98C532B172F032AE0A6FED</iv>
+			<input>B1B78BD75C30DD4E1E198ACB98B498A6</input>
+			<output>99C990D64D27D47ED0C1E7F186AC6674</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 116</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8681F80EA84B0A09B6120EC942D0865F</key>
+			<iv>99C990D64D27D47ED0C1E7F186AC6674</iv>
+			<input>D413E3CC66E9938E4E0CFC1975E38C8C</input>
+			<output>30C7DAD86FEF77C43A44A3EF8B116354</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 117</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B64622D6C7A47DCD8C56AD26C9C1E50B</key>
+			<iv>30C7DAD86FEF77C43A44A3EF8B116354</iv>
+			<input>CD85D9334481AE85B8816233CA4AF7DB</input>
+			<output>9E717B45239DD908138837154B803654</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 118</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>28375993E439A4C59FDE9A338241D35F</key>
+			<iv>9E717B45239DD908138837154B803654</iv>
+			<input>925BA3760D655D5B788802DDE25732BB</input>
+			<output>4A6E32C01709EBCCC9BCA43FD5DFDFB3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 119</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>62596B53F3304F0956623E0C579E0CEC</key>
+			<iv>4A6E32C01709EBCCC9BCA43FD5DFDFB3</iv>
+			<input>0AA6264BFCC7BD07FA8F94E1EF739633</input>
+			<output>7263392DC9DA868BC0317A6D4AD52553</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 120</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>103A527E3AEAC982965344611D4B29BF</key>
+			<iv>7263392DC9DA868BC0317A6D4AD52553</iv>
+			<input>FB385BD8ECE7C4DFE2351D851141888D</input>
+			<output>AA49B1DDA3AF4D05D861667E88AD61AB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 121</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>BA73E3A3994584874E32221F95E64814</key>
+			<iv>AA49B1DDA3AF4D05D861667E88AD61AB</iv>
+			<input>510E13E20BB06EAD335F10F2C69831D3</input>
+			<output>3AC256A92F69AF35DB05DDCA61CF1EE4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 122</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>80B1B50AB62C2BB29537FFD5F42956F0</key>
+			<iv>3AC256A92F69AF35DB05DDCA61CF1EE4</iv>
+			<input>0A07CAA0EC6CB726F1A38847253BECB6</input>
+			<output>037497736381429A5E5A139C44A6C64A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 123</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>83C52279D5AD6928CB6DEC49B08F90BA</key>
+			<iv>037497736381429A5E5A139C44A6C64A</iv>
+			<input>864FEF67C8902757E2CFB28DA2EF3C8D</input>
+			<output>5393D7F9F37A5B9F1F82C1BE20435149</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 124</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D056F58026D732B7D4EF2DF790CCC1F3</key>
+			<iv>5393D7F9F37A5B9F1F82C1BE20435149</iv>
+			<input>ED2D2A671677067B30540D4C9D86905F</input>
+			<output>2969AC5FB94EC76209C6DF58F6B8AA01</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 125</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F93F59DF9F99F5D5DD29F2AF66746BF2</key>
+			<iv>2969AC5FB94EC76209C6DF58F6B8AA01</iv>
+			<input>67ED14454DAD764C1772BCB1E0527954</input>
+			<output>150F94E1940F9D2ACC735F79B0912A06</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 126</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>EC30CD3E0B9668FF115AADD6D6E541F4</key>
+			<iv>150F94E1940F9D2ACC735F79B0912A06</iv>
+			<input>517A4852F68370EDD879E32F52FD4D2B</input>
+			<output>6EFD8E4E4C096A2033B3DA8A1F0066AF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 127</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>82CD4370479F02DF22E9775CC9E5275B</key>
+			<iv>6EFD8E4E4C096A2033B3DA8A1F0066AF</iv>
+			<input>DBF4CAD912437115658E5BA5E1724739</input>
+			<output>899D9126CD85D2D4053AD9EE7156041B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 128</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0B50D2568A1AD00B27D3AEB2B8B32340</key>
+			<iv>899D9126CD85D2D4053AD9EE7156041B</iv>
+			<input>69B302F96AFCF802AC639EBABC52ECFB</input>
+			<output>819E4B8319807088FF306E125E52DAD3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 129</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8ACE99D5939AA083D8E3C0A0E6E1F993</key>
+			<iv>819E4B8319807088FF306E125E52DAD3</iv>
+			<input>F5CA57371833F0AF98F0EC02DFE518ED</input>
+			<output>4DFA3739235D14660DF7D5FDE36F6567</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 130</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C734AEECB0C7B4E5D514155D058E9CF4</key>
+			<iv>4DFA3739235D14660DF7D5FDE36F6567</iv>
+			<input>29BBD9264B9792BED8A8EFA43F943A7D</input>
+			<output>4EA36ECCBCCD9FAFD8FB588BD53826A7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 131</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8997C0200C0A2B4A0DEF4DD6D0B6BA53</key>
+			<iv>4EA36ECCBCCD9FAFD8FB588BD53826A7</iv>
+			<input>149120CFC3D7C671F287AA77A4A3EF97</input>
+			<output>0282357C78C8944A5520AF80506DE30D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 132</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8B15F55C74C2BF0058CFE25680DB595E</key>
+			<iv>0282357C78C8944A5520AF80506DE30D</iv>
+			<input>02C2E0CCB12F5216213D493325F38FC3</input>
+			<output>C827C36F654137A2BB127D1782285B10</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 133</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>43323633118388A2E3DD9F4102F3024E</key>
+			<iv>C827C36F654137A2BB127D1782285B10</iv>
+			<input>FA1693AD90401791FF9093A562EC66EB</input>
+			<output>3723A94BC91032BF8DB599ABEFB784D1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 134</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>74119F78D893BA1D6E6806EAED44869F</key>
+			<iv>3723A94BC91032BF8DB599ABEFB784D1</iv>
+			<input>5410CBE33ABB58AB0B0E86F5817E6F2C</input>
+			<output>26A520B5B475632EE8806648BFC028AF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 135</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>52B4BFCD6CE6D93386E860A25284AE30</key>
+			<iv>26A520B5B475632EE8806648BFC028AF</iv>
+			<input>B01A11D200C24F4333029DE3BFF49601</input>
+			<output>36D5E00E0A53D7CE1498215AFA686905</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 136</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>64615FC366B50EFD927041F8A8ECC735</key>
+			<iv>36D5E00E0A53D7CE1498215AFA686905</iv>
+			<input>252E4460E9A391D54CE9E516663E59AE</input>
+			<output>829F0B7B17ED5F2FB7A014A6CD9D8052</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 137</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E6FE54B8715851D225D0555E65714767</key>
+			<iv>829F0B7B17ED5F2FB7A014A6CD9D8052</iv>
+			<input>BCC51A6493F6847BEA8219329F67308D</input>
+			<output>BAB1D358D08DA13BEC485051F2EBFE2E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 138</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5C4F87E0A1D5F0E9C998050F979AB949</key>
+			<iv>BAB1D358D08DA13BEC485051F2EBFE2E</iv>
+			<input>D89236011B3C2338E95322D4716AEE59</input>
+			<output>29BA99F8CF8B48134B1330E75BD7254E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 139</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>75F51E186E5EB8FA828B35E8CC4D9C07</key>
+			<iv>29BA99F8CF8B48134B1330E75BD7254E</iv>
+			<input>21D0EB5857C93A0D4D75253E1020C00E</input>
+			<output>9D557274FE14AA69673441117A2D7DA2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 140</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E8A06C6C904A1293E5BF74F9B660E1A5</key>
+			<iv>9D557274FE14AA69673441117A2D7DA2</iv>
+			<input>3C3BB454584C4C7570089B6E631BA035</input>
+			<output>543EF50A024E77ACE685BD0BBB47232D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 141</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>BC9E99669204653F033AC9F20D27C288</key>
+			<iv>543EF50A024E77ACE685BD0BBB47232D</iv>
+			<input>8ED890BC903AEAC7C3C685980EDB3370</input>
+			<output>884BD68868D89DE9DEDB2D95A8B992FB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 142</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>34D54FEEFADCF8D6DDE1E467A59E5073</key>
+			<iv>884BD68868D89DE9DEDB2D95A8B992FB</iv>
+			<input>684DEBD6DEDE24BD0F4F8AFA47F08AEF</input>
+			<output>DB00984CAEB14CF5A1FDE8E8E9C03830</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 143</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>EFD5D7A2546DB4237C1C0C8F4C5E6843</key>
+			<iv>DB00984CAEB14CF5A1FDE8E8E9C03830</iv>
+			<input>C42B245443F2695F306455199C7C76FE</input>
+			<output>0CA808425E8EBDDD5519130F4900329F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 144</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E37DDFE00AE309FE29051F80055E5ADC</key>
+			<iv>0CA808425E8EBDDD5519130F4900329F</iv>
+			<input>1655F89334CCB6ED8E140088997BD2D1</input>
+			<output>0DAE2F85CD81874DCD7368277D0C386D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 145</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>EED3F065C7628EB3E47677A7785262B1</key>
+			<iv>0DAE2F85CD81874DCD7368277D0C386D</iv>
+			<input>2B7A2DF6E0CAC83837AFDC8B2134E6A6</input>
+			<output>E3BF66A6784432E6CE61B769C3CFDB35</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 146</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0D6C96C3BF26BC552A17C0CEBB9DB984</key>
+			<iv>E3BF66A6784432E6CE61B769C3CFDB35</iv>
+			<input>8FED19E77B9690EC8F70272364B4EB74</input>
+			<output>473925552401311F24EE4F40B5A3ECB5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 147</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4A55B3969B278D4A0EF98F8E0E3E5531</key>
+			<iv>473925552401311F24EE4F40B5A3ECB5</iv>
+			<input>032D9AF654037E2586B12CF031E4AB4C</input>
+			<output>E9E1E4ACF3F4E25CB8093F6B27665DFF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 148</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A3B4573A68D36F16B6F0B0E5295808CE</key>
+			<iv>E9E1E4ACF3F4E25CB8093F6B27665DFF</iv>
+			<input>E6EF26B3721F6C772D231584DD480441</input>
+			<output>2D9F85D63FED609876DF97F0E6B85564</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 149</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8E2BD2EC573E0F8EC02F2715CFE05DAA</key>
+			<iv>2D9F85D63FED609876DF97F0E6B85564</iv>
+			<input>E641EBC4A734C71669D948F1BEEE675A</input>
+			<output>3A61F4BED09FD7A7AED71E9FD53D2EE3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 150</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B44A265287A1D8296EF8398A1ADD7349</key>
+			<iv>3A61F4BED09FD7A7AED71E9FD53D2EE3</iv>
+			<input>36DB43747CD9215857886A0DE2008509</input>
+			<output>6BE2AD95F4A642F3FD73D9543B53D479</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 151</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>DFA88BC773079ADA938BE0DE218EA730</key>
+			<iv>6BE2AD95F4A642F3FD73D9543B53D479</iv>
+			<input>58A73313B31B8C1EB3C144C9363EE94B</input>
+			<output>BF198D336DF857BFBA069634C25CF45B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 152</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>60B106F41EFFCD65298D76EAE3D2536B</key>
+			<iv>BF198D336DF857BFBA069634C25CF45B</iv>
+			<input>E0974E1BBEFE21422ECED27858535F87</input>
+			<output>7945132F6F7EED6B61E1CF9C47E2AB2A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 153</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>19F415DB7181200E486CB976A430F841</key>
+			<iv>7945132F6F7EED6B61E1CF9C47E2AB2A</iv>
+			<input>6F36B63A1A8B426282CA4E61B7E37B3A</input>
+			<output>AF441F330C8C199E9776D92A92B02216</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 154</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B6B00AE87D0D3990DF1A605C3680DA57</key>
+			<iv>AF441F330C8C199E9776D92A92B02216</iv>
+			<input>99AD2B814D3A4C0E1C27D4251C55C74A</input>
+			<output>F34463A538E46E87B0F24EAA36B674A7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 155</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>45F4694D45E957176FE82EF60036AEF0</key>
+			<iv>F34463A538E46E87B0F24EAA36B674A7</iv>
+			<input>6D05C19E42D0561C198A10FA55F4C870</input>
+			<output>5D54D3C72D55015D0149FA1591208824</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 156</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>18A0BA8A68BC564A6EA1D4E3911626D4</key>
+			<iv>5D54D3C72D55015D0149FA1591208824</iv>
+			<input>7AA7A04DE8CD21F59BA5369CA175CEC3</input>
+			<output>D2EBE35C33210B39CD4F443BB577DBD8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 157</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>CA4B59D65B9D5D73A3EE90D82461FD0C</key>
+			<iv>D2EBE35C33210B39CD4F443BB577DBD8</iv>
+			<input>2DA2A48FE13FA4DD5271A02FB7F98AEC</input>
+			<output>2F4AD89C0D915DF978160E9E882AD28E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 158</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E501814A560C008ADBF89E46AC4B2F82</key>
+			<iv>2F4AD89C0D915DF978160E9E882AD28E</iv>
+			<input>82EB831B9FF9DA7D06553A456133766B</input>
+			<output>09A04C7CBED3D60ADB6CFDD012DEED17</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 159</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>ECA1CD36E8DFD68000946396BE95C295</key>
+			<iv>09A04C7CBED3D60ADB6CFDD012DEED17</iv>
+			<input>8D4FD1CE8CB9745E9E65182D94F8307A</input>
+			<output>193C6FAB40C87C7029983EDD52628400</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 160</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F59DA29DA817AAF0290C5D4BECF74695</key>
+			<iv>193C6FAB40C87C7029983EDD52628400</iv>
+			<input>F06A061082E499E65A5DED0D22323F57</input>
+			<output>7166BD655D8128E7B09D37B38478B480</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 161</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>84FB1FF8F596821799916AF8688FF215</key>
+			<iv>7166BD655D8128E7B09D37B38478B480</iv>
+			<input>DCEC808551EA98534E1A9EDF457125DA</input>
+			<output>5DFAAFB695D34A7AF2D39CD2D01FD4BD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 162</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D901B04E6045C86D6B42F62AB89026A8</key>
+			<iv>5DFAAFB695D34A7AF2D39CD2D01FD4BD</iv>
+			<input>FAE59C96604D062F49C8C93FA7E4D5FC</input>
+			<output>85F63AFC88A1CED4E73B849C295692F2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 163</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5CF78AB2E8E406B98C7972B691C6B45A</key>
+			<iv>85F63AFC88A1CED4E73B849C295692F2</iv>
+			<input>7FE1EA6A7A525A7E0222D6269F7D6A40</input>
+			<output>DC60A8554BF9E783D0E92283EC0D00AF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 164</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>809722E7A31DE13A5C9050357DCBB4F5</key>
+			<iv>DC60A8554BF9E783D0E92283EC0D00AF</iv>
+			<input>89C93828CE30D4CD7025D9F2CF864371</input>
+			<output>EF10720E8F10FBABC96BB5F4E5287D12</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 165</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>6F8750E92C0D1A9195FBE5C198E3C9E7</key>
+			<iv>EF10720E8F10FBABC96BB5F4E5287D12</iv>
+			<input>A8DEA35D4A712ACE8F38A2CA2CB6BCFB</input>
+			<output>EED271733DC7B81AD09C86C8F8D69255</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 166</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8155219A11CAA28B4567630960355BB2</key>
+			<iv>EED271733DC7B81AD09C86C8F8D69255</iv>
+			<input>6720AD239EFECF5785B238D4DA39DD6A</input>
+			<output>DC47B1FAC154CB0C39ADF4C92F8C2902</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 167</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5D129060D09E69877CCA97C04FB972B0</key>
+			<iv>DC47B1FAC154CB0C39ADF4C92F8C2902</iv>
+			<input>D41DEA3BC44CC552B5ACCFEEFAF225F5</input>
+			<output>AD4828834513730BF275C854D35BF09E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 168</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F05AB8E3958D1A8C8EBF5F949CE2822E</key>
+			<iv>AD4828834513730BF275C854D35BF09E</iv>
+			<input>5059DA9258A7DE12865E1E2173399BC9</input>
+			<output>82CA6B085A452CFDFFBDE5C7B738CDAB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 169</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>7290D3EBCFC836717102BA532BDA4F85</key>
+			<iv>82CA6B085A452CFDFFBDE5C7B738CDAB</iv>
+			<input>9625B8A444C3E4D3554A8C6E33E1B810</input>
+			<output>4F44C38189E1011970690D0ED4BCB9C7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 170</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3DD4106A46293768016BB75DFF66F642</key>
+			<iv>4F44C38189E1011970690D0ED4BCB9C7</iv>
+			<input>373FBCA7529A9FA9AF77295FC55B0BEE</input>
+			<output>27BE0578B0F898C04133AA4D3C1A5A7C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 171</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>1A6A1512F6D1AFA840581D10C37CAC3E</key>
+			<iv>27BE0578B0F898C04133AA4D3C1A5A7C</iv>
+			<input>37FC0A286DFFD5A76643D1D45C858F64</input>
+			<output>B9C70B34F78F3DA7796C32D0918474A5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 172</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A3AD1E26015E920F39342FC052F8D89B</key>
+			<iv>B9C70B34F78F3DA7796C32D0918474A5</iv>
+			<input>E1EAC69AA2A8F05B8747E2624D00F4BB</input>
+			<output>846985C471F10676E63BCD09C32506F3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 173</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>27C49BE270AF9479DF0FE2C991DDDE68</key>
+			<iv>846985C471F10676E63BCD09C32506F3</iv>
+			<input>6EB0046D9C6854C63447296F4F6D3D21</input>
+			<output>F754559746C52113C29AF782E96B6105</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 174</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D090CE75366AB56A1D95154B78B6BF6D</key>
+			<iv>F754559746C52113C29AF782E96B6105</iv>
+			<input>F65269422328F40D8A53F4F14DB88583</input>
+			<output>AE6B4EABF8DC479A1E3F8C3F30A4A797</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 175</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>7EFB80DECEB6F2F003AA9974481218FA</key>
+			<iv>AE6B4EABF8DC479A1E3F8C3F30A4A797</iv>
+			<input>765B38DC041DEC130A3A294D9F89A16D</input>
+			<output>87645926B9D85AC4AB023D2104CC3FA2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 176</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F99FD9F8776EA834A8A8A4554CDE2758</key>
+			<iv>87645926B9D85AC4AB023D2104CC3FA2</iv>
+			<input>8070950120E0FBE07C70B171364AD173</input>
+			<output>0125D51139CE00DB848B8A9AD3FEB90B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 177</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F8BA0CE94EA0A8EF2C232ECF9F209E53</key>
+			<iv>0125D51139CE00DB848B8A9AD3FEB90B</iv>
+			<input>1EF45DD2CD61667469569CFAD445341C</input>
+			<output>E1651756A2C0D132C671D74748244E49</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 178</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>19DF1BBFEC6079DDEA52F988D704D01A</key>
+			<iv>E1651756A2C0D132C671D74748244E49</iv>
+			<input>26BEF7E8A3D0AC50DC64B8215CCBC44F</input>
+			<output>94049FBD554A6CFFE7927D6EC07D6242</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 179</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8DDB8402B92A15220DC084E61779B258</key>
+			<iv>94049FBD554A6CFFE7927D6EC07D6242</iv>
+			<input>803F34FA967583623D0CA4D76FC56787</input>
+			<output>974BBE04952D8F0DD70F4353FEB092EB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 180</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>1A903A062C079A2FDACFC7B5E9C920B3</key>
+			<iv>974BBE04952D8F0DD70F4353FEB092EB</iv>
+			<input>023E5D307CE85244144D59A53DB504E7</input>
+			<output>2615B9F94F9024EA616648FF15E3B65F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 181</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3C8583FF6397BEC5BBA98F4AFC2A96EC</key>
+			<iv>2615B9F94F9024EA616648FF15E3B65F</iv>
+			<input>1A84130B09CE3E7AB1F400B9FE295BEB</input>
+			<output>39A2A3B6EFB5EBE805CBAD5817EAEEDA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 182</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>052720498C22552DBE622212EBC07836</key>
+			<iv>39A2A3B6EFB5EBE805CBAD5817EAEEDA</iv>
+			<input>B83609055302D99DE46B7153AE3DFCE2</input>
+			<output>93F72B839E2AD731B5E894B56ADADCF4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 183</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>96D00BCA1208821C0B8AB6A7811AA4C2</key>
+			<iv>93F72B839E2AD731B5E894B56ADADCF4</iv>
+			<input>85E69EBDE13C05526EA8AE1D24B487F3</input>
+			<output>D0ADA333801DFDBFC2420B73CD2B92A5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 184</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>467DA8F992157FA3C9C8BDD44C313667</key>
+			<iv>D0ADA333801DFDBFC2420B73CD2B92A5</iv>
+			<input>F24782E953B9B1BBF3B925659C99415B</input>
+			<output>F59A3D0B65E8F16DC73CCD6C27E8C705</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 185</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B3E795F2F7FD8ECE0EF470B86BD9F162</key>
+			<iv>F59A3D0B65E8F16DC73CCD6C27E8C705</iv>
+			<input>73BE517552E054D78583BEA03B84A245</input>
+			<output>7904DBE3A103D936EB4B960C180B0651</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 186</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>CAE34E1156FE57F8E5BFE6B473D2F733</key>
+			<iv>7904DBE3A103D936EB4B960C180B0651</iv>
+			<input>91998E9582D8357DD5D8B95A9D85912F</input>
+			<output>C2DE0D0145A45DEABD6DE1FD62161EB1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 187</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>083D4310135A0A1258D2074911C4E982</key>
+			<iv>C2DE0D0145A45DEABD6DE1FD62161EB1</iv>
+			<input>2A5D4EC49712B9CF1E2D9C6C5EFACC2A</input>
+			<output>974264BDC574C738243DDC008EC4C15A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 188</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>9F7F27ADD62ECD2A7CEFDB499F0028D8</key>
+			<iv>974264BDC574C738243DDC008EC4C15A</iv>
+			<input>F74520C3745B9B9F9D19642AA57451FB</input>
+			<output>F4EE51C2ECC32F4806F9C8588880525B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 189</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>6B91766F3AEDE2627A16131117807A83</key>
+			<iv>F4EE51C2ECC32F4806F9C8588880525B</iv>
+			<input>4A7D6FC6712F451F58DF0AC2D517189E</input>
+			<output>F4978F5F53AA4C336BEE0C62F432B44F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 190</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>9F06F9306947AE5111F81F73E3B2CECC</key>
+			<iv>F4978F5F53AA4C336BEE0C62F432B44F</iv>
+			<input>00DAD17491C973991FEC296972B691BC</input>
+			<output>09DAA53C2E394BF83113BE48E5D0CCA2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 191</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>96DC5C0C477EE5A920EBA13B0662026E</key>
+			<iv>09DAA53C2E394BF83113BE48E5D0CCA2</iv>
+			<input>C00943704C1336F01A1D23FD98BE7E8B</input>
+			<output>D0DE529664BF241DBED3168DA5BC1B28</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 192</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>46020E9A23C1C1B49E38B7B6A3DE1946</key>
+			<iv>D0DE529664BF241DBED3168DA5BC1B28</iv>
+			<input>A07FAD9770CC32C5680F33A2D67044A4</input>
+			<output>F6A44922B3744BE96C46742A79A49CBB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 193</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B0A647B890B58A5DF27EC39CDA7A85FD</key>
+			<iv>F6A44922B3744BE96C46742A79A49CBB</iv>
+			<input>D5450C670BE84169AD1E62C5ECB8365F</input>
+			<output>47D229908D4C1EA34E429C34B7D635F5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 194</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F7746E281DF994FEBC3C5FA86DACB008</key>
+			<iv>47D229908D4C1EA34E429C34B7D635F5</iv>
+			<input>9E90D30BE92104667A16522237D645A6</input>
+			<output>6463AC2096842A0958ACF45370C0626F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 195</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>9317C2088B7DBEF7E490ABFB1D6CD267</key>
+			<iv>6463AC2096842A0958ACF45370C0626F</iv>
+			<input>74382A7BF713DE8E8D17AE389E03C3AC</input>
+			<output>ECDCEF7613C362D288AC23D38722DC4C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 196</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>7FCB2D7E98BEDC256C3C88289A4E0E2B</key>
+			<iv>ECDCEF7613C362D288AC23D38722DC4C</iv>
+			<input>DB2EC6F41A72F426D9F5DBC65CEC1C5C</input>
+			<output>DFE2DA423ACE2DFB053265E9E9B214E2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 197</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A029F73CA270F1DE690EEDC173FC1AC9</key>
+			<iv>DFE2DA423ACE2DFB053265E9E9B214E2</iv>
+			<input>35998CB9958DC9DE0550FC3EA722D571</input>
+			<output>5EBCA79BF99165D9FFE355D9B24ECB5D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 198</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>FE9550A75BE1940796EDB818C1B2D194</key>
+			<iv>5EBCA79BF99165D9FFE355D9B24ECB5D</iv>
+			<input>9BDA7BC96736FE2140911C98E8E02E1C</input>
+			<output>782D3EFD5F599E8D3C85D06128677EC2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 199</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>86B86E5A04B80A8AAA686879E9D5AF56</key>
+			<iv>782D3EFD5F599E8D3C85D06128677EC2</iv>
+			<input>8014C1F398E4DCC7F4E5E09E5FAFB080</input>
+			<output>E01AE2D961F31BBAE3DA7429627572AB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 200</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>66A28C83654B113049B21C508BA0DDFD</key>
+			<iv>E01AE2D961F31BBAE3DA7429627572AB</iv>
+			<input>97D66D66D1731EEFF14519620616A10B</input>
+			<output>BC41ED9D568D6ED36212C92DEEB40A0E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 201</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>DAE3611E33C67FE32BA0D57D6514D7F3</key>
+			<iv>BC41ED9D568D6ED36212C92DEEB40A0E</iv>
+			<input>F7646B60C237ED24F467141980EB4F00</input>
+			<output>CB8DF2D164E5B4AB3193D02E71959F63</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 202</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>116E93CF5723CB481A33055314814890</key>
+			<iv>CB8DF2D164E5B4AB3193D02E71959F63</iv>
+			<input>4A3A241B26AC7A1C88AA2FB750DF6E5A</input>
+			<output>E396FB47A686ABAA350B84C250E5EAE9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 203</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F2F86888F1A560E22F3881914464A279</key>
+			<iv>E396FB47A686ABAA350B84C250E5EAE9</iv>
+			<input>A71348309D176A072167C4B1B8A295C0</input>
+			<output>29AF21F96564EB591E9A60B1BE88DEC7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 204</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>DB57497194C18BBB31A2E120FAEC7CBE</key>
+			<iv>29AF21F96564EB591E9A60B1BE88DEC7</iv>
+			<input>BC528364EF78D6432177FE0CF1CDECD1</input>
+			<output>34CD9D96D4455AE0C15B6B970F1EC905</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 205</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>EF9AD4E74084D15BF0F98AB7F5F2B5BB</key>
+			<iv>34CD9D96D4455AE0C15B6B970F1EC905</iv>
+			<input>18972F6992299533EE23AA5824C25892</input>
+			<output>2E05E3E2079A055310FD9318590A6F41</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 206</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C19F3705471ED408E00419AFACF8DAFA</key>
+			<iv>2E05E3E2079A055310FD9318590A6F41</iv>
+			<input>5441FF0D0A4062D5D0DF29BF2FDA85B4</input>
+			<output>47D4EAECE59C733EEFCB7B9D5BE95A98</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 207</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>864BDDE9A282A7360FCF6232F7118062</key>
+			<iv>47D4EAECE59C733EEFCB7B9D5BE95A98</iv>
+			<input>ED3E19B5AB5389AA3A58D97F6604F4C0</input>
+			<output>00525B7D5BFC0651AEF6770F6281E6DC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 208</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>86198694F97EA167A139153D959066BE</key>
+			<iv>00525B7D5BFC0651AEF6770F6281E6DC</iv>
+			<input>8BD4869C88A9BD3DCFE89B98B93F6EB3</input>
+			<output>AFB2215E6DC04E9467F44227FD4BDB98</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 209</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>29ABA7CA94BEEFF3C6CD571A68DBBD26</key>
+			<iv>AFB2215E6DC04E9467F44227FD4BDB98</iv>
+			<input>6E7269FC27BDCC42D64CEF41A612F771</input>
+			<output>7B769B90279C95E31D8B3D792FA27FA8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 210</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>52DD3C5AB3227A10DB466A634779C28E</key>
+			<iv>7B769B90279C95E31D8B3D792FA27FA8</iv>
+			<input>E00316E79DC10D179002B1BACC146027</input>
+			<output>E3870CDE5CF99B7C4C489AF81153002F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 211</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B15A3084EFDBE16C970EF09B562AC2A1</key>
+			<iv>E3870CDE5CF99B7C4C489AF81153002F</iv>
+			<input>FB2FC78A79C33225E6EAAA06B76FA793</input>
+			<output>4DFC91F8971635348EF35141E8C291F7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 212</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>FCA6A17C78CDD45819FDA1DABEE85356</key>
+			<iv>4DFC91F8971635348EF35141E8C291F7</iv>
+			<input>69C8EE14F21832BB077F1A5414851FFE</input>
+			<output>DA51BE36F96AA8C80DED9DB2A701D72F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 213</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>26F71F4A81A77C9014103C6819E98479</key>
+			<iv>DA51BE36F96AA8C80DED9DB2A701D72F</iv>
+			<input>766EC1664D2194E0F89B69861A4A8501</input>
+			<output>2ACA6359CD935CA2294F9FB5A50F4993</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 214</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0C3D7C134C3420323D5FA3DDBCE6CDEA</key>
+			<iv>2ACA6359CD935CA2294F9FB5A50F4993</iv>
+			<input>1D95E551169BD538836CC349BC6B1772</input>
+			<output>315518F0AC6C1DC9939CB802336DA968</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 215</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3D6864E3E0583DFBAEC31BDF8F8B6482</key>
+			<iv>315518F0AC6C1DC9939CB802336DA968</iv>
+			<input>4F6BFE727AECDAB5A32DF8CFFC43D6A9</input>
+			<output>34C3ECD89376B4D771CA0669C2C3E26C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 216</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>09AB883B732E892CDF091DB64D4886EE</key>
+			<iv>34C3ECD89376B4D771CA0669C2C3E26C</iv>
+			<input>AA8B1DA2E015D482EE08FA2B4A2B77B6</input>
+			<output>A3F4DD9DDC375C90579C274527612C6E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 217</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>AA5F55A6AF19D5BC88953AF36A29AA80</key>
+			<iv>A3F4DD9DDC375C90579C274527612C6E</iv>
+			<input>2EE6982D9E0AA5FCB61F3E66E52A0D6D</input>
+			<output>C45C9E4DE76782E2599BD73B132BFE90</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 218</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>6E03CBEB487E575ED10EEDC879025410</key>
+			<iv>C45C9E4DE76782E2599BD73B132BFE90</iv>
+			<input>6E58E5B1EDF1BFABAD643D8223F0FA81</input>
+			<output>32221DA62DA2B441B5E66A197A5C69F1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 219</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5C21D64D65DCE31F64E887D1035E3DE1</key>
+			<iv>32221DA62DA2B441B5E66A197A5C69F1</iv>
+			<input>D5A81DF4B6BE17A531478961D78CAB46</input>
+			<output>E1FEB5C31B1671F15DC1F7713E5DD7FE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 220</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>BDDF638E7ECA92EE392970A03D03EA1F</key>
+			<iv>E1FEB5C31B1671F15DC1F7713E5DD7FE</iv>
+			<input>D360948141A1D3ECFF5E8D6BDC022685</input>
+			<output>FF07F02135FB458D63EE68C4B1463A99</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 221</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>42D893AF4B31D7635AC718648C45D086</key>
+			<iv>FF07F02135FB458D63EE68C4B1463A99</iv>
+			<input>E3C1E44333C9307E90EE2FBA6A7708A5</input>
+			<output>1AE4E8466B84B59EECF5E6BEB6140DF2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 222</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>583C7BE920B562FDB632FEDA3A51DD74</key>
+			<iv>1AE4E8466B84B59EECF5E6BEB6140DF2</iv>
+			<input>653AA343CE35F72E2ADB5FFCD2DFCBA8</input>
+			<output>3CB44BC123DDCD55B812D265CC5E974E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 223</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>648830280368AFA80E202CBFF60F4A3A</key>
+			<iv>3CB44BC123DDCD55B812D265CC5E974E</iv>
+			<input>E96A66BFE5F0E8083A01664A47226672</input>
+			<output>BB6C54E118FA895F2AC4CC036166E390</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 224</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>DFE464C91B9226F724E4E0BC9769A9AA</key>
+			<iv>BB6C54E118FA895F2AC4CC036166E390</iv>
+			<input>A5B240D8E5731E1BFA7C4FDFB4EED81F</input>
+			<output>DA20870677A6214F26FDACBA81B41882</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 225</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>05C4E3CF6C3407B802194C0616DDB128</key>
+			<iv>DA20870677A6214F26FDACBA81B41882</iv>
+			<input>92FF6EAB4A6D1AD3941E6A91D8C9105B</input>
+			<output>F079AA86FC9FD361DBA0C21CCD4B0F6C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 226</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F5BD494990ABD4D9D9B98E1ADB96BE44</key>
+			<iv>F079AA86FC9FD361DBA0C21CCD4B0F6C</iv>
+			<input>DFF005175EF746B83CB00AC13337E248</input>
+			<output>B6021E0AA1A921C7BCC3FDAB1C3EA44A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 227</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>43BF57433102F51E657A73B1C7A81A0E</key>
+			<iv>B6021E0AA1A921C7BCC3FDAB1C3EA44A</iv>
+			<input>DDDC1AA804AD13813C6AEA540557C097</input>
+			<output>41F0E4AB03801DCE585727B7C41F48BD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 228</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>024FB3E83282E8D03D2D540603B752B3</key>
+			<iv>41F0E4AB03801DCE585727B7C41F48BD</iv>
+			<input>4C6421E5A487C9C452958CAB38AC7098</input>
+			<output>6EFDD855BAF2D13437C01097ABB633DE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 229</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>6CB26BBD887039E40AED4491A801616D</key>
+			<iv>6EFDD855BAF2D13437C01097ABB633DE</iv>
+			<input>2A11519D5463F2B96A5E0FCE6E4710D7</input>
+			<output>5E8243E5C54A109CCC0BF622A299EF68</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 230</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>323028584D3A2978C6E6B2B30A988E05</key>
+			<iv>5E8243E5C54A109CCC0BF622A299EF68</iv>
+			<input>252145DACAD23E8B85AB7637B22C42F2</input>
+			<output>2C9A476418F01C589ADC0CA10BF4A183</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 231</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>1EAA6F3C55CA35205C3ABE12016C2F86</key>
+			<iv>2C9A476418F01C589ADC0CA10BF4A183</iv>
+			<input>A22C36DC7D00645FEFE8683EA4231787</input>
+			<output>DA3A4AC19EF6A0F950E26B00834AFE41</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 232</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C49025FDCB3C95D90CD8D5128226D1C7</key>
+			<iv>DA3A4AC19EF6A0F950E26B00834AFE41</iv>
+			<input>B0DC92D3B4878156B768923286F0433F</input>
+			<output>10BBC2A8C8F650FD8EED7CC9F5EAD05D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 233</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D42BE75503CAC5248235A9DB77CC019A</key>
+			<iv>10BBC2A8C8F650FD8EED7CC9F5EAD05D</iv>
+			<input>83A9338157091D4AECAF60E887AE09F7</input>
+			<output>757993A70F78B25F02FA0355E04DE27B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 234</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A15274F20CB2777B80CFAA8E9781E3E1</key>
+			<iv>757993A70F78B25F02FA0355E04DE27B</iv>
+			<input>9D818ACA2C753E7314F51699D3062031</input>
+			<output>E2E74C76C09516135876D54AFC940D80</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 235</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>43B53884CC276168D8B97FC46B15EE61</key>
+			<iv>E2E74C76C09516135876D54AFC940D80</iv>
+			<input>BDD36F881F8D1FC56780E291D1359EE1</input>
+			<output>22F76A2DB98544549DEA21FFCDC2B943</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 236</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>614252A975A2253C45535E3BA6D75722</key>
+			<iv>22F76A2DB98544549DEA21FFCDC2B943</iv>
+			<input>4C9C16802A4BB1202D4FAC9E76C57A43</input>
+			<output>166B0FF778D72B6102D6ADF990A70A23</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 237</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>77295D5E0D750E5D4785F3C236705D01</key>
+			<iv>166B0FF778D72B6102D6ADF990A70A23</iv>
+			<input>0045ECDDAA51EE6FDB226E2D9471F46C</input>
+			<output>D7724DC8A1413BC1B9D6F305794426F0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 238</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A05B1096AC34359CFE5300C74F347BF1</key>
+			<iv>D7724DC8A1413BC1B9D6F305794426F0</iv>
+			<input>25C55C60290DF3D0DC3274CD2AE0ED21</input>
+			<output>41F0196DFE0B1F664A107D12A6FF3D79</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 239</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E1AB09FB523F2AFAB4437DD5E9CB4688</key>
+			<iv>41F0196DFE0B1F664A107D12A6FF3D79</iv>
+			<input>9A44454F7A335C89BEFF1D94D3FDB320</input>
+			<output>3F37D7ADFB9933FFBAC1F7D07F31046E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 240</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>DE9CDE56A9A619050E828A0596FA42E6</key>
+			<iv>3F37D7ADFB9933FFBAC1F7D07F31046E</iv>
+			<input>03D7F09054233696BEF84AB8D5B77091</input>
+			<output>02D226A748153C27A723F02461FFF913</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 241</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>DC4EF8F1E1B32522A9A17A21F705BBF5</key>
+			<iv>02D226A748153C27A723F02461FFF913</iv>
+			<input>D5C82A6F048A2AA0E5CF4F1EDADD68B3</input>
+			<output>4BD7486C212E7F78228478BBF0A7AD3D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 242</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>9799B09DC09D5A5A8B25029A07A216C8</key>
+			<iv>4BD7486C212E7F78228478BBF0A7AD3D</iv>
+			<input>936431AD9F800606240C33EAF661D3DA</input>
+			<output>3EFE00CA0A96AF4425E683512DAC0164</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 243</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A967B057CA0BF51EAEC381CB2A0E17AC</key>
+			<iv>3EFE00CA0A96AF4425E683512DAC0164</iv>
+			<input>280DC27864BED0D548B5B4F9A7FA38DE</input>
+			<output>7023640C8D6B02F6C4C7E007C169C592</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 244</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D944D45B4760F7E86A0461CCEB67D23E</key>
+			<iv>7023640C8D6B02F6C4C7E007C169C592</iv>
+			<input>CD0F58962915E5A514E5D6DA8BB868E8</input>
+			<output>D08419A75363E9622FAA09DB589915F1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 245</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>09C0CDFC14031E8A45AE6817B3FEC7CF</key>
+			<iv>D08419A75363E9622FAA09DB589915F1</iv>
+			<input>09A6099FDDDBBC15EE79224B01C49DF0</input>
+			<output>6CDD2B0279D9DB3C71329C1BB2C24C2F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 246</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>651DE6FE6DDAC5B6349CF40C013C8BE0</key>
+			<iv>6CDD2B0279D9DB3C71329C1BB2C24C2F</iv>
+			<input>B24B11FD8A6FC6B2703FFBEBC85B6C44</input>
+			<output>CCB0F6F32BDE2339A1842A7EDC8C99C7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 247</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A9AD100D4604E68F9518DE72DDB01227</key>
+			<iv>CCB0F6F32BDE2339A1842A7EDC8C99C7</iv>
+			<input>2E471506C55D1762CDB9EAEF29E23C01</input>
+			<output>DAD62227A5F328CC33F054EEB346E3D3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 248</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>737B322AE3F7CE43A6E88A9C6EF6F1F4</key>
+			<iv>DAD62227A5F328CC33F054EEB346E3D3</iv>
+			<input>5598344020E32F9B2C509D06F4E7804A</input>
+			<output>18DE226F7CAA4EF2712A223C4709C9E2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 249</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>6BA510459F5D80B1D7C2A8A029FF3816</key>
+			<iv>18DE226F7CAA4EF2712A223C4709C9E2</iv>
+			<input>549A87BE74B62BAC3F0FDC2A878F5669</input>
+			<output>DB082C8D70948B6BF08D4848E4DB0231</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 250</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B0AD3CC8EFC90BDA274FE0E8CD243A27</key>
+			<iv>DB082C8D70948B6BF08D4848E4DB0231</iv>
+			<input>08946428BF90FBF0951A35D6FB72A48A</input>
+			<output>29CBD3E3F2074514E63A7B2A651AB031</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 251</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>9966EF2B1DCE4ECEC1759BC2A83E8A16</key>
+			<iv>29CBD3E3F2074514E63A7B2A651AB031</iv>
+			<input>7EBEC38F7787EE1BDD6A648334FA3076</input>
+			<output>0037935821278E879BCBB2FBE4ECC23E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 252</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>99517C733CE9C0495ABE29394CD24828</key>
+			<iv>0037935821278E879BCBB2FBE4ECC23E</iv>
+			<input>01D77828928164A830C249D96AC6F8B4</input>
+			<output>47501831F9DF42C234E9FE9169075888</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 253</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>DE016442C536828B6E57D7A825D510A0</key>
+			<iv>47501831F9DF42C234E9FE9169075888</iv>
+			<input>608349FF8FFC31B072CFA7DF649E15B8</input>
+			<output>BC10B1D412BC05404B2E38A1D75DA421</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 254</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>6211D596D78A87CB2579EF09F288B481</key>
+			<iv>BC10B1D412BC05404B2E38A1D75DA421</iv>
+			<input>B16325BD78FC0451216FF476D4CAE293</input>
+			<output>6ABD8010E9CBAE61E05A9E30C622B501</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 255</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>08AC55863E4129AAC523713934AA0180</key>
+			<iv>6ABD8010E9CBAE61E05A9E30C622B501</iv>
+			<input>E613C244F74C61B078C9E59E06E7AD85</input>
+			<output>E896B8BD539C30D9A58E5EF6629B279C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 256</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E03AED3B6DDD197360AD2FCF5631261C</key>
+			<iv>E896B8BD539C30D9A58E5EF6629B279C</iv>
+			<input>6CFF7A909AAB2C0DC61FB8F11B45E661</input>
+			<output>30D15AAA05F56FA2D21E9974FB3FF5DA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 257</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D0EBB791682876D1B2B3B6BBAD0ED3C6</key>
+			<iv>30D15AAA05F56FA2D21E9974FB3FF5DA</iv>
+			<input>6BFAC8E8FB9C3D5AF813B4DF90AD863B</input>
+			<output>43B99F3DA3C1BCCE9038118E2968EFA1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 258</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>935228ACCBE9CA1F228BA73584663C67</key>
+			<iv>43B99F3DA3C1BCCE9038118E2968EFA1</iv>
+			<input>064D09E9F5104602E191DC39F18E6A1A</input>
+			<output>EBC5796519BE4E05262A10D56FA0F72D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 259</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>789751C9D257841A04A1B7E0EBC6CB4A</key>
+			<iv>EBC5796519BE4E05262A10D56FA0F72D</iv>
+			<input>C2B528D69ED3028A359D4472D98807A7</input>
+			<output>5F2B51DD025E775A63DFE5B9FBF54986</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 260</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>27BC0014D009F340677E5259103382CC</key>
+			<iv>5F2B51DD025E775A63DFE5B9FBF54986</iv>
+			<input>D5CF62940967AF7225F79E87136751F5</input>
+			<output>F56D88E433CEA445C6E4D6298DFB6C27</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 261</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D2D188F0E3C75705A19A84709DC8EEEB</key>
+			<iv>F56D88E433CEA445C6E4D6298DFB6C27</iv>
+			<input>3BE3171202E762846D2CA00FB2CB141A</input>
+			<output>4C168A0129F2D48E249777A366D1AEF1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 262</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>9EC702F1CA35838B850DF3D3FB19401A</key>
+			<iv>4C168A0129F2D48E249777A366D1AEF1</iv>
+			<input>5B82A34141C236FAED7E1A78D3C426C4</input>
+			<output>E11FEBEF79E425480442D45A8C105B44</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 263</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>7FD8E91EB3D1A6C3814F278977091B5E</key>
+			<iv>E11FEBEF79E425480442D45A8C105B44</iv>
+			<input>86CFADD3F1B368B3A6E57148CA343D38</input>
+			<output>5F5F3548BDBB2A5337FBF07DF76526DD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 264</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>2087DC560E6A8C90B6B4D7F4806C3D83</key>
+			<iv>5F5F3548BDBB2A5337FBF07DF76526DD</iv>
+			<input>A4474ACA97100C7A357A66119D678798</input>
+			<output>013ADA262021F88617773CF478067EC8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 265</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>21BD06702E4B7416A1C3EB00F86A434B</key>
+			<iv>013ADA262021F88617773CF478067EC8</iv>
+			<input>6D66801C39DB803B5DA5A80E30DB0D89</input>
+			<output>F46BE70F65FC5641318292AE0C79E5C5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 266</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D5D6E17F4BB72257904179AEF413A68E</key>
+			<iv>F46BE70F65FC5641318292AE0C79E5C5</iv>
+			<input>C9499B32D8F47313EB351139DB81AB25</input>
+			<output>8573A25F86C7784BF7A0153DF812805C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 267</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>50A54320CD705A1C67E16C930C0126D2</key>
+			<iv>8573A25F86C7784BF7A0153DF812805C</iv>
+			<input>4B09D37A4A57B320C34B1D70F74EB36A</input>
+			<output>036913128A2B71CE3D05D52D61E48E86</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 268</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>53CC5032475B2BD25AE4B9BE6DE5A854</key>
+			<iv>036913128A2B71CE3D05D52D61E48E86</iv>
+			<input>EA3A92794B204C0345765CEE2A04AF27</input>
+			<output>5A53E929182859CC28D4EB1CB9579B71</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 269</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>099FB91B5F73721E723052A2D4B23325</key>
+			<iv>5A53E929182859CC28D4EB1CB9579B71</iv>
+			<input>2714E38858426C5631BB2BB4FA289985</input>
+			<output>DF4BD734DEC60475D47FE40502439AAE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 270</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D6D46E2F81B5766BA64FB6A7D6F1A98B</key>
+			<iv>DF4BD734DEC60475D47FE40502439AAE</iv>
+			<input>69AC3FD2273926E2DAD3F5BED9F21491</input>
+			<output>EBCCD0B121C4009EA7F038F30F5B6B05</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 271</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3D18BE9EA07176F501BF8E54D9AAC28E</key>
+			<iv>EBCCD0B121C4009EA7F038F30F5B6B05</iv>
+			<input>07520CD471E27BAC35387DB47E706784</input>
+			<output>299FE603BBA51BD1582CBD42BC9568EA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 272</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>1487589D1BD46D2459933316653FAA64</key>
+			<iv>299FE603BBA51BD1582CBD42BC9568EA</iv>
+			<input>39598B70B8EB190049823472E3596E42</input>
+			<output>68DD98FE52B454F85D6F6A6C742223FA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 273</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>7C5AC063496039DC04FC597A111D899E</key>
+			<iv>68DD98FE52B454F85D6F6A6C742223FA</iv>
+			<input>C7E13ABBBA75F527AB1320DD930B24F1</input>
+			<output>906B569E44263A4E6F41A52802D3FC59</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 274</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>EC3196FD0D4603926BBDFC5213CE75C7</key>
+			<iv>906B569E44263A4E6F41A52802D3FC59</iv>
+			<input>9F5D8E50F06895D5D7E6D1DAA247D45F</input>
+			<output>E5ECBDCC55A9D952BE0F93DFA0FE2C31</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 275</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>09DD2B3158EFDAC0D5B26F8DB33059F6</key>
+			<iv>E5ECBDCC55A9D952BE0F93DFA0FE2C31</iv>
+			<input>EC3F35C1E6371F106443BD1446D58A0A</input>
+			<output>4837A3D703E80BFE50D742E378956F3A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 276</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>41EA88E65B07D13E85652D6ECBA536CC</key>
+			<iv>4837A3D703E80BFE50D742E378956F3A</iv>
+			<input>7998C3B7B5C94540DFC5BF777D700D48</input>
+			<output>DF1564E5E47503A779020D27394571E9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 277</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>9EFFEC03BF72D299FC672049F2E04725</key>
+			<iv>DF1564E5E47503A779020D27394571E9</iv>
+			<input>63BEA75A2440C5D123F335F72137B0B6</input>
+			<output>5147239C3F6E4A158989BE96C0275D41</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 278</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>CFB8CF9F801C988C75EE9EDF32C71A64</key>
+			<iv>5147239C3F6E4A158989BE96C0275D41</iv>
+			<input>09C656A0DFCF893DDBE5E2B3D88E5F1F</input>
+			<output>7E4DEE30DED62EE15CD957530B62559D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 279</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B1F521AF5ECAB66D2937C98C39A54FF9</key>
+			<iv>7E4DEE30DED62EE15CD957530B62559D</iv>
+			<input>71DC22F489DD422CDE09F01DAA427567</input>
+			<output>6F62D6359F07F6BDBB4C02BBE50B273C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 280</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>DE97F79AC1CD40D0927BCB37DCAE68C5</key>
+			<iv>6F62D6359F07F6BDBB4C02BBE50B273C</iv>
+			<input>C2A9BC94CAE48DBEB37B4B506AD4336A</input>
+			<output>902D9E9F82DE4E66E42B4FEA79AF4077</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 281</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4EBA690543130EB6765084DDA50128B2</key>
+			<iv>902D9E9F82DE4E66E42B4FEA79AF4077</iv>
+			<input>69EE7E15EEC2EA953A32E1714961BA9E</input>
+			<output>72CB5DE8AF6CDC60A00A15CEAF249DBD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 282</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3C7134EDEC7FD2D6D65A91130A25B50F</key>
+			<iv>72CB5DE8AF6CDC60A00A15CEAF249DBD</iv>
+			<input>4C0A3B88FDFAEFEC38858A927C38AE6A</input>
+			<output>68C2BFA5DE837B927BD75C6DE6008595</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 283</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>54B38B4832FCA944AD8DCD7EEC25309A</key>
+			<iv>68C2BFA5DE837B927BD75C6DE6008595</iv>
+			<input>CE75CCA2D7B0199EB1DA7E33A0E50AB7</input>
+			<output>4FFCCBB31FB1FCC0FCB38F0B557BE67A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 284</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>1B4F40FB2D4D5584513E4275B95ED6E0</key>
+			<iv>4FFCCBB31FB1FCC0FCB38F0B557BE67A</iv>
+			<input>E0ECA2ABC1F389B149E746CFB039539E</input>
+			<output>249FB11DF8C0ED1F346F6D69B8FD0470</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 285</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3FD0F1E6D58DB89B65512F1C01A3D290</key>
+			<iv>249FB11DF8C0ED1F346F6D69B8FD0470</iv>
+			<input>BFA871CA5EC16C0B353679782BE04394</input>
+			<output>8127E6D8EEC1111518065EDC34CD4B4C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 286</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>BEF7173E3B4CA98E7D5771C0356E99DC</key>
+			<iv>8127E6D8EEC1111518065EDC34CD4B4C</iv>
+			<input>1EF816C565B2F56E772C96AD5C92842D</input>
+			<output>C8DC75AE1E2DBD005D94E69D6776C498</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 287</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>762B62902561148E20C3975D52185D44</key>
+			<iv>C8DC75AE1E2DBD005D94E69D6776C498</iv>
+			<input>9F2B9873F88EBF21A3BB3DCD853C812E</input>
+			<output>861D4FF061E85D44173252244F143692</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 288</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F0362D60448949CA37F1C5791D0C6BD6</key>
+			<iv>861D4FF061E85D44173252244F143692</iv>
+			<input>6CDEA8A806516A1A0E1CBB5AA123862A</input>
+			<output>16DA4EE5C5044F66EFCC313754FBCD9E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 289</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E6EC6385818D06ACD83DF44E49F7A648</key>
+			<iv>16DA4EE5C5044F66EFCC313754FBCD9E</iv>
+			<input>5B637BB469073B5E54EC006F47C4D546</input>
+			<output>C2C50037BBBEC252B7D5CF10C38BD665</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 290</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>242963B23A33C4FE6FE83B5E8A7C702D</key>
+			<iv>C2C50037BBBEC252B7D5CF10C38BD665</iv>
+			<input>38DADBF2BA4A80A6A190D9E2AA245167</input>
+			<output>721222A5A67E96246DA1B9C59B67DDD5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 291</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>563B41179C4D52DA0249829B111BADF8</key>
+			<iv>721222A5A67E96246DA1B9C59B67DDD5</iv>
+			<input>CB52378F6E4E7FCB1891D3BB4D086B9F</input>
+			<output>D28B8F54E8BDA9A20965984D5DA27FC9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 292</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>84B0CE4374F0FB780B2C1AD64CB9D231</key>
+			<iv>D28B8F54E8BDA9A20965984D5DA27FC9</iv>
+			<input>E66015A1B848EF190F981DEFEDB98C93</input>
+			<output>012C5D9B847C9583B0BE03999D24E277</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 293</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>859C93D8F08C6EFBBB92194FD19D3046</key>
+			<iv>012C5D9B847C9583B0BE03999D24E277</iv>
+			<input>F5B2BAD53323A52A2B99CC12782CD6F9</input>
+			<output>D1EFB7E7A34F75887038FC4827E894C1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 294</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5473243F53C31B73CBAAE507F675A487</key>
+			<iv>D1EFB7E7A34F75887038FC4827E894C1</iv>
+			<input>11C0C41C3F547B5D7FC94115327AB3D5</input>
+			<output>2CF97D8995AA8FDC4C05205D3D8B757F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 295</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>788A59B6C66994AF87AFC55ACBFED1F8</key>
+			<iv>2CF97D8995AA8FDC4C05205D3D8B757F</iv>
+			<input>3F911029D8B69CA1A323A277090B9C07</input>
+			<output>44BB04C6253F3ADD454264EA97490475</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 296</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3C315D70E356AE72C2EDA1B05CB7D58D</key>
+			<iv>44BB04C6253F3ADD454264EA97490475</iv>
+			<input>9D7724EFD1AE76904458EF1360953AA4</input>
+			<output>5D6F876E4FDD6921B243EB1F6EF50F82</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 297</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>615EDA1EAC8BC75370AE4AAF3242DA0F</key>
+			<iv>5D6F876E4FDD6921B243EB1F6EF50F82</iv>
+			<input>44A26554FE355D95706431B344701B03</input>
+			<output>5F3226B39DF230163D2C474F04BAD36E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 298</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3E6CFCAD3179F7454D820DE036F80961</key>
+			<iv>5F3226B39DF230163D2C474F04BAD36E</iv>
+			<input>5D8B62C8CD3B04451A599989F3165530</input>
+			<output>A247CF8E1D8F480DA4155DA846A2B64E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 299</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>9C2B33232CF6BF48E9975048705ABF2F</key>
+			<iv>A247CF8E1D8F480DA4155DA846A2B64E</iv>
+			<input>610D3798E62E9338D5987BAC82D48CD7</input>
+			<output>2A92B5AAEA43CFBAA62842DEE7F43A19</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 300</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B6B98689C6B570F24FBF129697AE8536</key>
+			<iv>2A92B5AAEA43CFBAA62842DEE7F43A19</iv>
+			<input>F77943AA429BCCC5253156474E719389</input>
+			<output>7D475AFF824080E9C95D4E49D4F5090D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 301</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>CBFEDC7644F5F01B86E25CDF435B8C3B</key>
+			<iv>7D475AFF824080E9C95D4E49D4F5090D</iv>
+			<input>5E6269D157164B2C544D3052E9DB8553</input>
+			<output>AD4628B05F5A765E557015B4A41505EA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 302</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>66B8F4C61BAF8645D392496BE74E89D1</key>
+			<iv>AD4628B05F5A765E557015B4A41505EA</iv>
+			<input>77126BD6C08A094981FEC9E2DE91B2BF</input>
+			<output>59C24F269E3884A4F8E3F9FB05BF448F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 303</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3F7ABBE0859702E12B71B090E2F1CD5E</key>
+			<iv>59C24F269E3884A4F8E3F9FB05BF448F</iv>
+			<input>7775F90D2189E91B75AB8AD93C0D44F2</input>
+			<output>B72873115D4761B8BAEB5B5892B79DF8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 304</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8852C8F1D8D06359919AEBC8704650A6</key>
+			<iv>B72873115D4761B8BAEB5B5892B79DF8</iv>
+			<input>03D9C45A2A152ADAA53E1D42AB33555B</input>
+			<output>FE0C3F22E6B467DC1C628C928D03DB5B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 305</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>765EF7D33E6404858DF8675AFD458BFD</key>
+			<iv>FE0C3F22E6B467DC1C628C928D03DB5B</iv>
+			<input>279791AC4189634A6066BCDCAA2EF9B4</input>
+			<output>7F3ABBA943C8E3EF19C3BA2C98C9685F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 306</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>09644C7A7DACE76A943BDD76658CE3A2</key>
+			<iv>7F3ABBA943C8E3EF19C3BA2C98C9685F</iv>
+			<input>E46E5FB6019BA52524A383A18A89583A</input>
+			<output>C96D250343B134241221490AB39931DB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 307</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C00969793E1DD34E861A947CD615D279</key>
+			<iv>C96D250343B134241221490AB39931DB</iv>
+			<input>A3A544B8982C2F9EA0CD0ABC4D6392E2</input>
+			<output>951D54AABDF6F5B70E700C4896EB2685</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 308</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>55143DD383EB26F9886A983440FEF4FC</key>
+			<iv>951D54AABDF6F5B70E700C4896EB2685</iv>
+			<input>43FEB2051478A02BA1F054C9E82F0209</input>
+			<output>1F90165BE29C6C86D09AD07B1C006CA6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 309</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4A842B8861774A7F58F0484F5CFE985A</key>
+			<iv>1F90165BE29C6C86D09AD07B1C006CA6</iv>
+			<input>558AD95B25BAB5205FB7E529C96E5B59</input>
+			<output>40C0A0427C12AB1F72A7ADF96F82D437</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 310</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0A448BCA1D65E1602A57E5B6337C4C6D</key>
+			<iv>40C0A0427C12AB1F72A7ADF96F82D437</iv>
+			<input>BABA13A1244DEFF5E4A2AB8183775773</input>
+			<output>FB08FDF3BF4394BA1A92C45B7F5F3060</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 311</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F14C7639A22675DA30C521ED4C237C0D</key>
+			<iv>FB08FDF3BF4394BA1A92C45B7F5F3060</iv>
+			<input>46E036ECCDBE88931E552E45CBBC2BDC</input>
+			<output>311AE8C2B7CB633178874BDEEEE0602F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 312</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C0569EFB15ED16EB48426A33A2C31C22</key>
+			<iv>311AE8C2B7CB633178874BDEEEE0602F</iv>
+			<input>4D5C919959478AD0D9862BA509233102</input>
+			<output>1DC85D9A8877C79698C7D1C1610CBAE9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 313</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>DD9EC3619D9AD17DD085BBF2C3CFA6CB</key>
+			<iv>1DC85D9A8877C79698C7D1C1610CBAE9</iv>
+			<input>D423E31E9FD6E4F4373FA7AD31CC6011</input>
+			<output>FC55E7BEA15BD539EDACB202F0218D4A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 314</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>21CB24DF3CC104443D2909F033EE2B81</key>
+			<iv>FC55E7BEA15BD539EDACB202F0218D4A</iv>
+			<input>52C2C696A4343C0F280A3BC8F6AA19EA</input>
+			<output>FFD9FECD3A4EC194568A96C5A899E8D2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 315</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>DE12DA12068FC5D06BA39F359B77C353</key>
+			<iv>FFD9FECD3A4EC194568A96C5A899E8D2</iv>
+			<input>3B2266FAB514211E8E33AFA566898083</input>
+			<output>DC1A545F354365A0002180BACCE0AD25</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 316</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>02088E4D33CCA0706B821F8F57976E76</key>
+			<iv>DC1A545F354365A0002180BACCE0AD25</iv>
+			<input>DC20E6BD8B8AC822CF2B505E580E6A80</input>
+			<output>51CF4C11F15B8B565B875F769C2FD37F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 317</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>53C7C25CC2972B26300540F9CBB8BD09</key>
+			<iv>51CF4C11F15B8B565B875F769C2FD37F</iv>
+			<input>67B4C3E2AFC3402901549265186303FB</input>
+			<output>A118B7E5B10DAB4DDB449877AB1E6897</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 318</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F2DF75B9739A806BEB41D88E60A6D59E</key>
+			<iv>A118B7E5B10DAB4DDB449877AB1E6897</iv>
+			<input>971952EE322CD68462B4CE8B772BBA48</input>
+			<output>A2988AAC94D8A7EFB32B34CC07911F3E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 319</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5047FF15E7422784586AEC426737CAA0</key>
+			<iv>A2988AAC94D8A7EFB32B34CC07911F3E</iv>
+			<input>64C2665506EDDED98EC55D2CCED7762C</input>
+			<output>86AEB7B90565D05293A8D9146880C307</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 320</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D6E948ACE227F7D6CBC235560FB709A7</key>
+			<iv>86AEB7B90565D05293A8D9146880C307</iv>
+			<input>A5E7E411209DD2A34AA8CDA3153A69E4</input>
+			<output>27746442FAC1DF26B11A55251AAFD865</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 321</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F19D2CEE18E628F07AD860731518D1C2</key>
+			<iv>27746442FAC1DF26B11A55251AAFD865</iv>
+			<input>83A41EF5F664A909BC47939D7858C221</input>
+			<output>619A164C3F2119FFCA3832A5EA958E01</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 322</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>90073AA227C7310FB0E052D6FF8D5FC3</key>
+			<iv>619A164C3F2119FFCA3832A5EA958E01</iv>
+			<input>1F5A31EBB2C515728DB07EE3160D03CD</input>
+			<output>DEE1692D386EF5A8861BE5D8A4630906</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 323</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4EE6538F1FA9C4A736FBB70E5BEE56C5</key>
+			<iv>DEE1692D386EF5A8861BE5D8A4630906</iv>
+			<input>297B343F5EE6221FB6CC40E0C836B387</input>
+			<output>B2BA45B0A776A950C32DD5F302201FC3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 324</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>FC5C163FB8DF6DF7F5D662FD59CE4906</key>
+			<iv>B2BA45B0A776A950C32DD5F302201FC3</iv>
+			<input>CC3601DC94B13116DF3012860A522D2D</input>
+			<output>6D141746B23B4E1EF20DFE6C14D6ECE4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 325</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>914801790AE423E907DB9C914D18A5E2</key>
+			<iv>6D141746B23B4E1EF20DFE6C14D6ECE4</iv>
+			<input>FE07DA9A6E8B712B1FDFC3C1CC87146D</input>
+			<output>0D80E8F5557A88A271133F8929125C72</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 326</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>9CC8E98C5F9EAB4B76C8A318640AF990</key>
+			<iv>0D80E8F5557A88A271133F8929125C72</iv>
+			<input>EBDC0192755A685D6275532E93D33890</input>
+			<output>B88A629A8E22A78BAF98C9E623F48134</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 327</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>24428B16D1BC0CC0D9506AFE47FE78A4</key>
+			<iv>B88A629A8E22A78BAF98C9E623F48134</iv>
+			<input>78AD3067BE2E9536ADB58DA49D7CA6DA</input>
+			<output>0A9C2D318240F4FA4FF91CC5D23A371F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 328</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>2EDEA62753FCF83A96A9763B95C44FBB</key>
+			<iv>0A9C2D318240F4FA4FF91CC5D23A371F</iv>
+			<input>04C72A08CCC36B4211AFE98637C4CEFF</input>
+			<output>A42618A89B9E618DDD7A983081E086B9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 329</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8AF8BE8FC86299B74BD3EE0B1424C902</key>
+			<iv>A42618A89B9E618DDD7A983081E086B9</iv>
+			<input>22D4A346027B8E5FEE1C0C0C45CA7DCB</input>
+			<output>7CC4479AE05A295723F27545E1A46B7B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 330</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F63CF9152838B0E068219B4EF580A279</key>
+			<iv>7CC4479AE05A295723F27545E1A46B7B</iv>
+			<input>05090A5C8F3CD0E7F7EA11B33CDF3C1D</input>
+			<output>815BCEB2A29EA2A491C8E39B117790EC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 331</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>776737A78AA61244F9E978D5E4F73295</key>
+			<iv>815BCEB2A29EA2A491C8E39B117790EC</iv>
+			<input>7B40F8A4AC0E4C6BD73A59FFC91CA77D</input>
+			<output>E4ED412F3ECDD4B7409BEEAEDC2C755F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 332</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>938A7688B46BC6F3B972967B38DB47CA</key>
+			<iv>E4ED412F3ECDD4B7409BEEAEDC2C755F</iv>
+			<input>047E2E4681A97ED20308F1FE4B132F7B</input>
+			<output>10153209AED4115329587180D65A0B97</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 333</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>839F44811ABFD7A0902AE7FBEE814C5D</key>
+			<iv>10153209AED4115329587180D65A0B97</iv>
+			<input>32671E6C0D28744AB457587BBB6DD21E</input>
+			<output>847F781EDF77A870C4EA99CCC1721917</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 334</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>07E03C9FC5C87FD054C07E372FF3554A</key>
+			<iv>847F781EDF77A870C4EA99CCC1721917</iv>
+			<input>EC3159B002B95054F00D57049D91E32B</input>
+			<output>05CC06529764F6747FCB2B62569C428C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 335</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>022C3ACD52AC89A42B0B5555796F17C6</key>
+			<iv>05CC06529764F6747FCB2B62569C428C</iv>
+			<input>9A930743113957D10EC643D8D8034C73</input>
+			<output>D1C7957073C2A44D9483DD11F3FA2B1E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 336</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D3EBAFBD216E2DE9BF8888448A953CD8</key>
+			<iv>D1C7957073C2A44D9483DD11F3FA2B1E</iv>
+			<input>2E061A5B483D0D834D3019954E54CF80</input>
+			<output>0AC3300C59DB7A76A1E16DC5BF167B70</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 337</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D9289FB178B5579F1E69E581358347A8</key>
+			<iv>0AC3300C59DB7A76A1E16DC5BF167B70</iv>
+			<input>2A6E00DF7820913341D26EF611A7BEC1</input>
+			<output>5A5A1BE396D3C56DB0690B92A925D8D8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 338</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>83728452EE6692F2AE00EE139CA69F70</key>
+			<iv>5A5A1BE396D3C56DB0690B92A925D8D8</iv>
+			<input>E871C79BA6132F15C80A85F4BC732E77</input>
+			<output>829ABA07496E1269437680257308029D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 339</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>01E83E55A708809BED766E36EFAE9DED</key>
+			<iv>829ABA07496E1269437680257308029D</iv>
+			<input>5955643AB76251E6AF97BC2490D09A72</input>
+			<output>3FEDBF80B703D067126EF55B02A41175</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 340</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3E0581D5100B50FCFF189B6DED0A8C98</key>
+			<iv>3FEDBF80B703D067126EF55B02A41175</iv>
+			<input>32BCF86ECA6CCE8F9C1C87AD9FDF8238</input>
+			<output>B59D6C5FCA91EDBFE75E795638CAD286</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 341</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8B98ED8ADA9ABD431846E23BD5C05E1E</key>
+			<iv>B59D6C5FCA91EDBFE75E795638CAD286</iv>
+			<input>01A08051FC1D98C1BDAE4CA1D41D91E6</input>
+			<output>21CB8EF8BBE6C371A26BFF92701C3D1A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 342</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>AA536372617C7E32BA2D1DA9A5DC6304</key>
+			<iv>21CB8EF8BBE6C371A26BFF92701C3D1A</iv>
+			<input>5F5D891DF8D595D3FEDAEF0174B0A1D1</input>
+			<output>23D0FB6489113D3D4AA6470210698391</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 343</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>89839816E86D430FF08B5AABB5B5E095</key>
+			<iv>23D0FB6489113D3D4AA6470210698391</iv>
+			<input>54FEAB37EFCD36D28E943DD85E803812</input>
+			<output>45F0556ED9A8ED0E1C8B0A0BA648E069</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 344</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>CC73CD7831C5AE01EC0050A013FD00FC</key>
+			<iv>45F0556ED9A8ED0E1C8B0A0BA648E069</iv>
+			<input>7AF4BC398ACAD37F526BDE12F3ED59ED</input>
+			<output>C41E115EE06FFE5DED10480A1BE5B720</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 345</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>086DDC26D1AA505C011018AA0818B7DC</key>
+			<iv>C41E115EE06FFE5DED10480A1BE5B720</iv>
+			<input>CF15E4B6DDF60A4EE0CB6CBFA8AD499B</input>
+			<output>1098A41E2C97C9D70626E4D1841F5CC1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 346</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>18F57838FD3D998B0736FC7B8C07EB1D</key>
+			<iv>1098A41E2C97C9D70626E4D1841F5CC1</iv>
+			<input>BAD4050A0013AB8BC556F367AB634D94</input>
+			<output>D9B58211EB935246A5E04FCD3BE10B54</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 347</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C140FA2916AECBCDA2D6B3B6B7E6E049</key>
+			<iv>D9B58211EB935246A5E04FCD3BE10B54</iv>
+			<input>CEFF0AF7EF4EA7EF3B0E8BF7FB756E77</input>
+			<output>50FAE8C770EF7F9D5FE93B090B9D5C66</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 348</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>91BA12EE6641B450FD3F88BFBC7BBC2F</key>
+			<iv>50FAE8C770EF7F9D5FE93B090B9D5C66</iv>
+			<input>3B8C412B4156B413AD06CB181B4C5EAA</input>
+			<output>E47249D4B5F24FF415B0E669EBF471B1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 349</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>75C85B3AD3B3FBA4E88F6ED6578FCD9E</key>
+			<iv>E47249D4B5F24FF415B0E669EBF471B1</iv>
+			<input>56C612C5C594CAFB7B1CE8131E786DF0</input>
+			<output>6AF057199C217EECB886D940F61B91C5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 350</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>1F380C234F9285485009B796A1945C5B</key>
+			<iv>6AF057199C217EECB886D940F61B91C5</iv>
+			<input>5629EF768743AB63D5B79B511C0A6BEF</input>
+			<output>A5A76C330984D34310D021A6C2BDE9BC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 351</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>BA9F60104616560B40D996306329B5E7</key>
+			<iv>A5A76C330984D34310D021A6C2BDE9BC</iv>
+			<input>ED8DF427A02692C09D7AAEF2EDAA1249</input>
+			<output>8AAEFBA5DE0AAA41D947E3238B279913</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 352</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>30319BB5981CFC4A999E7513E80E2CF4</key>
+			<iv>8AAEFBA5DE0AAA41D947E3238B279913</iv>
+			<input>949339605F30310FC557F2CA4815B034</input>
+			<output>9408BCB67EA573E7B5359B67918C16B9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 353</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A4392703E6B98FAD2CABEE7479823A4D</key>
+			<iv>9408BCB67EA573E7B5359B67918C16B9</iv>
+			<input>03607642CBBCCA2134837AC4BB452682</input>
+			<output>90660AF3DD0EAC1B61BB60EB49408586</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 354</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>345F2DF03BB723B64D108E9F30C2BFCB</key>
+			<iv>90660AF3DD0EAC1B61BB60EB49408586</iv>
+			<input>DE00E32930E14BD4297F9D789D0C25A1</input>
+			<output>1C48AC020174C0D87443229C113E2838</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 355</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>281781F23AC3E36E3953AC0321FC97F3</key>
+			<iv>1C48AC020174C0D87443229C113E2838</iv>
+			<input>9CA7A04855F8404176D7D30B594B65AC</input>
+			<output>7ACCB3FD4F9C7A5BFB83A969EB6D211A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 356</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>52DB320F755F9935C2D0056ACA91B6E9</key>
+			<iv>7ACCB3FD4F9C7A5BFB83A969EB6D211A</iv>
+			<input>DC0B392E998A347ECB789A51A09F1B1D</input>
+			<output>22BED79EF2CAFF83BE8CEE5D7001DE21</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 357</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>7065E591879566B67C5CEB37BA9068C8</key>
+			<iv>22BED79EF2CAFF83BE8CEE5D7001DE21</iv>
+			<input>07210334590A9314031D98F7DFBB84B9</input>
+			<output>44B16879886BC331407D1E7C7F247A04</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 358</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>34D48DE80FFEA5873C21F54BC5B412CC</key>
+			<iv>44B16879886BC331407D1E7C7F247A04</iv>
+			<input>27DDF18405E56989E59ED442C8825DD6</input>
+			<output>2787AD57159450916A45C72D0E074D53</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 359</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>135320BF1A6AF51656643266CBB35F9F</key>
+			<iv>2787AD57159450916A45C72D0E074D53</iv>
+			<input>4F43202A454BB0F3A9440DA558BEE228</input>
+			<output>3C1B83C66CEEEB27644BC66ACC3117E8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 360</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>2F48A37976841E31322FF40C07824877</key>
+			<iv>3C1B83C66CEEEB27644BC66ACC3117E8</iv>
+			<input>28ED6A88BDE4ADEFDA5C0F629109A7A3</input>
+			<output>B6009481F8C5D3EE37C645CF238238A1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 361</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>994837F88E41CDDF05E9B1C3240070D6</key>
+			<iv>B6009481F8C5D3EE37C645CF238238A1</iv>
+			<input>48DC5A3700CD4A7A9B066DC0E2667544</input>
+			<output>C1A20854601D7A81CAC51E9237BDC030</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 362</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>58EA3FACEE5CB75ECF2CAF5113BDB0E6</key>
+			<iv>C1A20854601D7A81CAC51E9237BDC030</iv>
+			<input>1F84C71120B50FDF715B60DB69DECBE0</input>
+			<output>663EDB4EFD3F6AC2259A43C926ACE66D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 363</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3ED4E4E21363DD9CEAB6EC983511568B</key>
+			<iv>663EDB4EFD3F6AC2259A43C926ACE66D</iv>
+			<input>D6F9C59367A57E1DBDC2F4627524BC9A</input>
+			<output>CA84A10F987212D75B744A7966ABBABA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 364</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F45045ED8B11CF4BB1C2A6E153BAEC31</key>
+			<iv>CA84A10F987212D75B744A7966ABBABA</iv>
+			<input>1D8BC84060844CE5C40C716F2190C2BB</input>
+			<output>ABAEEB339C4D150E894392444E021710</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 365</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5FFEAEDE175CDA45388134A51DB8FB21</key>
+			<iv>ABAEEB339C4D150E894392444E021710</iv>
+			<input>1300843AABCFB110198F0F0102C0A4D5</input>
+			<output>DBA9A1F8EE9AB8300D0273F71EAC5D1C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 366</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>84570F26F9C66275358347520314A63D</key>
+			<iv>DBA9A1F8EE9AB8300D0273F71EAC5D1C</iv>
+			<input>1EA11B05D7DA9D770BA9AB619267B7A3</input>
+			<output>4921F1CB4A9AA6594C205D8FF0B2DEC9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 367</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>CD76FEEDB35CC42C79A31ADDF3A678F4</key>
+			<iv>4921F1CB4A9AA6594C205D8FF0B2DEC9</iv>
+			<input>9ABA414156563E88A8CCDB3BD226F66C</input>
+			<output>4CF623AC6E145E2D61CAD28BFBF1F1E5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 368</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8180DD41DD489A011869C85608578911</key>
+			<iv>4CF623AC6E145E2D61CAD28BFBF1F1E5</iv>
+			<input>FEF20625FA0C788DB8A20298F6933F6F</input>
+			<output>67C491A5CA1A065980BDECE44B7979F1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 369</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E6444CE417529C5898D424B2432EF0E0</key>
+			<iv>67C491A5CA1A065980BDECE44B7979F1</iv>
+			<input>79C4A475D0E064D72D48AF6357A0E6A0</input>
+			<output>529766CDD1223ED05C055108F91E6526</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 370</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B4D32A29C670A288C4D175BABA3095C6</key>
+			<iv>529766CDD1223ED05C055108F91E6526</iv>
+			<input>0758AA9195AE8684B9FEEBEF8E1226AE</input>
+			<output>2AEC009219ECD0499DD729352C220E7D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 371</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>9E3F2ABBDF9C72C159065C8F96129BBB</key>
+			<iv>2AEC009219ECD0499DD729352C220E7D</iv>
+			<input>886713433798AB16E87A8AD3A8CD0C87</input>
+			<output>0DE2A7554E343B6FFC6D1ECF4A8AF0DD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 372</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>93DD8DEE91A849AEA56B4240DC986B66</key>
+			<iv>0DE2A7554E343B6FFC6D1ECF4A8AF0DD</iv>
+			<input>984E8BA3DFFB4E9A1244D65BEA7DC594</input>
+			<output>8111340B4AF2CD82FF15447143069276</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 373</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>12CCB9E5DB5A842C5A7E06319F9EF910</key>
+			<iv>8111340B4AF2CD82FF15447143069276</iv>
+			<input>A4F6C8ACF4F1050D11E42FEF1B6C8B68</input>
+			<output>BB4693FA1399583EACB21D2675E6D156</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 374</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A98A2A1FC8C3DC12F6CC1B17EA782846</key>
+			<iv>BB4693FA1399583EACB21D2675E6D156</iv>
+			<input>C5DBE1A937D6EA2FDD9A1A2FD25217B9</input>
+			<output>BC01B078339637D796F822B7E58D968D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 375</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>158B9A67FB55EBC5603439A00FF5BECB</key>
+			<iv>BC01B078339637D796F822B7E58D968D</iv>
+			<input>DBD0494B0FE3149F8BCB8A70D344E811</input>
+			<output>600C1EFBDCA314A6F9714DEE413B9BD2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 376</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>7587849C27F6FF639945744E4ECE2519</key>
+			<iv>600C1EFBDCA314A6F9714DEE413B9BD2</iv>
+			<input>FCA88DCB484317D7F886E7437BC9E669</input>
+			<output>2E3788A647105DD0A286E2EFFD469C99</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 377</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5BB00C3A60E6A2B33BC396A1B388B980</key>
+			<iv>2E3788A647105DD0A286E2EFFD469C99</iv>
+			<input>65AF28E41B3DA5ACE3B2CC9A25EAD28C</input>
+			<output>5411E48B57058A52C8560423BCFFBCD2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 378</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0FA1E8B137E328E1F39592820F770552</key>
+			<iv>5411E48B57058A52C8560423BCFFBCD2</iv>
+			<input>6DD82A9F1CF0A5134A76899B04BE37D5</input>
+			<output>C3F69C8ED682BF252D5119D1695126E1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 379</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>CC57743FE16197C4DEC48B53662623B3</key>
+			<iv>C3F69C8ED682BF252D5119D1695126E1</iv>
+			<input>DE729AB3803144FD958D8597396BC8ED</input>
+			<output>0941B78975FD2945B4AA81E8C58E3CB2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 380</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C516C3B6949CBE816A6E0ABBA3A81F01</key>
+			<iv>0941B78975FD2945B4AA81E8C58E3CB2</iv>
+			<input>D8404E7A17254EB40683A8919A9563B4</input>
+			<output>BF647E0346C013E138A2F0B06E7BB142</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 381</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>7A72BDB5D25CAD6052CCFA0BCDD3AE43</key>
+			<iv>BF647E0346C013E138A2F0B06E7BB142</iv>
+			<input>214089EC2996CE9FA2BBFEFBCAC03509</input>
+			<output>AFDA67B9451FF758CC87BBD93C7D4BE4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 382</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D5A8DA0C97435A389E4B41D2F1AEE5A7</key>
+			<iv>AFDA67B9451FF758CC87BBD93C7D4BE4</iv>
+			<input>9406E9D4FB4592A609BBDB23CE5F9D7F</input>
+			<output>B18202E4CA510695540371A8B6523616</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 383</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>642AD8E85D125CADCA48307A47FCD3B1</key>
+			<iv>B18202E4CA510695540371A8B6523616</iv>
+			<input>FEE45BE0503B4093747AFCEA9881D30D</input>
+			<output>64E149A4A1840F93D675B041ED81D45A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 384</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>00CB914CFC96533E1C3D803BAA7D07EB</key>
+			<iv>64E149A4A1840F93D675B041ED81D45A</iv>
+			<input>880368D5609350167C7826DA30DCFF59</input>
+			<output>65A363E9837DFBBDA2688E6F4FBE6C35</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 385</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>6568F2A57FEBA883BE550E54E5C36BDE</key>
+			<iv>65A363E9837DFBBDA2688E6F4FBE6C35</iv>
+			<input>29C5940D09A8723B441FC469C909813A</input>
+			<output>2A47FDF5BF600891DF4D9E8AA34748BA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 386</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4F2F0F50C08BA012611890DE46842364</key>
+			<iv>2A47FDF5BF600891DF4D9E8AA34748BA</iv>
+			<input>20AF0FF7BAC0F468C12BD2816A8B1620</input>
+			<output>68A637E4B94EC150C84A6EBB005BB79B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 387</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>278938B479C56142A952FE6546DF94FF</key>
+			<iv>68A637E4B94EC150C84A6EBB005BB79B</iv>
+			<input>42906D013A3F0A426B01B489ECA6CAD7</input>
+			<output>A090CA02FCD40F01CA0D1A699E30C164</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 388</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8719F2B685116E43635FE40CD8EF559B</key>
+			<iv>A090CA02FCD40F01CA0D1A699E30C164</iv>
+			<input>05A02D4D7D90BCA74ECE791CD865CB88</input>
+			<output>F70109F0EBBA56959B3013565E2BDFFC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 389</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>7018FB466EAB38D6F86FF75A86C48A67</key>
+			<iv>F70109F0EBBA56959B3013565E2BDFFC</iv>
+			<input>C373AB7B8F770212F9D5CEF40099086C</input>
+			<output>67221CC1F104809B8A5D35431963812D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 390</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>173AE7879FAFB84D7232C2199FA70B4A</key>
+			<iv>67221CC1F104809B8A5D35431963812D</iv>
+			<input>8C59B2A7FD50EC66ABACC0531BE33237</input>
+			<output>E06166175F68155DB86E268F3C5524AE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 391</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F75B8190C0C7AD10CA5CE496A3F22FE4</key>
+			<iv>E06166175F68155DB86E268F3C5524AE</iv>
+			<input>D39790AED2970355A6337AAD2CA4D501</input>
+			<output>85E89883242A3B68F4AAF922646EB385</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 392</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>72B31913E4ED96783EF61DB4C79C9C61</key>
+			<iv>85E89883242A3B68F4AAF922646EB385</iv>
+			<input>87D4160C7C97476D0884A22B5983AA65</input>
+			<output>038C79FDFAA0B4F4AD9DC336F46CACDF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 393</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>713F60EE1E4D228C936BDE8233F030BE</key>
+			<iv>038C79FDFAA0B4F4AD9DC336F46CACDF</iv>
+			<input>3B59088B5ADC77E4B3FC31897C6389B5</input>
+			<output>F6C92ECB3332E5E93C9DE29F27F94BB3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 394</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>87F64E252D7FC765AFF63C1D14097B0D</key>
+			<iv>F6C92ECB3332E5E93C9DE29F27F94BB3</iv>
+			<input>68BA9BEBB40B3E35D2E577A2831CF9DB</input>
+			<output>7B72342488233DAD5ACF0A8D54EA9E8B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 395</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>FC847A01A55CFAC8F539369040E3E586</key>
+			<iv>7B72342488233DAD5ACF0A8D54EA9E8B</iv>
+			<input>7816251219B8C7F009ADD7A1898D02CF</input>
+			<output>45CBA66AD6045917C3E8257D3ECBECDB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 396</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B94FDC6B7358A3DF36D113ED7E28095D</key>
+			<iv>45CBA66AD6045917C3E8257D3ECBECDB</iv>
+			<input>F542FEAB12E2EA9AE761E58108784E37</input>
+			<output>82E289465F5838036B9880C33AEBCB83</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 397</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3BAD552D2C009BDC5D49932E44C3C2DE</key>
+			<iv>82E289465F5838036B9880C33AEBCB83</iv>
+			<input>3B8208791DAE56383CC2BCB44097C9D3</input>
+			<output>F02F2B89DE46D01F46AD95C82AF0C20E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 398</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>CB827EA4F2464BC31BE406E66E3300D0</key>
+			<iv>F02F2B89DE46D01F46AD95C82AF0C20E</iv>
+			<input>3F2C0F7A0AEAB04F318C661ABCFED153</input>
+			<output>8D4FAF6332578524301ACA22AD86965B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 399</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>46CDD1C7C011CEE72BFECCC4C3B5968B</key>
+			<iv>8D4FAF6332578524301ACA22AD86965B</iv>
+			<input>A27200B51D69AAC22F1C567F8BCEABFA</input>
+			<output>2F844CBF78EBA70DA7A49601388F1AB6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tsymmetric/scripts/AESMonteCarloEncryptCBC192.txt	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,13602 @@
+<action>
+	<actionname>AES CBC MonteCarlo Enc 0</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<iv>00000000000000000000000000000000</iv>
+			<input>00000000000000000000000000000000</input>
+			<output>7BD966D53AD8C1BB85D2ADFAE87BB104</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 1</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>506339DAE3B35BEB7BD966D53AD8C1BB85D2ADFAE87BB104</key>
+			<iv>7BD966D53AD8C1BB85D2ADFAE87BB104</iv>
+			<input>0555C410F44C7AA4506339DAE3B35BEB</input>
+			<output>869C061BE9CFEAB5D285B0724A9A8970</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 2</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>74D3414C2374367BFD4560CED3172B0E57571D88A2E13874</key>
+			<iv>869C061BE9CFEAB5D285B0724A9A8970</iv>
+			<input>C6FB25A188CF7F3F24B07896C0C76D90</input>
+			<output>9E58A52B3840DBE16E8063A18220FEE4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 3</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>DDE2DF4EEC312FA3631DC5E5EB57F0EF39D77E2920C1C690</key>
+			<iv>9E58A52B3840DBE16E8063A18220FEE4</iv>
+			<input>84E3D4168A8469A6A9319E02CF4519D8</input>
+			<output>730A256C202B9D57F3C0D73AD4B6CBED</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 4</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>9D973AECAF19E9951017E089CB7C6DB8CA17A913F4770D7D</key>
+			<iv>730A256C202B9D57F3C0D73AD4B6CBED</iv>
+			<input>E000CE26CD3185B44075E5A24328C636</input>
+			<output>E79EF11C5C1FD1AB75280BCFFCFE89D4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 5</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>7A52007B2C40C9F4F78911959763BC13BF3FA2DC088984A9</key>
+			<iv>E79EF11C5C1FD1AB75280BCFFCFE89D4</iv>
+			<input>19D79403BB238816E7C53A9783592061</input>
+			<output>65744444724F1052D0B8674EDC8083B5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 6</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>40D50426A8D09F3292FD55D1E52CAC416F87C592D409071C</key>
+			<iv>65744444724F1052D0B8674EDC8083B5</iv>
+			<input>FDFA33685E2B5BBC3A87045D849056C6</input>
+			<output>23C6377D3D076491AD93E2B6112289C7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 7</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>6FD062412FE1AE4EB13B62ACD82BC8D0C2142724C52B8EDB</key>
+			<iv>23C6377D3D076491AD93E2B6112289C7</iv>
+			<input>5056DDDEF15831502F0566678731317C</input>
+			<output>F13A83088536BF30E5E9018BE57D7D89</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 8</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>EB4DB5F469D0EE9B4001E1A45D1D77E027FD26AF2056F352</key>
+			<iv>F13A83088536BF30E5E9018BE57D7D89</iv>
+			<input>0EE535A4A524668F849DD7B5463140D5</input>
+			<output>3F496CB19B21C37159528BF345473E6D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 9</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>AA6E5744B909D9A87F488D15C63CB4917EAFAD5C6511CD3F</key>
+			<iv>3F496CB19B21C37159528BF345473E6D</iv>
+			<input>3A11F90EB51C81ED4123E2B0D0D93733</input>
+			<output>CF79C1EDEE17A68DC7E673006AEC90D9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 10</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>64AB0C0C9471B77FB0314CF8282B121CB949DE5C0FFD5DE6</key>
+			<iv>CF79C1EDEE17A68DC7E673006AEC90D9</iv>
+			<input>85187E7F91280A5BCEC55B482D786ED7</input>
+			<output>92D1757BEBCE6E0406407819AF82353F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 11</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>9E5720C1DC2E285C22E03983C3E57C18BF09A645A07F68D9</key>
+			<iv>92D1757BEBCE6E0406407819AF82353F</iv>
+			<input>45147511BC08EC76FAFC2CCD485F9F23</input>
+			<output>8C0228F57523D746E67D27A8E6C426D9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 12</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>EBBB8245582E4367AEE21176B6C6AB5E597481ED46BB4E00</key>
+			<iv>8C0228F57523D746E67D27A8E6C426D9</iv>
+			<input>73B9EEAC644CBB8875ECA28484006B3B</input>
+			<output>D0025BF1FC35DD9BDA20F42DF775AF71</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 13</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5F938EE9CC63C9E87EE04A874AF376C5835475C0B1CEE171</key>
+			<iv>D0025BF1FC35DD9BDA20F42DF775AF71</iv>
+			<input>DE2507F01BC8B212B4280CAC944D8A8F</input>
+			<output>3FDDD3E04B2CBE79BB07D82182CD3787</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 14</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B94E2EC5F6E86EDC413D996701DFC8BC3853ADE13303D6F6</key>
+			<iv>3FDDD3E04B2CBE79BB07D82182CD3787</iv>
+			<input>90CE32BCC16C20F7E6DDA02C3A8BA734</input>
+			<output>F7B491E4C40B60BE8ACF16D68E3ED60F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 15</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>DE41ABD8C44F5DF6B6890883C5D4A802B29CBB37BD3D00F9</key>
+			<iv>F7B491E4C40B60BE8ACF16D68E3ED60F</iv>
+			<input>B7ACCA62BB9974BC670F851D32A7332A</input>
+			<output>7ED4055D367CB31A4CF1CC17132E00B5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 16</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E2A57C71F23BC4DEC85D0DDEF3A81B18FE6D7720AE13004C</key>
+			<iv>7ED4055D367CB31A4CF1CC17132E00B5</iv>
+			<input>1CA59C2384797B803CE4D7A936749928</input>
+			<output>8D50A87F14D466323929BB52FA60FA42</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 17</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>2FA1A78B8BCC301C450DA5A1E77C7D2AC744CC725473FA0E</key>
+			<iv>8D50A87F14D466323929BB52FA60FA42</iv>
+			<input>0A623319F2A051ACCD04DBFA79F7F4C2</input>
+			<output>7C02D378606FC33DFCEF8AA2A000383E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 18</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A949CE493892DF58390F76D98713BE173BAB46D0F473C230</key>
+			<iv>7C02D378606FC33DFCEF8AA2A000383E</iv>
+			<input>EE8F5FF6A7FF813386E869C2B35EEF44</input>
+			<output>CAE55B9CCBB5A68EBF0D2AB55E079FD4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 19</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E159445FE4201A6CF3EA2D454CA6189984A66C65AA745DE4</key>
+			<iv>CAE55B9CCBB5A68EBF0D2AB55E079FD4</iv>
+			<input>9699456986535C4648108A16DCB2C534</input>
+			<output>9056685FBFECC7A6143DB5AC314DAC88</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 20</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>EE4F7BF96BF1163E63BC451AF34ADF3F909BD9C99B39F16C</key>
+			<iv>9056685FBFECC7A6143DB5AC314DAC88</iv>
+			<input>16D6C34C3B57AC0A0F163FA68FD10C52</input>
+			<output>4D6A5542F0680CE37E88119141F321F5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 21</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>27F8CEE0120E8A0F2ED610580322D3DCEE13C858DACAD099</key>
+			<iv>4D6A5542F0680CE37E88119141F321F5</iv>
+			<input>337839926E36EC77C9B7B51979FF9C31</input>
+			<output>78E16D6027F0D190E78825C2F52E5364</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 22</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0AF4D3D8EB9FF18A56377D3824D2024C099BED9A2FE483FD</key>
+			<iv>78E16D6027F0D190E78825C2F52E5364</iv>
+			<input>8F96B66F934467C72D0C1D38F9917B85</input>
+			<output>82A81B33F80A105DD7D9CC6DDFECDB96</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 23</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>AD2AFC821170D967D49F660BDCD81211DE4221F7F008586B</key>
+			<iv>82A81B33F80A105DD7D9CC6DDFECDB96</iv>
+			<input>E2CB8E6E329C6660A7DE2F5AFAEF28ED</input>
+			<output>0BCD68A063BA3540B3E04C885DF45BD0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 24</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5B50EE72BD6CE837DF520EABBF6227516DA26D7FADFC03BB</key>
+			<iv>0BCD68A063BA3540B3E04C885DF45BD0</iv>
+			<input>31A14C64CD8BCC8FF67A12F0AC1C3150</input>
+			<output>DB27EA5834BF572EA50E03E0773C1010</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 25</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>BF4D8A58F54D47620475E4F38BDD707FC8AC6E9FDAC013AB</key>
+			<iv>DB27EA5834BF572EA50E03E0773C1010</iv>
+			<input>26755B5C0BE60998E41D642A4821AF55</input>
+			<output>655A896243B5E86B2F74299A317A2E4C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 26</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8DC190D88B17EAB9612F6D91C8689814E7D84705EBBA3DE7</key>
+			<iv>655A896243B5E86B2F74299A317A2E4C</iv>
+			<input>C6920ADCED82F661328C1A807E5AADDB</input>
+			<output>9F45472FDBB732C745AD228810392EA2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 27</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B44071C6F14CDA97FE6A2ABE13DFAAD3A275658DFB831345</key>
+			<iv>9F45472FDBB732C745AD228810392EA2</iv>
+			<input>2178DFA9784E563E3981E11E7A5B302E</input>
+			<output>9F985FBF08235845E396BFCE54BCE7C8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 28</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A3C12E42B53D829E61F275011BFCF29641E3DA43AF3FF48D</key>
+			<iv>9F985FBF08235845E396BFCE54BCE7C8</iv>
+			<input>44977E2274DA25AE17815F8444715809</input>
+			<output>033EAF4FAC934D123012279B1663C80B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 29</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8FD2B79E25E39C4A62CCDA4EB76FBF8471F1FDD8B95C3C86</key>
+			<iv>033EAF4FAC934D123012279B1663C80B</iv>
+			<input>425088D4626CD7972C1399DC90DE1ED4</input>
+			<output>A962CB4707B0048BB81F4225EFC85E48</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 30</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3D68793EF46B8125CBAE1109B0DFBB0FC9EEBFFD569462CE</key>
+			<iv>A962CB4707B0048BB81F4225EFC85E48</iv>
+			<input>EF21ED587C272175B2BACEA0D1881D6F</input>
+			<output>6F3A0D63A22C003F7F65B09098F667DB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 31</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>6A4FB651BE9D0BAFA4941C6A12F3BB30B68B0F6DCE620515</key>
+			<iv>6F3A0D63A22C003F7F65B09098F667DB</iv>
+			<input>16054E60B460B2D15727CF6F4AF68A8A</input>
+			<output>8BB46230FF03665765F2E5AAEA14104F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 32</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3F5991D63C15A1822F207E5AEDF0DD67D379EAC72476155A</key>
+			<iv>8BB46230FF03665765F2E5AAEA14104F</iv>
+			<input>82D0B12FEA88917F551627878288AA2D</input>
+			<output>8E1A664131FAB09E786E111C3C20A7BB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 33</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>456F69D38929ED82A13A181BDC0A6DF9AB17FBDB1856B2E1</key>
+			<iv>8E1A664131FAB09E786E111C3C20A7BB</iv>
+			<input>1384D3B7CAEB528A7A36F805B53C4C00</input>
+			<output>92D99BF1D71026D2BF78E32421E34E52</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 34</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>658891F63379484C33E383EA0B1A4B2B146F18FF39B5FCB3</key>
+			<iv>92D99BF1D71026D2BF78E32421E34E52</iv>
+			<input>9F60C3117269E88920E7F825BA50A5CE</input>
+			<output>7DB6782C68EC5FC75A2A75E4EA7B4071</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 35</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>9193E2EACE8423F64E55FBC663F614EC4E456D1BD3CEBCC2</key>
+			<iv>7DB6782C68EC5FC75A2A75E4EA7B4071</iv>
+			<input>232ECA0370EBD920F41B731CFDFD6BBA</input>
+			<output>D76A1E73E977533E6D7C74277DAFEB48</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 36</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F4C34FE273D0FCB5993FE5B58A8147D22339193CAE61578A</key>
+			<iv>D76A1E73E977533E6D7C74277DAFEB48</iv>
+			<input>5BCD8C6C4D14321F6550AD08BD54DF43</input>
+			<output>4A69E9081DDD43A6061700C7DA8F5E73</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 37</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>DC82C155896C5D5CD3560CBD975C0474252E19FB74EE09F9</key>
+			<iv>4A69E9081DDD43A6061700C7DA8F5E73</iv>
+			<input>C914BB961EA890D828418EB7FABCA1E9</input>
+			<output>91EE5BE28C27F055258BC3E1F37E2DEC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 38</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>08F1655EA3656F1C42B8575F1B7BF42100A5DA1A87902415</key>
+			<iv>91EE5BE28C27F055258BC3E1F37E2DEC</iv>
+			<input>11804F73D788115CD473A40B2A093240</input>
+			<output>86B9BE5AFD2A8A49E2651C314CAE0918</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 39</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>59D7EFD92140A147C401E905E6517E68E2C0C62BCB3E2D0D</key>
+			<iv>86B9BE5AFD2A8A49E2651C314CAE0918</iv>
+			<input>6E2A1E436926174E51268A878225CE5B</input>
+			<output>C642F5ED78DB76738A89296B1C4A0932</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 40</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F6E75E7867D0FB4A02431CE89E8A081B6849EF40D774243F</key>
+			<iv>C642F5ED78DB76738A89296B1C4A0932</iv>
+			<input>15896B8B864CF068AF30B1A146905A0D</input>
+			<output>24288AE027547E499EBADE9260C8F037</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 41</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>9A048C2BC98E15B2266B9608B9DE7652F6F331D2B7BCD408</key>
+			<iv>24288AE027547E499EBADE9260C8F037</iv>
+			<input>FF9A330C205DC3006CE3D253AE5EEEF8</input>
+			<output>BD9B3D670D24EDDA1EAD1DB06C8A83C7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 42</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>97E8C017644E9FED9BF0AB6FB4FA9B88E85E2C62DB3657CF</key>
+			<iv>BD9B3D670D24EDDA1EAD1DB06C8A83C7</iv>
+			<input>C9A3916C34A7CCD90DEC4C3CADC08A5F</input>
+			<output>1FCCBC65C44E4680E1593EE0EEFEA9A9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 43</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3A2862113BD3312D843C170A70B4DD080907128235C8FE66</key>
+			<iv>1FCCBC65C44E4680E1593EE0EEFEA9A9</iv>
+			<input>EAF9C4A80EE93585ADC0A2065F9DAEC0</input>
+			<output>2C0004064936696B10D039D9795BABC7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 44</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>33FAE356C0C96F17A83C130C3982B46319D72B5B4C9355A1</key>
+			<iv>2C0004064936696B10D039D9795BABC7</iv>
+			<input>4181525880CA468909D28147FB1A5E3A</input>
+			<output>79F193EB9A9A48464FF007D73E9B4106</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 45</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>2136A7940C9B9FAFD1CD80E7A318FC2556272C8C720814A7</key>
+			<iv>79F193EB9A9A48464FF007D73E9B4106</iv>
+			<input>2899D75DFB84950E12CC44C2CC52F0B8</input>
+			<output>DA12307CE9A6BA0FCE5A76AE1747E619</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 46</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0C839679750274320BDFB09B4ABE462A987D5A22654FF2BE</key>
+			<iv>DA12307CE9A6BA0FCE5A76AE1747E619</iv>
+			<input>2C71B8623CA5BF292DB531ED7999EB9D</input>
+			<output>A59997FA19B58BC71CB05E7140386C94</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 47</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4D3CDB92797645C1AE462761530BCDED84CD045325779E2A</key>
+			<iv>A59997FA19B58BC71CB05E7140386C94</iv>
+			<input>63F4FC202A1B921241BF4DEB0C7431F3</input>
+			<output>49E65D7422398035DD1E4EBAD37C699D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 48</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>38082D7CC27EBABBE7A07A1571324DD859D34AE9F60BF7B7</key>
+			<iv>49E65D7422398035DD1E4EBAD37C699D</iv>
+			<input>7F0E2FD5D4B5A0CB7534F6EEBB08FF7A</input>
+			<output>64DF24483FC73174FB6482A6E2B895E0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 49</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>1557398CFBFF31F8837F5E5D4EF57CACA2B7C84F14B36257</key>
+			<iv>64DF24483FC73174FB6482A6E2B895E0</iv>
+			<input>0F525FCF2A1E3D612D5F14F039818B43</input>
+			<output>028880CC8AA1B92CB807F1102663E658</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 50</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>229C31F1D34A529581F7DE91C454C5801AB0395F32D0840F</key>
+			<iv>028880CC8AA1B92CB807F1102663E658</iv>
+			<input>219604B99FF2BE7B37CB087D28B5636D</input>
+			<output>FAC8B66D1BA7849392CC235D0276110E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 51</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C75DE76D40D536277B3F68FCDFF34113887C1A0230A69501</key>
+			<iv>FAC8B66D1BA7849392CC235D0276110E</iv>
+			<input>3319C80C038E565FE5C1D69C939F64B2</input>
+			<output>79770F286419EEFD855868EC4ADF3775</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 52</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5F0B08B451490B27024867D4BBEAAFEE0D2472EE7A79A274</key>
+			<iv>79770F286419EEFD855868EC4ADF3775</iv>
+			<input>E173A8580816CAFA9856EFD9119C3D00</input>
+			<output>FC0AA487B09DF657DB58DBF83E13E137</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 53</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E86E8BFBF1D65541FE42C3530B7759B9D67CA916446A4343</key>
+			<iv>FC0AA487B09DF657DB58DBF83E13E137</iv>
+			<input>01274C45F202C22CB765834FA09F5E66</input>
+			<output>9691EA44FC67CA29E50E7FF7DBC4D0CA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 54</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>7849550CA6CCD87268D32917F71093903372D6E19FAE9389</key>
+			<iv>9691EA44FC67CA29E50E7FF7DBC4D0CA</iv>
+			<input>026BD493499B7BA99027DEF7571A8D33</input>
+			<output>5206F7CF45A59FD6444CCBB6B034CF45</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 55</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>52D81D6104DBF6DF3AD5DED8B2B50C46773E1D572F9A5CCC</key>
+			<iv>5206F7CF45A59FD6444CCBB6B034CF45</iv>
+			<input>33CA15B3D921E7752A91486DA2172EAD</input>
+			<output>F4A41D18E3EF9DE46917BADB1B5EC613</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 56</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>36FB680165ABD632CE71C3C0515A91A21E29A78C34C49ADF</key>
+			<iv>F4A41D18E3EF9DE46917BADB1B5EC613</iv>
+			<input>65F3084285AA869464237560617020ED</input>
+			<output>6C4154D3245D2546979118A36120A911</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 57</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>6E7548B98AA0640AA23097137507B4E489B8BF2F55E433CE</key>
+			<iv>6C4154D3245D2546979118A36120A911</iv>
+			<input>6CF540F502D90886588E20B8EF0BB238</input>
+			<output>2A52376A7E494ADEDD53A416F73FE9C0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 58</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A0D840A0E3CC1EA58862A0790B4EFE3A54EB1B39A2DBDA0E</key>
+			<iv>2A52376A7E494ADEDD53A416F73FE9C0</iv>
+			<input>708AE2375F305572CEAD0819696C7AAF</input>
+			<output>7A0EF052184147EA279839380B3DBB32</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 59</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>153CF68E4A1C1FCEF26C502B130FB9D073732201A9E6613C</key>
+			<iv>7A0EF052184147EA279839380B3DBB32</iv>
+			<input>A8267215107D3DD0B5E4B62EA9D0016B</input>
+			<output>F193B80D57571F94A4F5373149163AA1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 60</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E0B0657A66C37D8703FFE8264458A644D7861530E0F05B9D</key>
+			<iv>F193B80D57571F94A4F5373149163AA1</iv>
+			<input>EE4B04302CB02990F58C93F42CDF6249</input>
+			<output>A28E99815C930AC05ADA4524A7E5968C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 61</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>94760F8A93926E4DA17171A718CBAC848D5C50144715CD11</key>
+			<iv>A28E99815C930AC05ADA4524A7E5968C</iv>
+			<input>34D122B717CBA59174C66AF0F55113CA</input>
+			<output>6F9342E7915613450E823EC9A781DAA3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 62</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0B352460A1579376CEE23340899DBFC183DE6EDDE09417B2</key>
+			<iv>6F9342E7915613450E823EC9A781DAA3</iv>
+			<input>D8689ED21F3EA8E29F432BEA32C5FD3B</input>
+			<output>584BB944532A830F7F8DCDBE42E7DBFC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 63</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>999A5CEB73DFCC1796A98A04DAB73CCEFC53A363A273CC4E</key>
+			<iv>584BB944532A830F7F8DCDBE42E7DBFC</iv>
+			<input>4E87F73D46D0C0AF92AF788BD2885F61</input>
+			<output>4AC372A4D3273C71F69D50168A9235A1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 64</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>42C59FFD5AA69C11DC6AF8A0099000BF0ACEF37528E1F9EF</key>
+			<iv>4AC372A4D3273C71F69D50168A9235A1</iv>
+			<input>324DC9C2D34E95F9DB5FC31629795006</input>
+			<output>60E53CC2D5E4900D48A0C5F7EE3BC810</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 65</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>843EBDEF0CEEBA5BBC8FC462DC7490B2426E3682C6DA31FF</key>
+			<iv>60E53CC2D5E4900D48A0C5F7EE3BC810</iv>
+			<input>8B94F018A7115B3AC6FB22125648264A</input>
+			<output>4BD7DF7DFD03A24809B751F59FACF417</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 66</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>98E40853FA954FF5F7581B1F217732FA4BD967775976C5E8</key>
+			<iv>4BD7DF7DFD03A24809B751F59FACF417</iv>
+			<input>109C734AC21ED2631CDAB5BCF67BF5AE</input>
+			<output>B7A3CF7E58A413C5065E9CFD23C750F9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 67</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5419462C5329544A40FBD46179D3213F4D87FB8A7AB19511</key>
+			<iv>B7A3CF7E58A413C5065E9CFD23C750F9</iv>
+			<input>8CA507ACCDB3A793CCFD4E7FA9BC1BBF</input>
+			<output>6285C3D0FD2645192C5DD046D73414CE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 68</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B58628819840885D227E17B184F5642661DA2BCCAD8581DF</key>
+			<iv>6285C3D0FD2645192C5DD046D73414CE</iv>
+			<input>7DE48BAD03BB9F53E19F6EADCB69DC17</input>
+			<output>583FBCEB09646CEC19D00620E5455FD5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 69</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>73F7F00EF22ED1B07A41AB5A8D9108CA780A2DEC48C0DE0A</key>
+			<iv>583FBCEB09646CEC19D00620E5455FD5</iv>
+			<input>126D3F2A0BC1B168C671D88F6A6E59ED</input>
+			<output>886A5273055AF7AE37EFB726DC90FD9E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 70</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>69735F80F0B876DAF22BF92988CBFF644FE59ACA94502394</key>
+			<iv>886A5273055AF7AE37EFB726DC90FD9E</iv>
+			<input>0B4D3F58D83D866A1A84AF8E0296A76A</input>
+			<output>FD068F02BB6C2611EF78CD963EF2F78F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 71</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>92E5FF32D46494880F2D762B33A7D975A09D575CAAA2D41B</key>
+			<iv>FD068F02BB6C2611EF78CD963EF2F78F</iv>
+			<input>705667CBCC87BF3DFB96A0B224DCE252</input>
+			<output>34713FD3FA07F0B3F94EC0FB17BB465F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 72</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A0DF9DCB873A1ADC3B5C49F8C9A029C659D397A7BD199244</key>
+			<iv>34713FD3FA07F0B3F94EC0FB17BB465F</iv>
+			<input>4BF66F55275D6CB3323A62F9535E8E54</input>
+			<output>82C8A179661207B7FE178A266C607074</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 73</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>2D1604ADAA49C3FBB994E881AFB22E71A7C41D81D179E230</key>
+			<iv>82C8A179661207B7FE178A266C607074</iv>
+			<input>167203BBB933707A8DC999662D73D927</input>
+			<output>DCDBCC8D11C632CB220C6E95B399A1CC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 74</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>7D2C4B0C0D0B001A654F240CBE741CBA85C8731462E043FC</key>
+			<iv>DCDBCC8D11C632CB220C6E95B399A1CC</iv>
+			<input>668F998350BDA831503A4FA1A742C3E1</input>
+			<output>8827EBFCB24470266D5C0BA05D5974A4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 75</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>BE3A4CF21186C2C7ED68CFF00C306C9CE89478B43FB93758</key>
+			<iv>8827EBFCB24470266D5C0BA05D5974A4</iv>
+			<input>B8D1D48F3C41094EC31607FE1C8DC2DD</input>
+			<output>61E59DECE1AEFFDEB9B216828953D70F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 76</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D0CE372842DC32508C8D521CED9E934251266E36B6EAE057</key>
+			<iv>61E59DECE1AEFFDEB9B216828953D70F</iv>
+			<input>49A4495257D08AA56EF47BDA535AF097</input>
+			<output>ECD04FFB385CCC1D13C312A5C31810DE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 77</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E7274C14C4163169605D1DE7D5C25F5F42E57C9375F2F089</key>
+			<iv>ECD04FFB385CCC1D13C312A5C31810DE</iv>
+			<input>3EED6F60FD9050A737E97B3C86CA0339</input>
+			<output>D9C90455AFBF5465F89752FB6F60BDFF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 78</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>71E35A00CAFB898BB99419B27A7D0B3ABA722E681A924D76</key>
+			<iv>D9C90455AFBF5465F89752FB6F60BDFF</iv>
+			<input>5CE6E7F07945191396C416140EEDB8E2</input>
+			<output>F6E795B326CFD6CCC0E230E4FE770878</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 79</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>79DFA388989B29204F738C015CB2DDF67A901E8CE4E5450E</key>
+			<iv>F6E795B326CFD6CCC0E230E4FE770878</iv>
+			<input>314A5784B7909F89083CF9885260A0AB</input>
+			<output>6B3A00F05F79F25E4E9EDA81034A9B7B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 80</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>75F6D5983AE6D7AC24498CF103CB2FA8340EC40DE7AFDE75</key>
+			<iv>6B3A00F05F79F25E4E9EDA81034A9B7B</iv>
+			<input>DEC42B1A6184FDF80C297610A27DFE8C</input>
+			<output>6A19BEA8826427E309BD55BCBBE246B4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 81</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E47EEE65549BF1634E50325981AF084B3DB391B15C4D98C1</key>
+			<iv>6A19BEA8826427E309BD55BCBBE246B4</iv>
+			<input>63C46CFF49FF13B291883BFD6E7D26CF</input>
+			<output>738C0B0E580C0B1ED488DDE8502CB754</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 82</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E6DBE45547556F403DDC3957D9A30355E93B4C590C612F95</key>
+			<iv>738C0B0E580C0B1ED488DDE8502CB754</iv>
+			<input>E951F5C902BD351502A50A3013CE9E23</input>
+			<output>389E33F3DAB3FAB7B2ACB853C0150B8D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 83</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>EBA5A1BDF9FC558905420AA40310F9E25B97F40ACC742418</key>
+			<iv>389E33F3DAB3FAB7B2ACB853C0150B8D</iv>
+			<input>54EFC45B4036B60D0D7E45E8BEA93AC9</input>
+			<output>EACAE8A4B5CCBDB28ED2162670DBD4B1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 84</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B570945030615F75EF88E200B6DC4450D545E22CBCAFF0A9</key>
+			<iv>EACAE8A4B5CCBDB28ED2162670DBD4B1</iv>
+			<input>7F3BA6FE23AE45665ED535EDC99D0AFC</input>
+			<output>535FEA61623ECD22FA1A95BF95320252</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 85</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F332D3DE8556F82EBCD70861D4E289722F5F7793299DF2FB</key>
+			<iv>535FEA61623ECD22FA1A95BF95320252</iv>
+			<input>8FEB6943B22437D34642478EB537A75B</input>
+			<output>CD23D928E1D3221E4D3C51670C071276</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 86</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>1402D325D7EBA90871F4D1493531AB6C626326F4259AE08D</key>
+			<iv>CD23D928E1D3221E4D3C51670C071276</iv>
+			<input>8B01EE4509B58B49E73000FB52BD5126</input>
+			<output>56DC7F1BE2CC26A369B3BCA71BF8FAB8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 87</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>389C95DC5BF411B62728AE52D7FD8DCF0BD09A533E621A35</key>
+			<iv>56DC7F1BE2CC26A369B3BCA71BF8FAB8</iv>
+			<input>9BFE561402B07B4C2C9E46F98C1FB8BE</input>
+			<output>A059CFB443009F0ACD8E5051BD16C837</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 88</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>89180FBFF0A12019877161E694FD12C5C65ECA028374D202</key>
+			<iv>A059CFB443009F0ACD8E5051BD16C837</iv>
+			<input>C8D55810C7A22E30B1849A63AB5531AF</input>
+			<output>62CEB7D9A6D23B40CFD75990D1040BA4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 89</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>08BE01CF1E620DBEE5BFD63F322F2985098993925270D9A6</key>
+			<iv>62CEB7D9A6D23B40CFD75990D1040BA4</iv>
+			<input>F888764A970B03BC81A60E70EEC32DA7</input>
+			<output>F6D89003ABBF003AF013EB221AF17F99</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 90</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5EB9AC53FC544ADE1367463C999029BFF99A78B04881A63F</key>
+			<iv>F6D89003ABBF003AF013EB221AF17F99</iv>
+			<input>26A25CFC1E699D8B5607AD9CE2364760</input>
+			<output>74C9E920DC16396E89774B82E7803EF5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 91</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D8FAD6E8CDC96CEF67AEAF1C458610D170ED3332AF0198CA</key>
+			<iv>74C9E920DC16396E89774B82E7803EF5</iv>
+			<input>76AFDD045A30FAA486437ABB319D2631</input>
+			<output>A5B997689B88AAC0611C2963C8C1B7CE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 92</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>7E774E64A5F209B2C2173874DE0EBA1111F11A5167C02F04</key>
+			<iv>A5B997689B88AAC0611C2963C8C1B7CE</iv>
+			<input>ABF525144D3415DEA68D988C683B655D</input>
+			<output>7A2F39D97547C3CD336577E41C0483ED</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 93</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0406C21AE6E015E0B83801ADAB4979DC22946DB57BC4ACE9</key>
+			<iv>7A2F39D97547C3CD336577E41C0483ED</iv>
+			<input>E0C2466426630D1B7A718C7E43121C52</input>
+			<output>67899F7D0890E90383C05A7984604241</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 94</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D9249A4AFDF40BEADFB19ED0A3D990DFA15437CCFFA4EEA8</key>
+			<iv>67899F7D0890E90383C05A7984604241</iv>
+			<input>07E55341FCD016D7DD2258501B141E0A</input>
+			<output>7B1CBCD270B09E9A1D15714D8366D174</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 95</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B2242464CD4D2448A4AD2202D3690E45BC4146817CC23FDC</key>
+			<iv>7B1CBCD270B09E9A1D15714D8366D174</iv>
+			<input>25C6E62F44ABFF406B00BE2E30B92FA2</input>
+			<output>C86E27E5CA4461CE656D893A16477966</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 96</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>602CDF824C043C836CC305E7192D6F8BD92CCFBB6A8546BA</key>
+			<iv>C86E27E5CA4461CE656D893A16477966</iv>
+			<input>3F9D262E375F057BD208FBE6814918CB</input>
+			<output>8129054CF746CB79112942AE35142E4D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 97</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>73F82C9EE4B4D0E8EDEA00ABEE6BA4F2C8058D155F9168F7</key>
+			<iv>8129054CF746CB79112942AE35142E4D</iv>
+			<input>7BC798EAC4C17B2D13D4F31CA8B0EC6B</input>
+			<output>36F21910B1677AF19586E55E360FB8DD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 98</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E5FC538A60CC29A3DB1819BB5F0CDE035D83684B699ED02A</key>
+			<iv>36F21910B1677AF19586E55E360FB8DD</iv>
+			<input>D3E39037253E5BAA96047F148478F94B</input>
+			<output>BA7CE80E0853D264368EE61D8E71EEBE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 99</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D9381EF81441B6C16164F1B5575F0C676B0D8E56E7EF3E94</key>
+			<iv>BA7CE80E0853D264368EE61D8E71EEBE</iv>
+			<input>DE4FFDFADB81FABB3CC44D72748D9F62</input>
+			<output>971AD82D1F46F1087B37103B4BE5DD8C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 100</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A0BF8B4740D929C9F67E29984819FD6F103A9E6DAC0AE318</key>
+			<iv>971AD82D1F46F1087B37103B4BE5DD8C</iv>
+			<input>FE6355B5D860522B798795BF54989F08</input>
+			<output>D17268155EE586F352BB031929441700</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 101</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>477A0AB591FFEC5C270C418D16FC7B9C42819D74854EF418</key>
+			<iv>D17268155EE586F352BB031929441700</iv>
+			<input>166A50EEE05F4A39E7C581F2D126C595</input>
+			<output>2CD84FB5B587BE8B04638A9EDBA17AE2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 102</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>50005B4C4B11BFB20BD40E38A37BC51746E217EA5EEF8EFA</key>
+			<iv>2CD84FB5B587BE8B04638A9EDBA17AE2</iv>
+			<input>1296DC2C1741EB2A177A51F9DAEE53EE</input>
+			<output>8C2A5A31951FB2D9E8D35CD3C007B8B3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 103</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E1E88DDBA5D849DF87FE5409366477CEAE314B399EE83649</key>
+			<iv>8C2A5A31951FB2D9E8D35CD3C007B8B3</iv>
+			<input>57C5E1A070E3C2AEB1E8D697EEC9F66D</input>
+			<output>AA9E935BA264C9FD0C07072AF8499CD7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 104</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D465F0FB195068CF2D60C7529400BE33A2364C1366A1AA9E</key>
+			<iv>AA9E935BA264C9FD0C07072AF8499CD7</iv>
+			<input>77D0522670E00BD7358D7D20BC882110</input>
+			<output>A22DF6CE12C75FB99F5159A1E3E4249F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 105</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4DEB1B5E6398E4AD8F4D319C86C7E18A3D6715B285458E01</key>
+			<iv>A22DF6CE12C75FB99F5159A1E3E4249F</iv>
+			<input>D6F96D22896A2574998EEBA57AC88C62</input>
+			<output>B356102A9158C569469E61093146B9F0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 106</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D73E5CA946860BDD3C1B21B6179F24E37BF974BBB40337F1</key>
+			<iv>B356102A9158C569469E61093146B9F0</iv>
+			<input>2E72F61FC21F57A09AD547F7251EEF70</input>
+			<output>AB2BABFB88D3C3ACE4CBA81E0E250AD3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 107</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>6B592CE635873DE197308A4D9F4CE74F9F32DCA5BA263D22</key>
+			<iv>AB2BABFB88D3C3ACE4CBA81E0E250AD3</iv>
+			<input>39B02C01155705C9BC67704F7301363C</input>
+			<output>8A4AC90E9095479F3C02DE7B08C01F1C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 108</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>1026EE98CAC684081D7A43430FD9A0D0A33002DEB2E6223E</key>
+			<iv>8A4AC90E9095479F3C02DE7B08C01F1C</iv>
+			<input>14F49DBECEE88DBB7B7FC27EFF41B9E9</input>
+			<output>62E4E3C43938D014D90C4A1D8CD09639</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 109</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>20972278E7C0FFC17F9EA08736E170C47A3C48C33E36B407</key>
+			<iv>62E4E3C43938D014D90C4A1D8CD09639</iv>
+			<input>56EFB0EA336A674930B1CCE02D067BC9</input>
+			<output>5E8EB865BFC1999D57A67280E37CA129</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 110</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>2BEE1A1965A7F17C211018E28920E9592D9A3A43DD4A152E</key>
+			<iv>5E8EB865BFC1999D57A67280E37CA129</iv>
+			<input>9CF6F073F2F0C7CB0B79386182670EBD</input>
+			<output>D3B98A4562FAB47ED3D09C55E75EE51B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 111</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>EB85E491647FD6ACF2A992A7EBDA5D27FE4AA6163A14F035</key>
+			<iv>D3B98A4562FAB47ED3D09C55E75EE51B</iv>
+			<input>61964EF472752F21C06BFE8801D827D0</input>
+			<output>CF3D65AEEDD747416AF436A3B909828F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 112</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E94E6286941EC36D3D94F709060D1A6694BE90B5831D72BA</key>
+			<iv>CF3D65AEEDD747416AF436A3B909828F</iv>
+			<input>6C0B536EA1099A4202CB8617F06115C1</input>
+			<output>5DB0625B34C01C47490B5200E8A205FC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 113</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F5D756E568CA6BA06024955232CD0621DDB5C2B56BBF7746</key>
+			<iv>5DB0625B34C01C47490B5200E8A205FC</iv>
+			<input>08D5CD9945D190AB1C993463FCD4A8CD</input>
+			<output>771B5C66F79E262FAAC6F92F128669CB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 114</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>462C74E6E222DE77173FC934C553200E77733B9A79391E8D</key>
+			<iv>771B5C66F79E262FAAC6F92F128669CB</iv>
+			<input>5628EC55D7AB7634B3FB22038AE8B5D7</input>
+			<output>31C436E7CA7343A93AA0B74A38CCDAC0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 115</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5062F2489F4C68FE26FBFFD30F2063A74DD38CD041F5C44D</key>
+			<iv>31C436E7CA7343A93AA0B74A38CCDAC0</iv>
+			<input>F279C45DBD75C458164E86AE7D6EB689</input>
+			<output>845320B41FD6F1D4DBB36D19D8A4A268</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 116</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5A27EC509FED17B6A2A8DF6710F692739660E1C999516625</key>
+			<iv>845320B41FD6F1D4DBB36D19D8A4A268</iv>
+			<input>7C0CB5E4FFE703260A451E1800A17F48</input>
+			<output>D8F9FB52BE1B342D6FBBB8A7FCDEFD89</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 117</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E925EC8E99BF11E97A512435AEEDA65EF9DB596E658F9BAC</key>
+			<iv>D8F9FB52BE1B342D6FBBB8A7FCDEFD89</iv>
+			<input>187F3648643AF8E6B30200DE0652065F</input>
+			<output>240647A32D765031C79D8893CC19EBA9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 118</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5574034BCE64FADD5E576396839BF66F3E46D1FDA9967005</key>
+			<iv>240647A32D765031C79D8893CC19EBA9</iv>
+			<input>AF808097E0C68C8FBC51EFC557DBEB34</input>
+			<output>2A3805A7D773F9C00635779752C9CCE7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 119</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D842A9983BBDAA5E746F663154E80FAF3873A66AFB5FBCE2</key>
+			<iv>2A3805A7D773F9C00635779752C9CCE7</iv>
+			<input>D44486CCC61C68588D36AAD3F5D95083</input>
+			<output>2219F0C7A805BEC4A4931F84CBFFC598</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 120</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>CD622302BD70E2CD567696F6FCEDB16B9CE0B9EE30A0797A</key>
+			<iv>2219F0C7A805BEC4A4931F84CBFFC598</iv>
+			<input>67DA1BC4F2BC2F3315208A9A86CD4893</input>
+			<output>8B1F4353CF6969888BBD6654AB65C2A8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 121</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>80A1D0CA7667F291DD69D5A53384D8E3175DDFBA9BC5BBD2</key>
+			<iv>8B1F4353CF6969888BBD6654AB65C2A8</iv>
+			<input>D114FDA8E61BEAC44DC3F3C8CB17105C</input>
+			<output>B6F0C0F016A1FA033C37D1128D9B2EF3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 122</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>2C9B755C3B8B44416B991555252522E02B6A0EA8165E9521</key>
+			<iv>B6F0C0F016A1FA033C37D1128D9B2EF3</iv>
+			<input>738DBCE3EE7E70EAAC3AA5964DECB6D0</input>
+			<output>14FB0A67CB0729CA25152581D8C3FEEF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 123</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5D05BDFBF482E4D37F621F32EE220B2A0E7F2B29CE9D6BCE</key>
+			<iv>14FB0A67CB0729CA25152581D8C3FEEF</iv>
+			<input>D3186497981F294B719EC8A7CF09A092</input>
+			<output>14C988C52C7ED50EBD10219F1F58C213</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 124</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>9E044D195FA8557C6BAB97F7C25CDE24B36F0AB6D1C5A9DD</key>
+			<iv>14C988C52C7ED50EBD10219F1F58C213</iv>
+			<input>C062585284FDE540C301F0E2AB2AB1AF</input>
+			<output>1FE7E153E69F95F102624ACEB9067FA1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 125</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>2B116B6F1FD581C6744C76A424C34BD5B10D407868C3D67C</key>
+			<iv>1FE7E153E69F95F102624ACEB9067FA1</iv>
+			<input>F18294D40CAA674DB5152676407DD4BA</input>
+			<output>AB43B2C61C9F23B96EFE293C6730A98F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 126</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>EAF1AFBDD2CEDB9ADF0FC462385C686CDFF369440FF37FF3</key>
+			<iv>AB43B2C61C9F23B96EFE293C6730A98F</iv>
+			<input>7D465730C5422413C1E0C4D2CD1B5A5C</input>
+			<output>B1413F447CA81C678287EE2366544547</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 127</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4FA6C7DA7A84D4CB6E4EFB2644F4740B5D74876769A73AB4</key>
+			<iv>B1413F447CA81C678287EE2366544547</iv>
+			<input>C7BFA1BFA26828F7A5576867A84A0F51</input>
+			<output>7AE90F988557F3A41BBDB4B69C5FF56A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 128</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C9B0E3C7CEF4003014A7F4BEC1A387AF46C933D1F5F8CFDE</key>
+			<iv>7AE90F988557F3A41BBDB4B69C5FF56A</iv>
+			<input>5173C32806105AD18616241DB470D4FB</input>
+			<output>F2EF675645D284F042FAEBE87AE3ECAE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 129</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>DB855274F6CC030BE64893E88471035F0433D8398F1B2370</key>
+			<iv>F2EF675645D284F042FAEBE87AE3ECAE</iv>
+			<input>6DF6B7F917B2F8431235B1B33838033B</input>
+			<output>30D4F068BC2FDEC79CF81A4FA641A495</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 130</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F37DBF11472A4F87D69C6380385EDD9898CBC276295A87E5</key>
+			<iv>30D4F068BC2FDEC79CF81A4FA641A495</iv>
+			<input>F4C98D268B7D175728F8ED65B1E64C8C</input>
+			<output>0CEB234560B935E5B08C7EA2AA4A962D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 131</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>1A2F5A0827B2F861DA7740C558E7E87D2847BCD4831011C8</key>
+			<iv>0CEB234560B935E5B08C7EA2AA4A962D</iv>
+			<input>9873E312B815DC81E952E5196098B7E6</input>
+			<output>7BED84EFC02836F6D165AD27DEEF2B21</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 132</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>9C815F2A4EC42D02A19AC42A98CFDE8BF92211F35DFF3AE9</key>
+			<iv>7BED84EFC02836F6D165AD27DEEF2B21</iv>
+			<input>D8765DE55131DC4186AE05226976D563</input>
+			<output>C36FEDCB97DA734243A20C49D5942DD1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 133</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>9A12CC40F3C185AA62F529E10F15ADC9BA801DBA886B1738</key>
+			<iv>C36FEDCB97DA734243A20C49D5942DD1</iv>
+			<input>18B252CEB124BD110693936ABD05A8A8</input>
+			<output>94C9A6BDB97522FACEE2E869C3C48FB0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 134</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F08C23DDC110ED40F63C8F5CB6608F337462F5D34BAF9888</key>
+			<iv>94C9A6BDB97522FACEE2E869C3C48FB0</iv>
+			<input>154FF810E3F0CE586A9EEF9D32D168EA</input>
+			<output>AFC8D15F80F19F942FCA22DA0DF79937</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 135</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B1224FF7293C5DC559F45E03369110A75BA8D709465801BF</key>
+			<iv>AFC8D15F80F19F942FCA22DA0DF79937</iv>
+			<input>259A6B069CA3273C41AE6C2AE82CB085</input>
+			<output>5AADC1716B2ED4FC7CA9825A32EA2FB1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 136</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D29A829813CC5B4103599F725DBFC45B2701555374B22E0E</key>
+			<iv>5AADC1716B2ED4FC7CA9825A32EA2FB1</iv>
+			<input>CB78C574D9B1B9EF63B8CD6F3AF00684</input>
+			<output>EACB8D3001640F340DFB459CD8D162BD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 137</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>1049116DD39F7B30E99212425CDBCB6F2AFA10CFAC634CB3</key>
+			<iv>EACB8D3001640F340DFB459CD8D162BD</iv>
+			<input>DF461D135DE19FA2C2D393F5C0532071</input>
+			<output>9115EB33739C04AAE22765621A8852C5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 138</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A129CBBF89658D977887F9712F47CFC5C8DD75ADB6EB1E76</key>
+			<iv>9115EB33739C04AAE22765621A8852C5</iv>
+			<input>E32AF908A190B95FB160DAD25AFAF6A7</input>
+			<output>B171D8AC24C6873B54F42D5DAC51ED34</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 139</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>EE7226D88DFA48DFC9F621DD0B8148FE9C2958F01ABAF342</key>
+			<iv>B171D8AC24C6873B54F42D5DAC51ED34</iv>
+			<input>0A669BB00E2123B54F5BED67049FC548</input>
+			<output>CFFC81B70593A36D022248D1CBE7FC58</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 140</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C907918503B2C1C0060AA06A0E12EB939E0B1021D15D0F1A</key>
+			<iv>CFFC81B70593A36D022248D1CBE7FC58</iv>
+			<input>E9B1E6FA006D4CEE2775B75D8E48891F</input>
+			<output>0B3B02FC8A8D677B8077D7FDF9EB0396</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 141</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E468A0560DB602C10D31A296849F8CE81E7CC7DC28B60C8C</key>
+			<iv>0B3B02FC8A8D677B8077D7FDF9EB0396</iv>
+			<input>AA3626C69662AE442D6F31D30E04C301</input>
+			<output>2C78C31D4B2EBAEF54CB6D04C4375196</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 142</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>EB8BCD80D3E35CCB2149618BCFB136074AB7AAD8EC815D1A</key>
+			<iv>2C78C31D4B2EBAEF54CB6D04C4375196</iv>
+			<input>5017BD9EB52514180FE36DD6DE555E0A</input>
+			<output>67D2DD54A0881186DFA6A608C036CE61</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 143</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>7065D92686BA37E9469BBCDF6F39278195110CD02CB7937B</key>
+			<iv>67D2DD54A0881186DFA6A608C036CE61</iv>
+			<input>6CBC1C2DAA3A7F7B9BEE14A655596B22</input>
+			<output>62163C88A40E7CFF7522A3DC32F30BCF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 144</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E0B4AE9D6C9A5A92248D8057CB375B7EE033AF0C1E4498B4</key>
+			<iv>62163C88A40E7CFF7522A3DC32F30BCF</iv>
+			<input>0F6C44EE5E2587A790D177BBEA206D7B</input>
+			<output>B84A631DE451F109C48785DE3D4099C2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 145</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>DDCDB4F73AA0C8789CC7E34A2F66AA7724B42AD223040176</key>
+			<iv>B84A631DE451F109C48785DE3D4099C2</iv>
+			<input>EE1EA5C5340C2F263D791A6A563A92EA</input>
+			<output>D438E983DB81DA9341CE1AC45F4E7E52</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 146</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>813604E941CBDF6448FF0AC9F4E770E4657A30167C4A7F24</key>
+			<iv>D438E983DB81DA9341CE1AC45F4E7E52</iv>
+			<input>08E1F94874432DBD5CFBB01E7B6B171C</input>
+			<output>0E1C069CB75D4EDF4243D1E6D7175425</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 147</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D64EB9DE5A3B546B46E30C5543BA3E3B2739E1F0AB5D2B01</key>
+			<iv>0E1C069CB75D4EDF4243D1E6D7175425</iv>
+			<input>CFCDC1C0EFE678FB5778BD371BF08B0F</input>
+			<output>CBC0ED542E26A1943926EF7897A79E97</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 148</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D1659785D1D551948D23E1016D9C9FAF1E1F0E883CFAB596</key>
+			<iv>CBC0ED542E26A1943926EF7897A79E97</iv>
+			<input>1FEA178A348CAE8B072B2E5B8BEE05FF</input>
+			<output>C743A7B60EB7C24867DA82AFF15ED18A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 149</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>05786C3E1FBE51864A6046B7632B5DE779C58C27CDA4641C</key>
+			<iv>C743A7B60EB7C24867DA82AFF15ED18A</iv>
+			<input>3A4EF6696CD26875D41DFBBBCE6B0012</input>
+			<output>EA23014227CF7B563AEFF86DB947FAC4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 150</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>CE1E5D5BF32BF0CAA04347F544E426B1432A744A74E39ED8</key>
+			<iv>EA23014227CF7B563AEFF86DB947FAC4</iv>
+			<input>DFDF9B4032986E90CB663165EC95A14C</input>
+			<output>EAF762B60A106C03B76742E69CEE385A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 151</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F8EAC01B3F7E925A4AB425434EF44AB2F44D36ACE80DA682</key>
+			<iv>EAF762B60A106C03B76742E69CEE385A</iv>
+			<input>2BDC6EAB1D86311D36F49D40CC556290</input>
+			<output>E6CC0491C3509240ED848AE304CC3385</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 152</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>BF5AE8B244244B4BAC7821D28DA4D8F219C9BC4FECC19507</key>
+			<iv>E6CC0491C3509240ED848AE304CC3385</iv>
+			<input>81D4E28E02717AB347B028A97B5AD911</input>
+			<output>11EE9D22AC798AB5FEF6C6188845F425</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 153</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5C6538235111334FBD96BCF021DD5247E73F7A5764846122</key>
+			<iv>11EE9D22AC798AB5FEF6C6188845F425</iv>
+			<input>DDE402413BB09DFBE33FD09115357804</input>
+			<output>3F054911089500FD2CD0645DBFE2A8D3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 154</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>FAC914FA6B6CA1AB8293F5E1294852BACBEF1E0ADB66C9F1</key>
+			<iv>3F054911089500FD2CD0645DBFE2A8D3</iv>
+			<input>345343E023AC39FFA6AC2CD93A7D92E4</input>
+			<output>7538E78DE8FC09D203010C61422E6B5A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 155</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>1E62F54271EA4374F7AB126CC1B45B68C8EE126B9948A2AB</key>
+			<iv>7538E78DE8FC09D203010C61422E6B5A</iv>
+			<input>0EC4357C476EB76AE4ABE1B81A86E2DF</input>
+			<output>3A4D0093A2B7FF807BAA6A815538507E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 156</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5AD3B884BE5653BBCDE612FF6303A4E8B34478EACC70F2D5</key>
+			<iv>3A4D0093A2B7FF807BAA6A815538507E</iv>
+			<input>F59FD86893B7DF7244B14DC6CFBC10CF</input>
+			<output>2C2FD7DF94FDDC2CA1C05EF5878583FF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 157</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B9039E1678902ECCE1C9C520F7FE78C41284261F4BF5712A</key>
+			<iv>2C2FD7DF94FDDC2CA1C05EF5878583FF</iv>
+			<input>4600E6CCD65B575AE3D02692C6C67D77</input>
+			<output>59C9FA2E4A2227C3E5B831899A3CCBFD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 158</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>394A8245256D72B8B8003F0EBDDC5F07F73C1796D1C9BAD7</key>
+			<iv>59C9FA2E4A2227C3E5B831899A3CCBFD</iv>
+			<input>3030D8E24F7BEA0580491C535DFD5C74</input>
+			<output>DEAFC4A07A3FB5D5AA09FF6A2515AB4A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 159</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>2496931DFCFF2E7166AFFBAEC7E3EAD25D35E8FCF4DC119D</key>
+			<iv>DEAFC4A07A3FB5D5AA09FF6A2515AB4A</iv>
+			<input>63CD1CC241B267791DDC1158D9925CC9</input>
+			<output>B1B0AED275FCE241B5726E943B37C130</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 160</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>53CBA419E5CED1C8D71F557CB21F0893E8478668CFEBD0AD</key>
+			<iv>B1B0AED275FCE241B5726E943B37C130</iv>
+			<input>85F4E06A05C8704A775D37041931FFB9</input>
+			<output>B0DFD3EF3AF538791E69AF59CAA7B8CC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 161</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>DFB0E5440EB582F667C0869388EA30EAF62E2931054C6861</key>
+			<iv>B0DFD3EF3AF538791E69AF59CAA7B8CC</iv>
+			<input>B7BDA6C504797C8B8C7B415DEB7B533E</input>
+			<output>220F810B0D5A9ED8794932D0BF6150D6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 162</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B26A70894070BC9B45CF079885B0AE328F671BE1BA2D38B7</key>
+			<iv>220F810B0D5A9ED8794932D0BF6150D6</iv>
+			<input>0113567BFAC19EB86DDA95CD4EC53E6D</input>
+			<output>56C77682CA1A041B312061F3FB9A1A59</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 163</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>36EDA74B7133D5871308711A4FAAAA29BE477A1241B722EE</key>
+			<iv>56C77682CA1A041B312061F3FB9A1A59</iv>
+			<input>4D39AD87258968FA8487D7C23143691C</input>
+			<output>4F18208E63B2D84CC7A0707617DD7B63</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 164</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F7589312CE997AFE5C1051942C18726579E70A64566A598D</key>
+			<iv>4F18208E63B2D84CC7A0707617DD7B63</iv>
+			<input>1B82F5C849E0F965C1B53459BFAAAF79</input>
+			<output>85CE0310DEFB36474B38C4347D7EEE8B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 165</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F770FC7B1E183E31D9DE5284F2E3442232DFCE502B14B706</key>
+			<iv>85CE0310DEFB36474B38C4347D7EEE8B</iv>
+			<input>7B56EBC47E780FB000286F69D08144CF</input>
+			<output>CB5AE674DB1426618F577BBD63309EA4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 166</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>79AD3040CCC9FD521284B4F029F76243BD88B5ED482429A2</key>
+			<iv>CB5AE674DB1426618F577BBD63309EA4</iv>
+			<input>47A5B213BC3DF61B8EDDCC3BD2D1C363</input>
+			<output>1E26AB2D8B156913995FCAC1ABD99D68</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 167</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>10BB9597F823B61F0CA21FDDA2E20B5024D77F2CE3FDB4CA</key>
+			<iv>1E26AB2D8B156913995FCAC1ABD99D68</iv>
+			<input>D31FC11C9FD6E7F86916A5D734EA4B4D</input>
+			<output>84E0E24F155E5EFCA9AE9C5F2F26BD25</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 168</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E1264A2AD33800FF8842FD92B7BC55AC8D79E373CCDB09EF</key>
+			<iv>84E0E24F155E5EFCA9AE9C5F2F26BD25</iv>
+			<input>F77FE11AE4BEB403F19DDFBD2B1BB6E0</input>
+			<output>B41973B0D807A43A822EB57555B818D4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 169</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A19ABDD25ED272693C5B8E226FBBF1960F5756069963113B</key>
+			<iv>B41973B0D807A43A822EB57555B818D4</iv>
+			<input>FECAAA8EA9C1883640BCF7F88DEA7296</input>
+			<output>949634E68FB9086AE623EAF5E867D4A5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 170</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>DD904ECCC94F64D0A8CDBAC4E002F9FCE974BCF37104C59E</key>
+			<iv>949634E68FB9086AE623EAF5E867D4A5</iv>
+			<input>E8A413C2ADB97D387C0AF31E979D16B9</input>
+			<output>96BE2B618F8A961E5DC892F429A8B6FC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 171</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>1B83C20396D7D0D33E7391A56F886FE2B4BC2E0758AC7362</key>
+			<iv>96BE2B618F8A961E5DC892F429A8B6FC</iv>
+			<input>1408434BF0C3432BC6138CCF5F98B403</input>
+			<output>C0A9596F56E48F459D2C405F47DCA44C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 172</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B04C71DBEA60DB15FEDAC8CA396CE0A729906E581F70D72E</key>
+			<iv>C0A9596F56E48F459D2C405F47DCA44C</iv>
+			<input>5E7F070C7EE8A852ABCFB3D87CB70BC6</input>
+			<output>A4739C93911C72C959E89544500843BD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 173</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>9BFC8026BC1D965B5AA95459A870926E7078FB1C4F789493</key>
+			<iv>A4739C93911C72C959E89544500843BD</iv>
+			<input>718C23D1F537A6E72BB0F1FD567D4D4E</input>
+			<output>4D581200B1E446CC3AD306138BF2898B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 174</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>FEA9DF8F4FECB3ED17F146591994D4A24AABFD0FC48A1D18</key>
+			<iv>4D581200B1E446CC3AD306138BF2898B</iv>
+			<input>E4DD231D871795E065555FA9F3F125B6</input>
+			<output>E53EFC19D8048073167B1473C5EBA6D9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 175</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>62DF036D6F96D937F2CFBA40C19054D15CD0E97C0161BBC1</key>
+			<iv>E53EFC19D8048073167B1473C5EBA6D9</iv>
+			<input>9AB809114F10C3FD9C76DCE2207A6ADA</input>
+			<output>BDB0C3D9732DE5813C4C72CF01FF5194</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 176</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>CFEF04F0343587004F7F7999B2BDB150609C9BB3009EEA55</key>
+			<iv>BDB0C3D9732DE5813C4C72CF01FF5194</iv>
+			<input>B4CFE094F8B4EEE5AD30079D5BA35E37</input>
+			<output>D00B5B980D8B10DF3D7D4C0BE5975C1C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 177</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>CBF2C475C11FA6B89F742201BF36A18F5DE1D7B8E509B649</key>
+			<iv>D00B5B980D8B10DF3D7D4C0BE5975C1C</iv>
+			<input>34B39728291953DC041DC085F52A21B8</input>
+			<output>ADF5CDFDCC23AD8AD111454B2DB69013</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 178</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C96820A08056F7C23281EFFC73150C058CF092F3C8BF265A</key>
+			<iv>ADF5CDFDCC23AD8AD111454B2DB69013</iv>
+			<input>4C8152CCAA0A23AC029AE4D54149517A</input>
+			<output>F070979F68BAEBBD6CE8CE8A549C0E12</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 179</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>61A6BBDB58B4C9D4C2F178631BAFE7B8E0185C799C232848</key>
+			<iv>F070979F68BAEBBD6CE8CE8A549C0E12</iv>
+			<input>0B6AF20EF8550A1BA8CE9B7BD8E23E16</input>
+			<output>8A75D276384A4F468B459466A304D418</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 180</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D3EC560DE8B1BBEE4884AA1523E5A8FE6B5DC81F3F27FC50</key>
+			<iv>8A75D276384A4F468B459466A304D418</iv>
+			<input>259A18BABFD09145B24AEDD6B005723A</input>
+			<output>B7C04F66EB771CBD97F948098E23C655</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 181</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>16FE806749FDDF8CFF44E573C892B443FCA48016B1043A05</key>
+			<iv>B7C04F66EB771CBD97F948098E23C655</iv>
+			<input>E00B5E4B3D9E64D0C512D66AA14C6462</input>
+			<output>29FB08289BD19BCC0FEB0F433D5CACEE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 182</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>9CC345922C8912D5D6BFED5B53432F8FF34F8F558C5896EB</key>
+			<iv>29FB08289BD19BCC0FEB0F433D5CACEE</iv>
+			<input>07BAA266554EAE0C8A3DC5F56574CD59</input>
+			<output>495C245E2F3CC52499B9C1AD7C4484BA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 183</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>7DDDCF7DE759FDEC9FE3C9057C7FEAAB6AF64EF8F01C1251</key>
+			<iv>495C245E2F3CC52499B9C1AD7C4484BA</iv>
+			<input>2E5360D5563EB7D4E11E8AEFCBD0EF39</input>
+			<output>68267051421D3AFA19A2E43D501B940B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 184</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4BA2EAD4106DD4B7F7C5B9543E62D0517354AAC5A007865A</key>
+			<iv>68267051421D3AFA19A2E43D501B940B</iv>
+			<input>050EBC6942F92D95367F25A9F734295B</input>
+			<output>1781558A2A8B7C29AC82D6610B67E3CF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 185</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>CFCCD4ECD20E051CE044ECDE14E9AC78DFD67CA4AB606595</key>
+			<iv>1781558A2A8B7C29AC82D6610B67E3CF</iv>
+			<input>1AC90B21EB197E26846E3E38C263D1AB</input>
+			<output>BF5FE87A2E882A64493850EC3A0E93A5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 186</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C9EA5F992C77DD9C5F1B04A43A61861C96EE2C48916EF630</key>
+			<iv>BF5FE87A2E882A64493850EC3A0E93A5</iv>
+			<input>58F997704D085DC506268B75FE79D880</input>
+			<output>8F43A961964E3452094E8E71295177CD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 187</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>1136648F9E0A53C3D058ADC5AC2FB24E9FA0A239B83F81FD</key>
+			<iv>8F43A961964E3452094E8E71295177CD</iv>
+			<input>086041AB29E423EFD8DC3B16B27D8E5F</input>
+			<output>BF69230BAB6200B7828DC04A13B88E83</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 188</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>47040E2D6DFBE3006F318ECE074DB2F91D2D6273AB870F7E</key>
+			<iv>BF69230BAB6200B7828DC04A13B88E83</iv>
+			<input>57865A8650D3202056326AA2F3F1B0C3</input>
+			<output>A012FAEE65E2C4F0AC22CB63AB75E35D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 189</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>868F8310E79C0473CF23742062AF7609B10FA91000F2EC23</key>
+			<iv>A012FAEE65E2C4F0AC22CB63AB75E35D</iv>
+			<input>F3ABB47DAE94B82EC18B8D3D8A67E773</input>
+			<output>F35BBD3C516F86384DA3BB6B5CCC8B37</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 190</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5C71ADCE480714DA3C78C91C33C0F031FCAC127B5C3E6714</key>
+			<iv>F35BBD3C516F86384DA3BB6B5CCC8B37</iv>
+			<input>CDB3E57FA6DDFF9FDAFE2EDEAF9B10A9</input>
+			<output>627A15E65B37C2B9575E8A781271AE64</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 191</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B603092BC5FD004F5E02DCFA68F73288ABF298034E4FC970</key>
+			<iv>627A15E65B37C2B9575E8A781271AE64</iv>
+			<input>7E04F9A0F723DF00EA72A4E58DFA1495</input>
+			<output>15427D27E783A5476345C83F3E8A3319</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 192</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4DB5A9F825C5E8C24B40A1DD8F7497CFC8B7503C70C5FA69</key>
+			<iv>15427D27E783A5476345C83F3E8A3319</iv>
+			<input>842B94BE25E8747BFBB6A0D3E038E88D</input>
+			<output>35812AFD1A90B0B7D52B45EAD9CAF083</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 193</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D4F2CCC0734F9ACD7EC18B2095E427781D9C15D6A90F0AEA</key>
+			<iv>35812AFD1A90B0B7D52B45EAD9CAF083</iv>
+			<input>3FAB7D4C741B8CD499476538568A720F</input>
+			<output>C1A59CD3D9E6650F0D16947D26BFC20D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 194</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>CB28A8313E133469BF6417F34C024277108A81AB8FB0C8E7</key>
+			<iv>C1A59CD3D9E6650F0D16947D26BFC20D</iv>
+			<input>37AC888DCE5CDFD31FDA64F14D5CAEA4</input>
+			<output>CB0313E9A046711866CA65702A45CDB6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 195</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C5BFEB8246ABAF467467041AEC44336F7640E4DBA5F50551</key>
+			<iv>CB0313E9A046711866CA65702A45CDB6</iv>
+			<input>326C9E3EB49138ED0E9743B378B89B2F</input>
+			<output>ACE8FC6C6ABBC8124FE35C7976585DF6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 196</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>110891F8FDF0F254D88FF87686FFFB7D39A3B8A2D3AD58A7</key>
+			<iv>ACE8FC6C6ABBC8124FE35C7976585DF6</iv>
+			<input>964239EB84C57F61D4B77A7ABB5B5D12</input>
+			<output>0762EF13B80A8B77D04AF797B67D5AA6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 197</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>EFF558976586AC91DFED17653EF5700AE9E94F3565D00201</key>
+			<iv>0762EF13B80A8B77D04AF797B67D5AA6</iv>
+			<input>5ECA17ADFE3C2C21FEFDC96F98765EC5</input>
+			<output>B60CC9CD9DE93E2A6FB0B59369B1628E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 198</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4494A36EABE3555E69E1DEA8A31C4E208659FAA60C61608F</key>
+			<iv>B60CC9CD9DE93E2A6FB0B59369B1628E</iv>
+			<input>7A659E803888296BAB61FBF9CE65F9CF</input>
+			<output>73258A43C7DA66FFE4DC9384FC7A60C1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 199</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>1780249B48B8F7561AC454EB64C628DF62856922F01B004E</key>
+			<iv>73258A43C7DA66FFE4DC9384FC7A60C1</iv>
+			<input>8D9C3DCF612320B4531487F5E35BA208</input>
+			<output>F0F5D51C06F2D900CC4BE8D3512CA4B6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 200</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>9FF03D1E23BD9959EA3181F76234F1DFAECE81F1A137A4F8</key>
+			<iv>F0F5D51C06F2D900CC4BE8D3512CA4B6</iv>
+			<input>F002AEC878B80A0B887019856B056E0F</input>
+			<output>E1321C52A51D9345296A0EF2A9DC9CC5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 201</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>6042967162EDA50B0B039DA5C729629A87A48F0308EB383D</key>
+			<iv>E1321C52A51D9345296A0EF2A9DC9CC5</iv>
+			<input>C5EA4A519D9BAF8FFFB2AB6F41503C52</input>
+			<output>ED79D8FC9C60B583E29D0A65A6A5F321</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 202</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>250C416206B9D0A9E67A45595B49D71965398566AE4ECB1C</key>
+			<iv>ED79D8FC9C60B583E29D0A65A6A5F321</iv>
+			<input>34D771B44B3943DE454ED713645475A2</input>
+			<output>7A08F9096109535C262407EB323EF7BC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 203</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>6357BC1B7B12F1C09C72BC503A408445431D828D9C703CA0</key>
+			<iv>7A08F9096109535C262407EB323EF7BC</iv>
+			<input>60A1EEAE2B16841A465BFD797DAB2169</input>
+			<output>24C7F1A39F8B2F03C256F5C59B69C31A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 204</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>18BF29D147A9675BB8B54DF3A5CBAB46814B77480719FFBA</key>
+			<iv>24C7F1A39F8B2F03C256F5C59B69C31A</iv>
+			<input>BFD7B314F959298B7BE895CA3CBB969B</input>
+			<output>7DDA5DF3CC7C69AA490FB597888396B2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 205</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E8B13C48FBABCD19C56F100069B7C2ECC844C2DF8F9A6908</key>
+			<iv>7DDA5DF3CC7C69AA490FB597888396B2</iv>
+			<input>23F8A60BD2354901F00E1599BC02AA42</input>
+			<output>04CEB4BE252293A822C77B9C4C27822B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 206</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>BF275C4D9FC54BC0C1A1A4BE4C955144EA83B943C3BDEB23</key>
+			<iv>04CEB4BE252293A822C77B9C4C27822B</iv>
+			<input>2182C0577EAA3C2A57966005646E86D9</input>
+			<output>0F24034642E351984620BB2647F5D649</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 207</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>40B459144A6415C2CE85A7F80E7600DCACA3026584483D6A</key>
+			<iv>0F24034642E351984620BB2647F5D649</iv>
+			<input>F59318D1D3D9A9E0FF930559D5A15E02</input>
+			<output>DB98808C46668D79AB059C5554CEEB1A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 208</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D5A01AB42D709E6A151D277448108DA507A69E30D086D670</key>
+			<iv>DB98808C46668D79AB059C5554CEEB1A</iv>
+			<input>49CF142E621D1A8D951443A067148BA8</input>
+			<output>15C32FE5E9BCA5F8D09EA2E4D145FE3D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 209</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8191AB3C11B4B72700DE0891A1AC285DD7383CD401C3284D</key>
+			<iv>15C32FE5E9BCA5F8D09EA2E4D145FE3D</iv>
+			<input>5C1E9B721987B8BF5431B1883CC4294D</input>
+			<output>AA7CA217D0514CA4F20C50293121E8D8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 210</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>69D24875B8A5B5D1AAA2AA8671FD64F925346CFD30E2C095</key>
+			<iv>AA7CA217D0514CA4F20C50293121E8D8</iv>
+			<input>8239553D8FB88E17E843E349A91102F6</input>
+			<output>C4068B901CB07904F843BF6F3CDC4FF8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 211</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>12BAE3B5B2C03E746EA421166D4D1DFDDD77D3920C3E8F6D</key>
+			<iv>C4068B901CB07904F843BF6F3CDC4FF8</iv>
+			<input>80D797C671D3BFF67B68ABC00A658BA5</input>
+			<output>9F835417C4D622DB52651897DC23E1C3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 212</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>1A0CFD7FA1284652F1277501A99B3F268F12CB05D01D6EAE</key>
+			<iv>9F835417C4D622DB52651897DC23E1C3</iv>
+			<input>C36513D78FBBFDCC08B61ECA13E87826</input>
+			<output>0156C998E85BE92F0EF998442204EB19</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 213</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>7829D1FE113103B0F071BC9941C0D60981EB5341F21985B7</key>
+			<iv>0156C998E85BE92F0EF998442204EB19</iv>
+			<input>000894F1AF39A67562252C81B01945E2</input>
+			<output>6A554057C0A3EB723B693258BC5E899D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 214</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D719D37FC9087D2F9A24FCCE81633D7BBA8261194E470C2A</key>
+			<iv>6A554057C0A3EB723B693258BC5E899D</iv>
+			<input>B92413276BF142D0AF300281D8397E9F</input>
+			<output>395F80E405813D97576954A23C77C2CA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 215</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>39E173517A321A5AA37B7C2A84E200ECEDEB35BB7230CEE0</key>
+			<iv>395F80E405813D97576954A23C77C2CA</iv>
+			<input>AA95F2BD255DBE23EEF8A02EB33A6775</input>
+			<output>1B1BC5D3DABD536E91177EF1BF2B7E39</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 216</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>EE1FB67D907C597BB860B9F95E5F53827CFC4B4ACD1BB0D9</key>
+			<iv>1B1BC5D3DABD536E91177EF1BF2B7E39</iv>
+			<input>985E81E0BF5FF6EFD7FEC52CEA4E4321</input>
+			<output>20F42326749CC7CCD54188DEA46F4EC1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 217</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>41D333EC5E537B8098949ADF2AC3944EA9BDC3946974FE18</key>
+			<iv>20F42326749CC7CCD54188DEA46F4EC1</iv>
+			<input>901FD7D22F220608AFCC8591CE2F22FB</input>
+			<output>AFFC6F2668097B58A0CFF619A3FDD1CB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 218</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F6E392EF75572C6A3768F5F942CAEF160972358DCA892FD3</key>
+			<iv>AFFC6F2668097B58A0CFF619A3FDD1CB</iv>
+			<input>45AEB51360C50AB1B730A1032B0457EA</input>
+			<output>1B75CF440CE8521069599B7889F21C1D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 219</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>47C82CF46472D3732C1D3ABD4E22BD06602BAEF5437B33CE</key>
+			<iv>1B75CF440CE8521069599B7889F21C1D</iv>
+			<input>7E931056CC33D22CB12BBE1B1125FF19</input>
+			<output>F6079ADBAA8D28F371F0156B170FB7BD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 220</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>DDA62A9922B04902DA1AA066E4AF95F511DBBB9E54748473</key>
+			<iv>F6079ADBAA8D28F371F0156B170FB7BD</iv>
+			<input>2BE3DA337C9187109A6E066D46C29A71</input>
+			<output>7D2FC16B26971DDC20C6F7510C47B352</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 221</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>570C8CA5236A2E65A735610DC2388829311D4CCF58333721</key>
+			<iv>7D2FC16B26971DDC20C6F7510C47B352</iv>
+			<input>43596064590570F88AAAA63C01DA6767</input>
+			<output>5FBA845FB25FE6AE015E4E8A228ED645</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 222</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>6CEA158ED663A4B7F88FE55270676E87304302457ABDE164</key>
+			<iv>5FBA845FB25FE6AE015E4E8A228ED645</iv>
+			<input>1E265F0AA9A20C603BE6992BF5098AD2</input>
+			<output>A729E250D736A43966DD0D9C461ECEC0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 223</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>AACCE3387C0DF35D5FA60702A751CABE569E0FD93CA32FA4</key>
+			<iv>A729E250D736A43966DD0D9C461ECEC0</iv>
+			<input>B08AAE113CCE6226C626F6B6AA6E57EA</input>
+			<output>A8192E964A74A6ABDB463ECFA483A1E3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 224</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>207F19ABDA13F728F7BF2994ED256C158DD8311698208E47</key>
+			<iv>A8192E964A74A6ABDB463ECFA483A1E3</iv>
+			<input>858CF92E6B1793448AB3FA93A61E0475</input>
+			<output>060C7CCCD58E6348518161C7878AA71B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 225</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>AB05AD81CF07091AF1B3555838AB0F5DDC5950D11FAA295C</key>
+			<iv>060C7CCCD58E6348518161C7878AA71B</iv>
+			<input>424D175035503C728B7AB42A1514FE32</input>
+			<output>8ECAA12830B0C5B4C6950E69AFD31B66</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 226</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3A8E1CC01464AF9B7F79F470081BCAE91ACC5EB8B079323A</key>
+			<iv>8ECAA12830B0C5B4C6950E69AFD31B66</iv>
+			<input>6E5A94391F1FE5A9918BB141DB63A681</input>
+			<output>65C3A891192324A7FA3C882B2C09CB8D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 227</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8004AB13CF38B3ED1ABA5CE11138EE4EE0F0D6939C70F9B7</key>
+			<iv>65C3A891192324A7FA3C882B2C09CB8D</iv>
+			<input>584E219335CA4642BA8AB7D3DB5C1C76</input>
+			<output>F29F8735A403414621F2100AF38A500C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 228</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D37BB962CFC53E77E825DBD4B53BAF08C102C6996FFAA9BB</key>
+			<iv>F29F8735A403414621F2100AF38A500C</iv>
+			<input>CCB996C23C627D4D537F127100FD8D9A</input>
+			<output>9C6A7655E25E9231E46C0D3B57C7FCAB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 229</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C23B3C983C79179A744FAD8157653D39256ECBA2383D5510</key>
+			<iv>9C6A7655E25E9231E46C0D3B57C7FCAB</iv>
+			<input>5D727E12D3932F56114085FAF3BC29ED</input>
+			<output>6C5AA7364755AF599AB6F86EC8B24C52</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 230</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4462CD1DD817170C18150AB710309260BFD833CCF08F1942</key>
+			<iv>6C5AA7364755AF599AB6F86EC8B24C52</iv>
+			<input>D7A99C8F3BC37AD08659F185E46E0096</input>
+			<output>821D7EAC8FD041C0C8CF1011661FBB9E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 231</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>1BA52BEF2B010D169A08741B9FE0D3A0771723DD9690A2DC</key>
+			<iv>821D7EAC8FD041C0C8CF1011661FBB9E</iv>
+			<input>704F3525510FCC745FC7E6F2F3161A1A</input>
+			<output>44591D71D64FC38010E402874853E9BC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 232</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C6A6818229CC65E6DE51696A49AF102067F3215ADEC34B60</key>
+			<iv>44591D71D64FC38010E402874853E9BC</iv>
+			<input>5D5769AE155C9F43DD03AA6D02CD68F0</input>
+			<output>E5647FF6C843543E484FC13B58A345B9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 233</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>41F27DD5905B299C3B35169C81EC441E2FBCE06186600ED9</key>
+			<iv>E5647FF6C843543E484FC13B58A345B9</iv>
+			<input>ADF29030DFDFCCEE8754FC57B9974C7A</input>
+			<output>E6EA42E2F046D3ED75081A50770563D1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 234</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3A8018855EDC80D2DDDF547E71AA97F35AB4FA31F1656D08</key>
+			<iv>E6EA42E2F046D3ED75081A50770563D1</iv>
+			<input>096F74717D5583477B726550CE87A94E</input>
+			<output>D75682FE37396887659E87895F1C6441</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 235</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>6C94C2634142DA310A89D6804693FF743F2A7DB8AE790949</key>
+			<iv>D75682FE37396887659E87895F1C6441</iv>
+			<input>F1B527DD4935FBDE5614DAE61F9E5AE3</input>
+			<output>15755CFE84E113AA751E4D5BB098ABC7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 236</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4BA407D7C6426C641FFC8A7EC272ECDE4A3430E31EE1A28E</key>
+			<iv>15755CFE84E113AA751E4D5BB098ABC7</iv>
+			<input>7C4433DCC314DBD72730C5B48700B655</input>
+			<output>B048F209CE1B1FAEC33392D2D8F326A1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 237</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A56FD7BCEEA55474AFB478770C69F3708907A231C612842F</key>
+			<iv>B048F209CE1B1FAEC33392D2D8F326A1</iv>
+			<input>D40C7CD8D80C8C6CEECBD06B28E73810</input>
+			<output>8E1F4830F94004C286C39D0EC014A963</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 238</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0730B7B664CFD1E321AB3047F529F7B20FC43F3F06062D4C</key>
+			<iv>8E1F4830F94004C286C39D0EC014A963</iv>
+			<input>B16772FE8C8A573FA25F600A8A6A8597</input>
+			<output>3FB92771D2BE2D33C40AB0409998B229</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 239</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0A08E43B13C57EB41E1217362797DA81CBCE8F7F9F9E9F65</key>
+			<iv>3FB92771D2BE2D33C40AB0409998B229</iv>
+			<input>D4883476825EA2D30D38538D770AAF57</input>
+			<output>190106DE79836016C57A16BBBA6893D2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 240</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>195B7E1B67872B0D071311E85E14BA970EB499C425F60CB7</key>
+			<iv>190106DE79836016C57A16BBBA6893D2</iv>
+			<input>3B8F4F140FDFFB6B13539A20744255B9</input>
+			<output>C06398537B4F534203D57184543E6516</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 241</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>BE0C4A8A9B581D16C77089BB255BE9D50D61E84071C869A1</key>
+			<iv>C06398537B4F534203D57184543E6516</iv>
+			<input>E50D127AE258061DA7573491FCDF361B</input>
+			<output>FF615CCC9F2D3DBB3074C835ECE4224E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 242</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>662A224DAB1233C83811D577BA76D46E3D1520759D2C4BEF</key>
+			<iv>FF615CCC9F2D3DBB3074C835ECE4224E</iv>
+			<input>347C976D20470968D82668C7304A2EDE</input>
+			<output>B5FB1BCCBC838B87FDB10FEFE6CDC45B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 243</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F4F3B47D9CC8BA798DEACEBB06F55FE9C0A42F9A7BE18FB4</key>
+			<iv>B5FB1BCCBC838B87FDB10FEFE6CDC45B</iv>
+			<input>BC276D1002C5DD8292D9963037DA89B1</input>
+			<output>151F88A44A76568FAC756011B827778D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 244</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>7EA3C03193B737DE98F5461F4C8309666CD14F8BC3C6F839</key>
+			<iv>151F88A44A76568FAC756011B827778D</iv>
+			<input>BCD9054596EE644E8A50744C0F7F8DA7</input>
+			<output>C1B0B6FDD717881442496794A2C890F2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 245</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C4D94D5C4169EE4B5945F0E29B9481722E98281F610E68CB</key>
+			<iv>C1B0B6FDD717881442496794A2C890F2</iv>
+			<input>3D7F68D3014F3BEDBA7A8D6DD2DED995</input>
+			<output>181100A04881DCF9813E4A22C6C1BB3B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 246</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A9A9483D9FC46DD34154F042D3155D8BAFA6623DA7CFD3F0</key>
+			<iv>181100A04881DCF9813E4A22C6C1BB3B</iv>
+			<input>0FE2E2A97DFFB4966D700561DEAD8398</input>
+			<output>AA4BEC4007C38C7B86B6F9EED33E5EB1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 247</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5F08A3C09F4AE90BEB1F1C02D4D6D1F029109BD374F18D41</key>
+			<iv>AA4BEC4007C38C7B86B6F9EED33E5EB1</iv>
+			<input>C2392264CE43C57AF6A1EBFD008E84D8</input>
+			<output>A0756CCDA72462CD89DF9990C0FE6676</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 248</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>6A1A4F2D25DFC9F94B6A70CF73F2B33DA0CF0243B40FEB37</key>
+			<iv>A0756CCDA72462CD89DF9990C0FE6676</iv>
+			<input>A6650A3432CCA74A3512ECEDBA9520F2</input>
+			<output>F5044AECC6F35C99FCDBA26DD15E1474</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 249</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B475174A46D0CDC2BE6E3A23B501EFA45C14A02E6551FF43</key>
+			<iv>F5044AECC6F35C99FCDBA26DD15E1474</iv>
+			<input>07967DE17DEB720CDE6F5867630F043B</input>
+			<output>60645B559E7321D7FA8A3F925CFC0FA4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 250</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8DBB9D8A4A2E7E61DE0A61762B72CE73A69E9FBC39ADF0E7</key>
+			<iv>60645B559E7321D7FA8A3F925CFC0FA4</iv>
+			<input>D8D3FD2077545DD039CE8AC00CFEB3A3</input>
+			<output>C4C6FD53A2572D643AA631FB85B84D0B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 251</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>97D34E4B3B9E081A1ACC9C258925E3179C38AE47BC15BDEC</key>
+			<iv>C4C6FD53A2572D643AA631FB85B84D0B</iv>
+			<input>F31D8F3C8AC67E081A68D3C171B0767B</input>
+			<output>E1A0E460E2D1483FE954F26F45CCE7A0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 252</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5372C72A4ABF72D9FB6C78456BF4AB28756C5C28F9D95A4C</key>
+			<iv>E1A0E460E2D1483FE954F26F45CCE7A0</iv>
+			<input>422C5429CE7BD811C4A1896171217AC3</input>
+			<output>2695923CFB2141F05A0F144FF021BD36</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 253</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A8CA6DB8A8758322DDF9EA7990D5EAD82F63486709F8E77A</key>
+			<iv>2695923CFB2141F05A0F144FF021BD36</iv>
+			<input>780771C65FCB907BFBB8AA92E2CAF1FB</input>
+			<output>A9820B527F71E95CC1F53033149FB26F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 254</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>62ABF1F4178F3C73747BE12BEFA40384EE9678541D675515</key>
+			<iv>A9820B527F71E95CC1F53033149FB26F</iv>
+			<input>CCC14BD8DF1CA8A4CA619C4CBFFABF51</input>
+			<output>2BAD4E8CD7D6420D36DC2F8E77DCA072</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 255</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C79B767D31D9F0FC5FD6AFA738724189D84A57DA6ABBF567</key>
+			<iv>2BAD4E8CD7D6420D36DC2F8E77DCA072</iv>
+			<input>1EFF63C71B10DCC7A53087892656CC8F</input>
+			<output>C21303AAB04E2CAF1893396DD405B265</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 256</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>1F3C7FF71340DEEC9DC5AC0D883C6D26C0D96EB7BEBE4702</key>
+			<iv>C21303AAB04E2CAF1893396DD405B265</iv>
+			<input>209270B7768E5553D8A7098A22992E10</input>
+			<output>B220025B5307C9D5D1EEB4B427E7263F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 257</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>867CB381E6D532B32FE5AE56DB3BA4F31137DA039959613D</key>
+			<iv>B220025B5307C9D5D1EEB4B427E7263F</iv>
+			<input>8546A6C9B4CEF0229940CC76F595EC5F</input>
+			<output>B925C660EBE409050DA369E58C601F4D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 258</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>33B33F93622E509296C0683630DFADF61C94B3E615397E70</key>
+			<iv>B925C660EBE409050DA369E58C601F4D</iv>
+			<input>1F4930242C2951C4B5CF8C1284FB6221</input>
+			<output>67DA7B4BEAB2152D21C54F389F9282D4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 259</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E8EC3394AF44DD34F11A137DDA6DB8DB3D51FCDE8AABFCA4</key>
+			<iv>67DA7B4BEAB2152D21C54F389F9282D4</iv>
+			<input>41611AE93BE61306DB5F0C07CD6A8DA6</input>
+			<output>4C116D3ED0B021129CCD1764D132A72D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 260</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>92F61F4CB5794268BD0B7E430ADD99C9A19CEBBA5B995B89</key>
+			<iv>4C116D3ED0B021129CCD1764D132A72D</iv>
+			<input>E7B1E63FBD5B4CA77A1A2CD81A3D9F5C</input>
+			<output>FE1C3096C14AF2A4DC840207BFFFC0AF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 261</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>08DC826B4DDBAC4D43174ED5CB976B6D7D18E9BDE4669B26</key>
+			<iv>FE1C3096C14AF2A4DC840207BFFFC0AF</iv>
+			<input>9A0D034B1931FD599A2A9D27F8A2EE25</input>
+			<output>ED500812A10CC6C4EED0836871F85AA9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 262</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>486EBC43A876FF2AAE4746C76A9BADA993C86AD5959EC18F</key>
+			<iv>ED500812A10CC6C4EED0836871F85AA9</iv>
+			<input>8237641B58069AFD40B23E28E5AD5367</input>
+			<output>0AD90C1C13E7C1318057A417C0B9B97C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 263</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F340D2CAC4645595A49E4ADB797C6C98139FCEC2552778F3</key>
+			<iv>0AD90C1C13E7C1318057A417C0B9B97C</iv>
+			<input>905119E1F11E4B04BB2E6E896C12AABF</input>
+			<output>B260FFA5806A4A6D8845FA6146A565ED</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 264</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>DF326741BD1EE2FF16FEB57EF91626F59BDA34A313821D1E</key>
+			<iv>B260FFA5806A4A6D8845FA6146A565ED</iv>
+			<input>4F639233904531162C72B58B797AB76A</input>
+			<output>2D27A1A3968E30EBCA463C8709D0FD83</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 265</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D4C684692E05983C3BD914DD6F98161E519C08241A52E09D</key>
+			<iv>2D27A1A3968E30EBCA463C8709D0FD83</iv>
+			<input>428B700FB3CD18790BF4E328931B7AC3</input>
+			<output>D350CCF3B440006C9F18E99DD5B69920</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 266</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>9DD5275FFDCD5D2DE889D82EDBD81672CE84E1B9CFE479BD</key>
+			<iv>D350CCF3B440006C9F18E99DD5B69920</iv>
+			<input>97F4A6256A9E22FB4913A336D3C8C511</input>
+			<output>F5A0571EB7E4719B862EBC47141EA319</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 267</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0A3B329A4973D7A21D298F306C3C67E948AA5DFEDBFADAA4</key>
+			<iv>F5A0571EB7E4719B862EBC47141EA319</iv>
+			<input>E355F7EBA4DAC16B97EE15C5B4BE8A8F</input>
+			<output>4F18730073D3E78CAD356441F1317B2D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 268</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3BB3A19EF4EB8A755231FC301FEF8065E59F39BF2ACBA189</key>
+			<iv>4F18730073D3E78CAD356441F1317B2D</iv>
+			<input>A20B3B6C41E88E9D31889304BD985DD7</input>
+			<output>AEAECB17B9009AAF1E4E9CC02653194B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 269</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4B9DDD2F821CE4D1FC9F3727A6EF1ACAFBD1A57F0C98B8C2</key>
+			<iv>AEAECB17B9009AAF1E4E9CC02653194B</iv>
+			<input>5D2E4A96F9BB4AD4702E7CB176F76EA4</input>
+			<output>26851709960A42D5711EBDC7D40535FC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 270</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D7273499C5BA2842DA1A202E30E5581F8ACF18B8D89D8D3E</key>
+			<iv>26851709960A42D5711EBDC7D40535FC</iv>
+			<input>202534EA0A1952A19CBAE9B647A6CC93</input>
+			<output>FF8BFFB98EDA7E54664AE879551B5497</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 271</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>7870FF6B66070AB02591DF97BE3F264BEC85F0C18D86D9A9</key>
+			<iv>FF8BFFB98EDA7E54664AE879551B5497</iv>
+			<input>365CFE282B9508CFAF57CBF2A3BD22F2</input>
+			<output>D0809C84A97221E6F8DCB483B38EC7E1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 272</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F4E6DFDF4A081200F5114313174D07AD145944423E081E48</key>
+			<iv>D0809C84A97221E6F8DCB483B38EC7E1</iv>
+			<input>915323F59134AB838C9620B42C0F18B0</input>
+			<output>DC8A24B8DECF81E0412DBF10127119EC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 273</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>336A7C81A4BE3FE9299B67ABC982864D5574FB522C7907A4</key>
+			<iv>DC8A24B8DECF81E0412DBF10127119EC</iv>
+			<input>0FC4387E49F666B8C78CA35EEEB62DE9</input>
+			<output>84E370DF6CA478BA85FC0874393CE442</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 274</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F8ADC39E17CDDEB0AD781774A526FEF7D088F3261545E3E6</key>
+			<iv>84E370DF6CA478BA85FC0874393CE442</iv>
+			<input>34BFEFD3E43D8EE0CBC7BF1FB373E159</input>
+			<output>2C109A8363D1D0FB69CA77ABFA922F05</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 275</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>2B26D271208BD64F81688DF7C6F72E0CB942848DEFD7CCE3</key>
+			<iv>2C109A8363D1D0FB69CA77ABFA922F05</iv>
+			<input>D28D86D5199E7E30D38B11EF374608FF</input>
+			<output>F1749EFE66D339BC99AE4D9F63C90490</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 276</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>ACB8D3E6F5A45F0C701C1309A02417B020ECC9128C1EC873</key>
+			<iv>F1749EFE66D339BC99AE4D9F63C90490</iv>
+			<input>2ADAFA1911C5E9BD879E0197D52F8943</input>
+			<output>3B2A7C4278E1F071BFA29A6B0BFF4A15</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 277</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>CCEE75264DD770C44B366F4BD8C5E7C19F4E537987E18266</key>
+			<iv>3B2A7C4278E1F071BFA29A6B0BFF4A15</iv>
+			<input>84E244B62DF08DC76056A6C0B8732FC8</input>
+			<output>A35F83A5EE0B1C3B9DAD76DEAED96D72</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 278</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F8F9239CDB5CC963E869ECEE36CEFBFA02E325A72938EF14</key>
+			<iv>A35F83A5EE0B1C3B9DAD76DEAED96D72</iv>
+			<input>F0B652F296CF162B341756BA968BB9A7</input>
+			<output>D5867FFE2FB75E309D3345611B25E3B0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 279</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>509A10ABA5EAF2963DEF93101979A5CA9FD060C6321D0CA4</key>
+			<iv>D5867FFE2FB75E309D3345611B25E3B0</iv>
+			<input>C47D42AE34131463A86333377EB63BF5</input>
+			<output>6E136F01638AFBE3554218431DF44E7E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 280</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>9B52C39C38F16CCE53FCFC117AF35E29CA9278852FE942DA</key>
+			<iv>6E136F01638AFBE3554218431DF44E7E</iv>
+			<input>78E05783EAEBE1BDCBC8D3379D1B9E58</input>
+			<output>FB6ACD3D0CF805374AD07EF5C038EBF6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 281</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>2044F086923D5E43A896312C760B5B1E80420670EFD1A92C</key>
+			<iv>FB6ACD3D0CF805374AD07EF5C038EBF6</iv>
+			<input>02415B8E4D915492BB16331AAACC328D</input>
+			<output>0086C26DA11540FF5F485D7B238FD98C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 282</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>12CE4C4109606CD7A810F341D71E1BE1DF0A5B0BCC5E70A0</key>
+			<iv>0086C26DA11540FF5F485D7B238FD98C</iv>
+			<input>0A2988237132B0B3328ABCC79B5D3294</input>
+			<output>F2E94C71A2AE0FCB096D8259B931CF8D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 283</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>21BBCDA7FBC5229C5AF9BF3075B0142AD667D952756FBF2D</key>
+			<iv>F2E94C71A2AE0FCB096D8259B931CF8D</iv>
+			<input>4234B6C7F1CE98A3337581E6F2A54E4B</input>
+			<output>3B52E7834263C6790763706943741FD8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 284</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>BB451732881A996161AB58B337D3D253D104A93B361BA0F5</key>
+			<iv>3B52E7834263C6790763706943741FD8</iv>
+			<input>F8509FB57E14501F9AFEDA9573DFBBFD</input>
+			<output>93FCA9F122CB707213D0CD72D8E6BF74</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 285</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>857D076E9A127A84F257F1421518A221C2D46449EEFD1F81</key>
+			<iv>93FCA9F122CB707213D0CD72D8E6BF74</iv>
+			<input>AA4D07DFAD030BE03E38105C1208E3E5</input>
+			<output>50717568D21862AECFAA898337405C96</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 286</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>1BCFD020D63709E0A226842AC700C08F0D7EEDCAD9BD4317</key>
+			<iv>50717568D21862AECFAA898337405C96</iv>
+			<input>7B488D7BBB2D538E9EB2D74E4C257364</input>
+			<output>0338D74260CB6CBB1B220DE7E4CC0BCF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 287</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>CCDDF5D0BBCE202DA11E5368A7CBAC34165CE02D3D7148D8</key>
+			<iv>0338D74260CB6CBB1B220DE7E4CC0BCF</iv>
+			<input>16E01F8B3E94AC26D71225F06DF929CD</input>
+			<output>698AD17BB2F5F06C0465BEE34A7DCEDD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 288</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B7F556BC9BB4DC49C8948213153E5C5812395ECE770C8605</key>
+			<iv>698AD17BB2F5F06C0465BEE34A7DCEDD</iv>
+			<input>3ED0C80AFDEFE8BF7B28A36C207AFC64</input>
+			<output>E20129557F795C2B1CC32A5494824A4B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 289</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4B00D75969C3549C2A95AB466A4700730EFA749AE38ECC4E</key>
+			<iv>E20129557F795C2B1CC32A5494824A4B</iv>
+			<input>20BE0CD6C2244384FCF581E5F27788D5</input>
+			<output>C2F9DD55E91F4796636FEC9745410087</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 290</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5EDCC5155BA684A4E86C7613835847E56D95980DA6CFCCC9</key>
+			<iv>C2F9DD55E91F4796636FEC9745410087</iv>
+			<input>B2DF53DF1139FB9915DC124C3265D038</input>
+			<output>015D51CD3568EB4EC210B58FFA89A409</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 291</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>21BA26AC6880AACDE93127DEB630ACABAF852D825C4668C0</key>
+			<iv>015D51CD3568EB4EC210B58FFA89A409</iv>
+			<input>401094B8B47CBDC87F66E3B933262E69</input>
+			<output>2987D39C19E6997957BDD0CAF010F778</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 292</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>BBA7ABC0A20CCBDEC0B6F442AFD635D2F838FD48AC569FB8</key>
+			<iv>2987D39C19E6997957BDD0CAF010F778</iv>
+			<input>EFC30498827AAD9A9A1D8D6CCA8C6113</input>
+			<output>E01AA987C9520EF8EBF53E97371D056B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 293</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5322D81BAA29410320AC5DC566843B2A13CDC3DF9B4B9AD3</key>
+			<iv>E01AA987C9520EF8EBF53E97371D056B</iv>
+			<input>685D6F660D40105CE88573DB08258ADD</input>
+			<output>D1265ABFCFA75FC65E94983BFF75CD48</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 294</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>19DF73EBF1CEF669F18A077AA92364EC4D595BE4643E579B</key>
+			<iv>D1265ABFCFA75FC65E94983BFF75CD48</iv>
+			<input>DD6E090E9981E5F24AFDABF05BE7B76A</input>
+			<output>605FDD1CA95B8FE1A5E26DBA10241914</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 295</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F7D1D0CA3DAA851891D5DA660078EB0DE8BB365E741A4E8F</key>
+			<iv>605FDD1CA95B8FE1A5E26DBA10241914</iv>
+			<input>9F8442EE8B5A325FEE0EA321CC647371</input>
+			<output>76D67121FDEAEB6B81DBB29565F71E8E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 296</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>FFFF200EA04824E9E703AB47FD920066696084CB11ED5001</key>
+			<iv>76D67121FDEAEB6B81DBB29565F71E8E</iv>
+			<input>5AF386509F0C8BAA082EF0C49DE2A1F1</input>
+			<output>7E1D833DC8D73228B7DFDE918E31E5E7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 297</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>2A7D40B689490FC7991E287A3545324EDEBF5A5A9FDCB5E6</key>
+			<iv>7E1D833DC8D73228B7DFDE918E31E5E7</iv>
+			<input>02AB05F508ACDD21D58260B829012B2E</input>
+			<output>D6CA06D415EA5D750B5D06C252645A43</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 298</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>134154161A39E2CF4FD42EAE20AF6F3BD5E25C98CDB8EFA5</key>
+			<iv>D6CA06D415EA5D750B5D06C252645A43</iv>
+			<input>E63873AE14DD3BA8393C14A09370ED08</input>
+			<output>BFEA32E77BC1607921C54027C01C3EDF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 299</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>AD8AF90935A6B455F03E1C495B6E0F42F4271CBF0DA4D17A</key>
+			<iv>BFEA32E77BC1607921C54027C01C3EDF</iv>
+			<input>BAD47B1FBF949870BECBAD1F2F9F569A</input>
+			<output>A86FFC9A91C79AFE47899B3934F3E05E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 300</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D88A2E828514CEC25851E0D3CAA995BCB3AE878639573124</key>
+			<iv>A86FFC9A91C79AFE47899B3934F3E05E</iv>
+			<input>2A2115074A9767747500D78BB0B27A97</input>
+			<output>507ED155CC3ED3B1922BBC166812A7FE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 301</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>2CDDF1A577A3C86C082F31860697460D21853B90514596DA</key>
+			<iv>507ED155CC3ED3B1922BBC166812A7FE</iv>
+			<input>308D27178ABA22BCF457DF27F2B706AE</input>
+			<output>87F4EEA7CD2438F3EDCB650824A2D638</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 302</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>2B9D006908018D648FDBDF21CBB37EFECC4E5E9875E740E2</key>
+			<iv>87F4EEA7CD2438F3EDCB650824A2D638</iv>
+			<input>28F6C452D061E3DB0740F1CC7FA24508</input>
+			<output>DBA57DDA73A4E987EA32EF113877E908</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 303</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>FC69838410D06425547EA2FBB8179779267CB1894D90A9EA</key>
+			<iv>DBA57DDA73A4E987EA32EF113877E908</iv>
+			<input>91CFB50FFBE97D8AD7F483ED18D1E941</input>
+			<output>1720ED3E3B685A19CDA66BD09BD4DA5F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 304</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>541AAB6191E2C51F435E4FC5837FCD60EBDADA59D64473B5</key>
+			<iv>1720ED3E3B685A19CDA66BD09BD4DA5F</iv>
+			<input>78FF980C48FAEBA0A87328E58132A13A</input>
+			<output>ED2E260103CAA77598FD195D02B484C8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 305</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>761B0A3F50E2ACC1AE7069C480B56A157327C304D4F0F77D</key>
+			<iv>ED2E260103CAA77598FD195D02B484C8</iv>
+			<input>8C01554039D8F8EE2201A15EC10069DE</input>
+			<output>A9F0E16716B3AC14E06F18F5AEECB541</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 306</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>70056CD35CF430D5078088A39606C6019348DBF17A1C423C</key>
+			<iv>A9F0E16716B3AC14E06F18F5AEECB541</iv>
+			<input>C139651464D1614B061E66EC0C169C14</input>
+			<output>A41DDF008E0D52B627982D4196C3069E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 307</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>EE1932746487B7BEA39D57A3180B94B7B4D0F6B0ECDF44A2</key>
+			<iv>A41DDF008E0D52B627982D4196C3069E</iv>
+			<input>C617572884721A3D9E1C5EA73873876B</input>
+			<output>44E5304E35A21660C450FAF84D87B13B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 308</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>13D43E4526F8243FE77867ED2DA982D770800C48A158F599</key>
+			<iv>44E5304E35A21660C450FAF84D87B13B</iv>
+			<input>9C72E08DD264D6B7FDCD0C31427F9381</input>
+			<output>173B2C7A54A1A3CF3D39DCB68DA1C539</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 309</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>7CB72DE2CAED4080F0434B97790821184DB9D0FE2CF930A0</key>
+			<iv>173B2C7A54A1A3CF3D39DCB68DA1C539</iv>
+			<input>4DF3764F679E29446F6313A7EC1564BF</input>
+			<output>F1A167A3EB8F3FAB9F9B1570475ED15A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 310</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A7E6340A1278A3E801E22C3492871EB3D222C58E6BA7E1FA</key>
+			<iv>F1A167A3EB8F3FAB9F9B1570475ED15A</iv>
+			<input>2ED419EA11AAF8F3DB5119E8D895E368</input>
+			<output>2C5C5B10E285FE6C7E4750D2F9C1BD23</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 311</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4B535B4D088F09192DBE77247002E0DFAC65955C92665CD9</key>
+			<iv>2C5C5B10E285FE6C7E4750D2F9C1BD23</iv>
+			<input>A3E9EA99771D0C02ECB56F471AF7AAF1</input>
+			<output>A12B4A15DBFAE2E7D4A7A792CD3C121A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 312</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>2F0E7BAD76DC0A718C953D31ABF8023878C232CE5F5A4EC3</key>
+			<iv>A12B4A15DBFAE2E7D4A7A792CD3C121A</iv>
+			<input>1CC105D2604628B7645D20E07E530368</input>
+			<output>65CE700B785D901C5E5E08F7E74BB296</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 313</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>6111C386DE35C954E95B4D3AD3A59224269C3A39B811FC55</key>
+			<iv>65CE700B785D901C5E5E08F7E74BB296</iv>
+			<input>F902717AF7F0794E4E1FB82BA8E9C325</input>
+			<output>E7F3BD1056C504285FFC7F65B395DCAE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 314</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3B8F85E6FD28C4610EA8F02A8560960C7960455C0B8420FB</key>
+			<iv>E7F3BD1056C504285FFC7F65B395DCAE</iv>
+			<input>20A5529420D6D4C35A9E4660231D0D35</input>
+			<output>6CC36458ADECCA8B7198FD272A8C76C8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 315</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D404C97E089F240B626B9472288C5C8708F8B87B21085633</key>
+			<iv>6CC36458ADECCA8B7198FD272A8C76C8</iv>
+			<input>1094639F6723C9B0EF8B4C98F5B7E06A</input>
+			<output>D01C3C1E036D804563F04926ED203146</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 316</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4779B44770085E18B277A86C2BE1DCC26B08F15DCC286775</key>
+			<iv>D01C3C1E036D804563F04926ED203146</iv>
+			<input>A482437681DFE307937D7D3978977A13</input>
+			<output>319D579DE9E55C8A3B2097EE8C93375F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 317</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>22362304D7417BB483EAFFF1C2048048502866B340BB502A</key>
+			<iv>319D579DE9E55C8A3B2097EE8C93375F</iv>
+			<input>7AF0C8274B5C243B654F9743A74925AC</input>
+			<output>5F722165B8B422E088814B77A6B4D8E4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 318</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>06FDA49350C16FEADC98DE947AB0A2A8D8A92DC4E60F88CE</key>
+			<iv>5F722165B8B422E088814B77A6B4D8E4</iv>
+			<input>A37964FA3E8145EF24CB87978780145E</input>
+			<output>C0417773DFD3FC83C2CE12D388F5DD8F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 319</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>366245F8CBC490611CD9A9E7A5635E2B1A673F176EFA5541</key>
+			<iv>C0417773DFD3FC83C2CE12D388F5DD8F</iv>
+			<input>5D7E1E14F7BD7DB6309FE16B9B05FF8B</input>
+			<output>2EAE64B58C18AC7ADD2EE62896AB708D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 320</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A1BB8A9F9BE8F1383277CD52297BF251C749D93FF85125CC</key>
+			<iv>2EAE64B58C18AC7ADD2EE62896AB708D</iv>
+			<input>3ADC6991BF15554F97D9CF67502C6159</input>
+			<output>069FC966F8A985AD41617CB0148D2B96</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 321</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>7AB228E4114C14AB34E80434D1D277FC8628A58FECDC0E5A</key>
+			<iv>069FC966F8A985AD41617CB0148D2B96</iv>
+			<input>4405B80CCE92FD71DB09A27B8AA4E593</input>
+			<output>13459A0239A33BC41424A5D03C6B2864</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 322</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>78D1BC27E5CBBB1D27AD9E36E8714C38920C005FD0B7263E</key>
+			<iv>13459A0239A33BC41424A5D03C6B2864</iv>
+			<input>B9BAA861988616CD026394C3F487AFB6</input>
+			<output>08DA968A2BAEB9B763EB42BF555A2BFA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 323</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F53B033A22EA1D7B2F7708BCC3DFF58FF1E742E085ED0DC4</key>
+			<iv>08DA968A2BAEB9B763EB42BF555A2BFA</iv>
+			<input>30654265AD0FB24E8DEABF1DC721A666</input>
+			<output>E8412BDC1E75AC8E2C28552E2195795E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 324</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4928B51AF5C2408CC7362360DDAA5901DDCF17CEA478749A</key>
+			<iv>E8412BDC1E75AC8E2C28552E2195795E</iv>
+			<input>EEB05E487EEB907FBC13B620D7285DF7</input>
+			<output>E01839F95680D27E048383236D59EE85</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 325</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C4DB91EAFC4C26D7272E1A998B2A8B7FD94C94EDC9219A1F</key>
+			<iv>E01839F95680D27E048383236D59EE85</iv>
+			<input>BA0160229D7471FE8DF324F0098E665B</input>
+			<output>D41902E6BE946CEB1612CFEE2F33F7CD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 326</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B550731E659834A1F337187F35BEE794CF5E5B03E6126DD2</key>
+			<iv>D41902E6BE946CEB1612CFEE2F33F7CD</iv>
+			<input>7DC970AFAF99BA6C718BE2F499D41276</input>
+			<output>326C3523173D62E9E145592E7A774311</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 327</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5F87F6C2402B2352C15B2D5C2283857D2E1B022D9C652EC3</key>
+			<iv>326C3523173D62E9E145592E7A774311</iv>
+			<input>24ED6DAE1B24CC2BEAD785DC25B317F3</input>
+			<output>DDAE8AFF94604FFA82AE4FFB06953C01</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 328</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3636C04061996CD01CF5A7A3B6E3CA87ACB54DD69AF012C2</key>
+			<iv>DDAE8AFF94604FFA82AE4FFB06953C01</iv>
+			<input>98E262805B8D9FD169B1368221B24F82</input>
+			<output>0D75DCFA4941BCE658DB2C71CB270BE7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 329</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>64B9A0DE7DDA73C011807B59FFA27661F46E61A751D71925</key>
+			<iv>0D75DCFA4941BCE658DB2C71CB270BE7</iv>
+			<input>2BC34C226D41D8CE528F609E1C431F10</input>
+			<output>D70ED1DCDB9420E4B4A0D2A7C5148DE3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 330</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F64196479D35F74BC68EAA852436568540CEB30094C394C6</key>
+			<iv>D70ED1DCDB9420E4B4A0D2A7C5148DE3</iv>
+			<input>1015CB1E4569986C92F83699E0EF848B</input>
+			<output>524314DCCF2ADE5F8C3D241824C2BA73</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 331</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>686AB32115A2884C94CDBE59EB1C88DACCF39718B0012EB5</key>
+			<iv>524314DCCF2ADE5F8C3D241824C2BA73</iv>
+			<input>FB8B49053F724B7D9E2B256688977F07</input>
+			<output>7C579324F7251EDF95BDE2320104ACA6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 332</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>34DD68E6F442F6D9E89A2D7D1C399605594E752AB1058213</key>
+			<iv>7C579324F7251EDF95BDE2320104ACA6</iv>
+			<input>A3B71504A8DAA3515CB7DBC7E1E07E95</input>
+			<output>921A66278A6D1E61D4B509F199F8FE55</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 333</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>19C9F40A858DD9EA7A804B5A965488648DFB7CDB28FD7C46</key>
+			<iv>921A66278A6D1E61D4B509F199F8FE55</iv>
+			<input>B0B651905E1B38FB2D149CEC71CF2F33</input>
+			<output>F2C37CF94514C902A0E438159C2C9F5F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 334</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B68812FC7D4E40D6884337A3D34041662D1F44CEB4D1E319</key>
+			<iv>F2C37CF94514C902A0E438159C2C9F5F</iv>
+			<input>7DE03F498839F8DAAF41E6F6F8C3993C</input>
+			<output>4596A25A85D06BCC74F686F8F1E8C203</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 335</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>2836F982CA563379CDD595F956902AAA59E9C2364539211A</key>
+			<iv>4596A25A85D06BCC74F686F8F1E8C203</iv>
+			<input>D5425E42151014ED9EBEEB7EB71873AF</input>
+			<output>0BA46EFA61FB07430C51D7CE267E1F47</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 336</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>BC8C7F9051C98892C671FB03376B2DE955B815F863473E5D</key>
+			<iv>0BA46EFA61FB07430C51D7CE267E1F47</iv>
+			<input>5D060EEC179C1B9E94BA86129B9FBBEB</input>
+			<output>49F7D7D7BAB7795A4E74A854C8C1AC53</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 337</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E661F49B22BC92358F862CD48DDC54B31BCCBDACAB86920E</key>
+			<iv>49F7D7D7BAB7795A4E74A854C8C1AC53</iv>
+			<input>C598926A437A27A45AED8B0B73751AA7</input>
+			<output>0EB97E32AEC4CE3959197C5B72C1ABC5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 338</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E625AB8664BCF057813F52E623189A8A42D5C1F7D94739CB</key>
+			<iv>0EB97E32AEC4CE3959197C5B72C1ABC5</iv>
+			<input>B7272C4D712F9CF500445F1D46006262</input>
+			<output>DA9F53564E69AED610BCCAD13C00A241</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 339</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>75FC1D46AFD886915BA001B06D71345C52690B26E5479B8A</key>
+			<iv>DA9F53564E69AED610BCCAD13C00A241</iv>
+			<input>FE7513CF9353BBF093D9B6C0CB6476C6</input>
+			<output>7F61B6F9B7C14EB6179F2DA597EC1183</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 340</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F92D3201DA84422024C1B749DAB07AEA45F6268372AB8A09</key>
+			<iv>7F61B6F9B7C14EB6179F2DA597EC1183</iv>
+			<input>4E4D3DF58D7D9C338CD12F47755CC4B1</input>
+			<output>F9216373C300AA9BE96BD8C98F9716B7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 341</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>680384A1E522C848DDE0D43A19B0D071AC9DFE4AFD3C9CBE</key>
+			<iv>F9216373C300AA9BE96BD8C98F9716B7</iv>
+			<input>1A7B30192D54142E912EB6A03FA68A68</input>
+			<output>8512BA1B57BC04EF3C021DB1EC3CA9C6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 342</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>DE3B85BD09EC93B858F26E214E0CD49E909FE3FB11003578</key>
+			<iv>8512BA1B57BC04EF3C021DB1EC3CA9C6</iv>
+			<input>86587FF85D73F77FB638011CECCE5BF0</input>
+			<output>FA582C37D4063D61428C886A9FD54C84</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 343</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C574CA7322F443FBA2AA42169A0AE9FFD2136B918ED579FC</key>
+			<iv>FA582C37D4063D61428C886A9FD54C84</iv>
+			<input>3A7425A8B7BC3A941B4F4FCE2B18D043</input>
+			<output>7571B4D46CBC671964AB5BDE9C843DCF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 344</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>078109812EFBA9DBD7DBF6C2F6B68EE6B6B8304F12514433</key>
+			<iv>7571B4D46CBC671964AB5BDE9C843DCF</iv>
+			<input>5224060F0848F028C2F5C3F20C0FEA20</input>
+			<output>DA9EB72D65D492FE88B819674B8433C1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 345</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5BF7FA2E15A87C850D4541EF93621C183E00292859D577F2</key>
+			<iv>DA9EB72D65D492FE88B819674B8433C1</iv>
+			<input>2622B2A19CBBAD065C76F3AF3B53D55E</input>
+			<output>C66EF470CEDDD499AE6214E75DE9051B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 346</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>ECBE2377CAF0C9E9CB2BB59F5DBFC88190623DCF043C72E9</key>
+			<iv>C66EF470CEDDD499AE6214E75DE9051B</iv>
+			<input>833F22A76D51E360B749D959DF58B56C</input>
+			<output>57407E3DEFFF753E879619424FCE5713</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 347</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4EAB83DA78D60CB09C6BCBA2B240BDBF17F4248D4BF225FA</key>
+			<iv>57407E3DEFFF753E879619424FCE5713</iv>
+			<input>25781A534FB9192CA215A0ADB226C559</input>
+			<output>644D89381439E7BBED7DC344CBF4C886</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 348</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C4977EF1F6271D6CF826429AA6795A04FA89E7C98006ED7C</key>
+			<iv>644D89381439E7BBED7DC344CBF4C886</iv>
+			<input>E8EDD9AA25A8C5B08A3CFD2B8EF111DC</input>
+			<output>CA4B2680D0EE8E28818BE8DE8D625ADC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 349</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>80212F6D11C6DAE2326D641A7697D42C7B020F170D64B7A0</key>
+			<iv>CA4B2680D0EE8E28818BE8DE8D625ADC</iv>
+			<input>8F667EEDB79E930644B6519CE7E1C78E</input>
+			<output>5497F477AD5E65BB748A781533F1BCEF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 350</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A05DF1DF7E0393A566FA906DDBC9B1970F8877023E950B4F</key>
+			<iv>5497F477AD5E65BB748A781533F1BCEF</iv>
+			<input>099FDB76E6D21788207CDEB26FC54947</input>
+			<output>C8C541B359BF1B53441C4EFFFD2F65AF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 351</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3970F236F800D18BAE3FD1DE8276AAC44B9439FDC3BA6EE0</key>
+			<iv>C8C541B359BF1B53441C4EFFFD2F65AF</iv>
+			<input>C79FA2079ECCEBCD992D03E98603422E</input>
+			<output>E59765A861DE0168161EA1360B5966A9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 352</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8ED3BFA3E4C9453C4BA8B476E3A8ABAC5D8A98CBC8E30849</key>
+			<iv>E59765A861DE0168161EA1360B5966A9</iv>
+			<input>AFBCD48F06709730B7A34D951CC994B7</input>
+			<output>5A65435BD1B4DB742E8AFF8C402927FC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 353</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>2A3F01E56E45895B11CDF72D321C70D87300674788CA2FB5</key>
+			<iv>5A65435BD1B4DB742E8AFF8C402927FC</iv>
+			<input>CF684F64B8CCD2EDA4ECBE468A8CCC67</input>
+			<output>551AF68D50D23408F47214C0B18E6C8A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 354</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>CA12AC8D17941E6244D701A062CE44D0877273873944433F</key>
+			<iv>551AF68D50D23408F47214C0B18E6C8A</iv>
+			<input>561072AC144854C1E02DAD6879D19739</input>
+			<output>ADFF035C89E040A4C3CCE190D6CB7283</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 355</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D1CA1B08A51B5086E92802FCEB2E047444BE9217EF8F31BC</key>
+			<iv>ADFF035C89E040A4C3CCE190D6CB7283</iv>
+			<input>827ADE7D0F329D9A1BD8B785B28F4EE4</input>
+			<output>425F5596D3FD37243EE59D6FC1F5ADCC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 356</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>54EC325FE63AA470AB77576A38D333507A5B0F782E7A9C70</key>
+			<iv>425F5596D3FD37243EE59D6FC1F5ADCC</iv>
+			<input>4AAF21E64F8DBDB0852629574321F4F6</input>
+			<output>D85520FE860C9F320CDC8192A900F499</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 357</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5B4612BC35BFC12473227794BEDFAC6276878EEA877A68E9</key>
+			<iv>D85520FE860C9F320CDC8192A900F499</iv>
+			<input>0D046A402A1860C70FAA20E3D3856554</input>
+			<output>11C20F3ACED79B37402B2F04886D4CC7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 358</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5052384CE705101562E078AE7008375536ACA1EE0F17242E</key>
+			<iv>11C20F3ACED79B37402B2F04886D4CC7</iv>
+			<input>7546E6521BBBFAFE0B142AF0D2BAD131</input>
+			<output>BCDA339266E3AFB779AF17CE34218BE5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 359</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F7ECFB2AA4FC6DE2DE3A4B3C16EB98E24F03B6203B36AFCB</key>
+			<iv>BCDA339266E3AFB779AF17CE34218BE5</iv>
+			<input>85DF7958789E9090A7BEC36643F97DF7</input>
+			<output>300D46EAB6466314BB00DBC869C77F4E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 360</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>1E27229506EC9555EE370DD6A0ADFBF6F4036DE852F1D085</key>
+			<iv>300D46EAB6466314BB00DBC869C77F4E</iv>
+			<input>C6CED700614467A0E9CBD9BFA210F8B7</input>
+			<output>51735C075A14FE95D4A02F527A9474D3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 361</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>857F653E1E811CABBF4451D1FAB9056320A342BA2865A456</key>
+			<iv>51735C075A14FE95D4A02F527A9474D3</iv>
+			<input>53D436401D6811B19B5847AB186D89FE</input>
+			<output>827017531E56980C4357549D0E70114F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 362</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>1BCE612F3A5262223D344682E4EF9D6F63F416272615B519</key>
+			<iv>827017531E56980C4357549D0E70114F</iv>
+			<input>4C1BD17FFD65AB2C9EB1041124D37E89</input>
+			<output>751BCA9516123906561FB8AF2208CEE1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 363</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>7C7034EC27524FC3482F8C17F2FDA46935EBAE88041D7BF8</key>
+			<iv>751BCA9516123906561FB8AF2208CEE1</iv>
+			<input>7C23D6E77039F35267BE55C31D002DE1</input>
+			<output>82CAFBBE859FA80B2A8E58CEC074B01A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 364</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>7F31EEE0447BB53CCAE577A977620C621F65F646C469CBE2</key>
+			<iv>82CAFBBE859FA80B2A8E58CEC074B01A</iv>
+			<input>B91FF7759419BBB10341DA0C6329FAFF</input>
+			<output>B7614376C9BAFC92E17E39D2BDF1F2EF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 365</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E705144BCE40FC987D8434DFBED8F0F0FE1BCF947998390D</key>
+			<iv>B7614376C9BAFC92E17E39D2BDF1F2EF</iv>
+			<input>72B3472217AC80979834FAAB8A3B49A4</input>
+			<output>A63BA38FDDFE99D28BA447871BBA6211</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 366</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>15C813D2D9AD1494DBBF97506326692275BF881362225B1C</key>
+			<iv>A63BA38FDDFE99D28BA447871BBA6211</iv>
+			<input>349F8E5FAE004B51F2CD079917EDE80C</input>
+			<output>C87E448872E619419766CB46787F2581</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 367</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B12B790C217821DA13C1D3D811C07063E2D943551A5D7E9D</key>
+			<iv>C87E448872E619419766CB46787F2581</iv>
+			<input>EC474C794E3C8322A4E36ADEF8D5354E</input>
+			<output>73DD478F7F41857F7A5DE7EDF3F1AF7B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 368</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>1CFA6A54B3E572DC601C94576E81F51C9884A4B8E9ACD1E6</key>
+			<iv>73DD478F7F41857F7A5DE7EDF3F1AF7B</iv>
+			<input>48F8361EF11F94C1ADD11358929D5306</input>
+			<output>8B85DE2CBE5C96CBDFE16064079754D9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 369</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>6718C10E683F4D73EB994A7BD0DD63D74765C4DCEE3B853F</key>
+			<iv>8B85DE2CBE5C96CBDFE16064079754D9</iv>
+			<input>59BFDA108542EDDB7BE2AB5ADBDA3FAF</input>
+			<output>56FF53384CED780F604F86EC0CE26B26</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 370</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>704ED4F1E96776A2BD6619439C301BD8272A4230E2D9EE19</key>
+			<iv>56FF53384CED780F604F86EC0CE26B26</iv>
+			<input>468FDBDB8BC26B5A175615FF81583BD1</input>
+			<output>7B0C2436262A262C5FAFC3A9B786DB00</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 371</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>67AFB86317B622B2C66A3D75BA1A3DF478858199555F3519</key>
+			<iv>7B0C2436262A262C5FAFC3A9B786DB00</iv>
+			<input>768BE978E5E8CA6E17E16C92FED15410</input>
+			<output>D32206D5D1521AB667516391810F5719</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 372</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0BF4E0C32EA3D69615483BA06B4827421FD4E208D4506200</key>
+			<iv>D32206D5D1521AB667516391810F5719</iv>
+			<input>1943C5D93D10A0E36C5B58A03915F424</input>
+			<output>6BCE2BEC0D5A0DA9051AF2B34A873694</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 373</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>924D1C527572A2EF7E86104C66122AEB1ACE10BB9ED75494</key>
+			<iv>6BCE2BEC0D5A0DA9051AF2B34A873694</iv>
+			<input>E3020D099D0841C299B9FC915BD17479</input>
+			<output>3BEBA6BA0762BF5FAA4D26B70071B4A9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 374</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>CFA41DB53F2F8766456DB6F6617095B4B083360C9EA6E03D</key>
+			<iv>3BEBA6BA0762BF5FAA4D26B70071B4A9</iv>
+			<input>31F7316F0D1012CD5DE901E74A5D2589</input>
+			<output>C4253CED7F88DF97596B08A15BAEF533</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 375</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E2B9D43008C1537281488A1B1EF84A23E9E83EADC508150E</key>
+			<iv>C4253CED7F88DF97596B08A15BAEF533</iv>
+			<input>00365D6755A898E62D1DC98537EED414</input>
+			<output>2D4EB6BA84D1C0C978EA20C1693BB75C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 376</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>43EA75DFD5B35CCBAC063CA19A298AEA91021E6CAC33A252</key>
+			<iv>2D4EB6BA84D1C0C978EA20C1693BB75C</iv>
+			<input>599279C68B67A988A153A1EFDD720FB9</input>
+			<output>03698CC5E133AD8855B847C124FD2778</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 377</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8F2C76FCFBD8060DAF6FB0647B1A2762C4BA59AD88CE852A</key>
+			<iv>03698CC5E133AD8855B847C124FD2778</iv>
+			<input>47EFAF7E090B94B5CCC603232E6B5AC6</input>
+			<output>8D44C11C25ADE5631E05FAAECCA70AF7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 378</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E02084775A2E1A4E222B71785EB7C201DABFA30344698FDD</key>
+			<iv>8D44C11C25ADE5631E05FAAECCA70AF7</iv>
+			<input>394EC624EBC0D79E6F0CF28BA1F61C43</input>
+			<output>5EB407847213D5E950C66787B140BC35</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 379</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D8208A70940589F47C9F76FC2CA417E88A79C484F52933E8</key>
+			<iv>5EB407847213D5E950C66787B140BC35</iv>
+			<input>F28816D227AC09F538000E07CE2B93BA</input>
+			<output>2D4FBD74A027526BADC8C2A433963C22</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 380</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>858193C76AFE48D951D0CB888C83458327B10620C6BF0FCA</key>
+			<iv>2D4FBD74A027526BADC8C2A433963C22</iv>
+			<input>FBAA6C644F8E08885DA119B7FEFBC12D</input>
+			<output>FA2DAE761EBBFDE4B77CBCD2381165DB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 381</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>DA9A9F800056FC6EABFD65FE9238B86790CDBAF2FEAE6A11</key>
+			<iv>FA2DAE761EBBFDE4B77CBCD2381165DB</iv>
+			<input>F66A574C26D0F15C5F1B0C476AA8B4B7</input>
+			<output>DB18F5B16BF19C2BCCA36091A302BF38</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 382</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>BD2AB07F036032AB70E5904FF9C9244C5C6EDA635DACD529</key>
+			<iv>DB18F5B16BF19C2BCCA36091A302BF38</iv>
+			<input>04B0C1A19C6D38B467B02FFF0336CEC5</input>
+			<output>D3F01581B21DF4E470EE595CAB44912C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 383</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>7EF57F6BDE41D79CA31585CE4BD4D0A82C80833FF6E84405</key>
+			<iv>D3F01581B21DF4E470EE595CAB44912C</iv>
+			<input>83BF32E0F3F3CEE7C3DFCF14DD21E537</input>
+			<output>10C69B9A04E0851B63D85D025BBACA29</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 384</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>22057A9912BB6B76B3D31E544F3455B34F58DE3DAD528E2C</key>
+			<iv>10C69B9A04E0851B63D85D025BBACA29</iv>
+			<input>150ACC96322893CC5CF005F2CCFABCEA</input>
+			<output>2743FE5769DDA5D591318E200AF672D0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 385</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>742A2117B51176E69490E00326E9F066DE69501DA7A4FCFC</key>
+			<iv>2743FE5769DDA5D591318E200AF672D0</iv>
+			<input>93246C1A26F66DAF562F5B8EA7AA1D90</input>
+			<output>5CA8FC8DB4A20B2CA8AB86B1B40DA1A1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 386</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3C09F8C3B20BE749C8381C8E924BFB4A76C2D6AC13A95D5D</key>
+			<iv>5CA8FC8DB4A20B2CA8AB86B1B40DA1A1</iv>
+			<input>D91806E0F3451C374823D9D4071A91AF</input>
+			<output>25701E4C6685C98333566EB75498AEB7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 387</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>DD0386F2D0D1E8FFED4802C2F4CE32C94594B81B4731F3EA</key>
+			<iv>25701E4C6685C98333566EB75498AEB7</iv>
+			<input>701A5D7027053688E10A7E3162DA0FB6</input>
+			<output>E4A5889FC49B62F767F61F1D2810801A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 388</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>BB9A1FA7287B0D3D09ED8A5D3055503E2262A7066F2173F0</key>
+			<iv>E4A5889FC49B62F767F61F1D2810801A</iv>
+			<input>A110B0A38255279B66999955F8AAE5C2</input>
+			<output>F1A9BDA2045F3EAE2AB9CEE2AD352270</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 389</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>21B561DC3C44B5A5F84437FF340A6E9008DB69E4C2145180</key>
+			<iv>F1A9BDA2045F3EAE2AB9CEE2AD352270</iv>
+			<input>1562CF8420963B479A2F7E7B143FB898</input>
+			<output>E7E2BA657D3482A4825D643B8C01B52E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 390</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>60A0FA1F5FA435401FA68D9A493EEC348A860DDF4E15E4AE</key>
+			<iv>E7E2BA657D3482A4825D643B8C01B52E</iv>
+			<input>930490633BC4EDC941159BC363E080E5</input>
+			<output>2FDBCD145EB8620594834B0D63BBD137</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 391</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>7DD1686F811E4017307D408E17868E311E0546D22DAE3599</key>
+			<iv>2FDBCD145EB8620594834B0D63BBD137</iv>
+			<input>4BB1C43F4ABC51CD1D719270DEBA7557</input>
+			<output>B703658AD9FFCDE05E2C7E252990402E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 392</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>18203DC5AAA632F5877E2504CE7943D1402938F7043E75B7</key>
+			<iv>B703658AD9FFCDE05E2C7E252990402E</iv>
+			<input>47931942F275F05E65F155AA2BB872E2</input>
+			<output>5B79CB7FA90D3BB5A979A4588D4DE434</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 393</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>9F6D532CBAF42FCDDC07EE7B67747864E9509CAF89739183</key>
+			<iv>5B79CB7FA90D3BB5A979A4588D4DE434</iv>
+			<input>E3A36DF4EB896B4D874D6EE910521D38</input>
+			<output>61BF460521E67B3CAC638F3298EF9310</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 394</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>ED4F97BC99036E83BDB8A87E469203584533139D119C0293</key>
+			<iv>61BF460521E67B3CAC638F3298EF9310</iv>
+			<input>55EABDF72CCB5D737222C49023F7414E</input>
+			<output>8A27D87B53B2FB8BBAFF7851AF1D51F2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 395</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E1B9A7291D885F8E379F70051520F8D3FFCC6BCCBE815361</key>
+			<iv>8A27D87B53B2FB8BBAFF7851AF1D51F2</iv>
+			<input>D30271EA236E948F0CF63095848B310D</input>
+			<output>15075FDCBD2D6FC15B9A3841A2D58C34</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 396</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>976B101EE3E10E0822982FD9A80D9712A456538D1C54DF55</key>
+			<iv>15075FDCBD2D6FC15B9A3841A2D58C34</iv>
+			<input>879EED3434159D8076D2B737FE695186</input>
+			<output>6896582462983FAAE443078F9768B339</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 397</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A7A3277BF5F605FC4A0E77FDCA95A8B8401554028B3C6C6C</key>
+			<iv>6896582462983FAAE443078F9768B339</iv>
+			<input>89DDABE96D1069ED30C8376516170BF4</input>
+			<output>96FE6B921416B667AA5B34D2D2E25747</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 398</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>DD57026B1D4E32A8DCF01C6FDE831EDFEA4E60D059DE3B2B</key>
+			<iv>96FE6B921416B667AA5B34D2D2E25747</iv>
+			<input>8144C8BB09FC72827AF42510E8B83754</input>
+			<output>EEDC3677AB7B57829F6D733F8090DA8A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 399</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B4D1BDF297DC0574322C2A1875F8495D752313EFD94EE1A1</key>
+			<iv>EEDC3677AB7B57829F6D733F8090DA8A</iv>
+			<input>510F7A55799B39786986BF998A9237DC</input>
+			<output>BA50C94440C04A8C0899D42658E25437</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>AES CBC MonteCarlo Enc 0</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<iv>00000000000000000000000000000000</iv>
+			<input>00000000000000000000000000000000</input>
+			<output>FE3C53653E2F45B56FCD88B2CC898FF0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 1</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B2493DE29713367D9FAA93469F8EF596FE3C53653E2F45B56FCD88B2CC898FF0</key>
+			<iv>FE3C53653E2F45B56FCD88B2CC898FF0</iv>
+			<input>B2493DE29713367D9FAA93469F8EF596</input>
+			<output>7CE2ABAF8BEF23C4816DC8CE842048A7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 2</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>33A36646FE56F70DC0C51A3117E639F182DEF8CAB5C06671EEA0407C48A9C757</key>
+			<iv>7CE2ABAF8BEF23C4816DC8CE842048A7</iv>
+			<input>81EA5BA46945C1705F6F89778868CC67</input>
+			<output>50CD14A12C6852D39654C816BFAF9AC2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 3</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0D6A3DACE75B104CA8A303A32670BF3AD213EC6B99A834A278F4886AF7065D95</key>
+			<iv>50CD14A12C6852D39654C816BFAF9AC2</iv>
+			<input>3EC95BEA190DE74168661992319686CB</input>
+			<output>3F411DAD0E339FE281637133BF46BD13</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 4</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A53BE0709BF686A7DB7C3848D81AB66BED52F1C6979BAB40F997F9594840E086</key>
+			<iv>3F411DAD0E339FE281637133BF46BD13</iv>
+			<input>A851DDDC7CAD96EB73DF3BEBFE6A0951</input>
+			<output>5BA2C7663A4061719A7CCC2AF2A3EE8A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 5</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>ECF3490CB7717A5236A3A94811BEBF13B6F036A0ADDBCA3163EB3573BAE30E0C</key>
+			<iv>5BA2C7663A4061719A7CCC2AF2A3EE8A</iv>
+			<input>49C8A97C2C87FCF5EDDF9100C9A40978</input>
+			<output>F105031CE7E5111317745C64F4F6D150</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 6</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>CE8A062A2A9F9EDE2EFB43A8602BB47847F535BC4A3EDB22749F69174E15DF5C</key>
+			<iv>F105031CE7E5111317745C64F4F6D150</iv>
+			<input>22794F269DEEE48C1858EAE071950B6B</input>
+			<output>C8F030398A873550A34386D9A153D833</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 7</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>2BE39545B8FC27444178BF0004C7F1048F050585C0B9EE72D7DCEFCEEF46076F</key>
+			<iv>C8F030398A873550A34386D9A153D833</iv>
+			<input>E569936F9263B99A6F83FCA864EC457C</input>
+			<output>519CF42C0BBFCBD79679089BC5E963B4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 8</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>80E9C0F78F99E309935C0A69B961D787DE99F1A9CB0625A541A5E7552AAF64DB</key>
+			<iv>519CF42C0BBFCBD79679089BC5E963B4</iv>
+			<input>AB0A55B23765C44DD224B569BDA62683</input>
+			<output>64AC8FEA3B83584E9B7379B48F88B7A4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 9</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>48DDBDA704BA7702960820A0D2CA485CBA357E43F0857DEBDAD69EE1A527D37F</key>
+			<iv>64AC8FEA3B83584E9B7379B48F88B7A4</iv>
+			<input>C8347D508B23940B05542AC96BAB9FDB</input>
+			<output>2B1F53F35A308673E9B1E004C32B2080</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 10</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D26C4C6BE601D63BDDE6F1A49B5124CB912A2DB0AAB5FB9833677EE5660CF3FF</key>
+			<iv>2B1F53F35A308673E9B1E004C32B2080</iv>
+			<input>9AB1F1CCE2BBA1394BEED104499B6C97</input>
+			<output>0DAE66B5741FE38E544D9EC4E90ABDAF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 11</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D241355DB8FC5F23D0D207F72E290F189C844B05DEAA1816672AE0218F064E50</key>
+			<iv>0DAE66B5741FE38E544D9EC4E90ABDAF</iv>
+			<input>002D79365EFD89180D34F653B5782BD3</input>
+			<output>D00122636CC0D9D62E614EAF0963C448</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 12</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>1BC3268A0B674A05B2FC6E18460231564C856966B26AC1C0494BAE8E86658A18</key>
+			<iv>D00122636CC0D9D62E614EAF0963C448</iv>
+			<input>C98213D7B39B1526622E69EF682B3E4E</input>
+			<output>30EF014D1766651C524B3CC82F0140C6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 13</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>50BE5951A5C2403C52425897C442A8457C6A682BA50CA4DC1B009246A964CADE</key>
+			<iv>30EF014D1766651C524B3CC82F0140C6</iv>
+			<input>4B7D7FDBAEA50A39E0BE368F82409913</input>
+			<output>BAD488702B447FABEC2074E1DD37E631</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 14</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C007EE52430FF98EDD206C94ED349DE6C6BEE05B8E48DB77F720E6A774532CEF</key>
+			<iv>BAD488702B447FABEC2074E1DD37E631</iv>
+			<input>90B9B703E6CDB9B28F623403297635A3</input>
+			<output>EC3862EB60E7D8D0827645BD690F71B8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 15</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>AE37C1DBEBF9B269E8D10CC4F046F9FC2A8682B0EEAF03A77556A31A1D5C5D57</key>
+			<iv>EC3862EB60E7D8D0827645BD690F71B8</iv>
+			<input>6E302F89A8F64BE735F160501D72641A</input>
+			<output>6073D1F25F3697C1E07384C67D71D8AE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 16</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>86E8B9050AB24200E3757B67F08761534AF55342B1999466952527DC602D85F9</key>
+			<iv>6073D1F25F3697C1E07384C67D71D8AE</iv>
+			<input>28DF78DEE14BF0690BA477A300C198AF</input>
+			<output>90EF55AB8837792F82CF0F002E36F8DB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 17</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>DE93EA10BB6DC2B0A6D3919561CE5AE4DA1A06E939AEED4917EA28DC4E1B7D22</key>
+			<iv>90EF55AB8837792F82CF0F002E36F8DB</iv>
+			<input>587B5315B1DF80B045A6EAF291493BB7</input>
+			<output>063783CB1A2137732D10CA6233C5CE93</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 18</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3D147E3727A1FEB2C6F36AB9DF772E97DC2D8522238FDA3A3AFAE2BE7DDEB3B1</key>
+			<iv>063783CB1A2137732D10CA6233C5CE93</iv>
+			<input>E38794279CCC3C026020FB2CBEB97473</input>
+			<output>79C5CEEE64BFD33948D2E08EBE25B7E9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 19</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>34586C52923969647663A0D69436D7D1A5E84BCC4730090372280230C3FB0458</key>
+			<iv>79C5CEEE64BFD33948D2E08EBE25B7E9</iv>
+			<input>094C1265B59897D6B090CA6F4B41F946</input>
+			<output>87DFB65D575F56670DB739C988FD7DE5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 20</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>53724BF79612A7F0237927604619DD592237FD91106F5F647F9F3BF94B0679BD</key>
+			<iv>87DFB65D575F56670DB739C988FD7DE5</iv>
+			<input>672A27A5042BCE94551A87B6D22F0A88</input>
+			<output>643F46BC77A5FE2434753B9C38142583</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 21</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8FBC30746F29985FFFA43C8BD3C4FC664608BB2D67CAA1404BEA006573125C3E</key>
+			<iv>643F46BC77A5FE2434753B9C38142583</iv>
+			<input>DCCE7B83F93B3FAFDCDD1BEB95DD213F</input>
+			<output>FD774BD6874EA7C0D790A5015440B664</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 22</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>9A61A910701A4A42873549F78D3D9FD1BB7FF0FBE08406809C7AA5642752EA5A</key>
+			<iv>FD774BD6874EA7C0D790A5015440B664</iv>
+			<input>15DD99641F33D21D7891757C5EF963B7</input>
+			<output>BFCEF4403428F5C96C24C249962371D4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 23</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8D98738F6DF30113AF69A7A61C1582EE04B104BBD4ACF349F05E672DB1719B8E</key>
+			<iv>BFCEF4403428F5C96C24C249962371D4</iv>
+			<input>17F9DA9F1DE94B51285CEE5191281D3F</input>
+			<output>CC79F35C41F0E6C0EB03472B1D13029E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 24</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>976C27F1A15FF6780043636FC4777090C8C8F7E7955C15891B5D2006AC629910</key>
+			<iv>CC79F35C41F0E6C0EB03472B1D13029E</iv>
+			<input>1AF4547ECCACF76BAF2AC4C9D862F27E</input>
+			<output>0629B80F94FBC2C1984985B9F3B85BDD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 25</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E8934C533DED166F58D65C9E60A906A5CEE14FE801A7D7488314A5BF5FDAC2CD</key>
+			<iv>0629B80F94FBC2C1984985B9F3B85BDD</iv>
+			<input>7FFF6BA29CB2E01758953FF1A4DE7635</input>
+			<output>F2A70F4ED1A836696841D523F2650B55</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 26</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8116688C16D2C26D162C4D813FB267103C4640A6D00FE121EB55709CADBFC998</key>
+			<iv>F2A70F4ED1A836696841D523F2650B55</iv>
+			<input>698524DF2B3FD4024EFA111F5F1B61B5</input>
+			<output>A9B5565EB9B5D5DAC52BE0F449FBE11A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 27</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5A7062E77C6D20563AFD0BFDAAE04BE995F316F869BA34FB2E7E9068E4442882</key>
+			<iv>A9B5565EB9B5D5DAC52BE0F449FBE11A</iv>
+			<input>DB660A6B6ABFE23B2CD1467C95522CF9</input>
+			<output>E47F675379D4CE3DDABA0F906BE014B2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 28</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4DDC0A5938F4A3DC1AF8D3AFD3DF6198718C71AB106EFAC6F4C49FF88FA43C30</key>
+			<iv>E47F675379D4CE3DDABA0F906BE014B2</iv>
+			<input>17AC68BE4499838A2005D852793F2A71</input>
+			<output>7B95AB0E030C70B7940ECDAEFCA570A5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 29</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E287EFC66626600AF3453F68BE53E5250A19DAA513628A7160CA525673014C95</key>
+			<iv>7B95AB0E030C70B7940ECDAEFCA570A5</iv>
+			<input>AF5BE59F5ED2C3D6E9BDECC76D8C84BD</input>
+			<output>E854E5DE0C42D57B869C29FC8D5AFFF3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 30</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>7F3415A538F60B24A58447E1D38805B3E24D3F7B1F205F0AE6567BAAFE5BB366</key>
+			<iv>E854E5DE0C42D57B869C29FC8D5AFFF3</iv>
+			<input>9DB3FA635ED06B2E56C178896DDBE096</input>
+			<output>4E55EDEDC35CDEAB3BFB2B5D39871625</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 31</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>59E5F5ECC5693DA07046636094970E8CAC18D296DC7C81A1DDAD50F7C7DCA543</key>
+			<iv>4E55EDEDC35CDEAB3BFB2B5D39871625</iv>
+			<input>26D1E049FD9F3684D5C22481471F0B3F</input>
+			<output>3355C2CC762E58FA941E0004209CA710</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 32</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0B62CF7EA869036A529E9D184574CD609F4D105AAA52D95B49B350F3E7400253</key>
+			<iv>3355C2CC762E58FA941E0004209CA710</iv>
+			<input>52873A926D003ECA22D8FE78D1E3C3EC</input>
+			<output>9B86680D69D38870268D42E78EDA2B50</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 33</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>CEDC9CCC4DC42CB055EDC50597EE24DF04CB7857C381512B6F3E1214699A2903</key>
+			<iv>9B86680D69D38870268D42E78EDA2B50</iv>
+			<input>C5BE53B2E5AD2FDA0773581DD29AE9BF</input>
+			<output>05DD4896F08EEAA6A53FA7BCF183F538</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 34</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>CA30B422016C86247D75B618D19247AC011630C1330FBB8DCA01B5A89819DC3B</key>
+			<iv>05DD4896F08EEAA6A53FA7BCF183F538</iv>
+			<input>04EC28EE4CA8AA942898731D467C6373</input>
+			<output>F81E56F4390D65C7959348A6FBD8A94E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 35</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B7096A2EC0259DA21ACA6DBE637A9F15F90866350A02DE4A5F92FD0E63C17575</key>
+			<iv>F81E56F4390D65C7959348A6FBD8A94E</iv>
+			<input>7D39DE0CC1491B8667BFDBA6B2E8D8B9</input>
+			<output>4364CA2D90FA256084DF8E2FCDC62AB3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 36</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>436C0894D4436149EE685F0061BDF3AEBA6CAC189AF8FB2ADB4D7321AE075FC6</key>
+			<iv>4364CA2D90FA256084DF8E2FCDC62AB3</iv>
+			<input>F46562BA1466FCEBF4A232BE02C76CBB</input>
+			<output>0991DE19A5ABE5F7E8AE24120789B9AB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 37</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>44E1636AFF962EC4F1C446A89B9393C6B3FD72013F531EDD33E35733A98EE66D</key>
+			<iv>0991DE19A5ABE5F7E8AE24120789B9AB</iv>
+			<input>078D6BFE2BD54F8D1FAC19A8FA2E6068</input>
+			<output>0F4EF4FA608671AC5F71063CF6C1EBDE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 38</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>44289918A9E99F859FC2F604FE38B86EBCB386FB5FD56F716C92510F5F4F0DB3</key>
+			<iv>0F4EF4FA608671AC5F71063CF6C1EBDE</iv>
+			<input>00C9FA72567FB1416E06B0AC65AB2BA8</input>
+			<output>2D6A2A1CC9D208C16236BBC9451EC5E1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 39</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>BE5907C77B0939D20575F27427A2C3FE91D9ACE7960767B00EA4EAC61A51C852</key>
+			<iv>2D6A2A1CC9D208C16236BBC9451EC5E1</iv>
+			<input>FA719EDFD2E0A6579AB70470D99A7B90</input>
+			<output>237A8DFBA42708BBF7E540766F2059F1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 40</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>CD97125720F2002207AC44C456CDDF0DB2A3211C32206F0BF941AAB0757191A3</key>
+			<iv>237A8DFBA42708BBF7E540766F2059F1</iv>
+			<input>73CE15905BFB39F002D9B6B0716F1CF3</input>
+			<output>2D1AB5CF3E9C27ADA9FB45F15007A7BB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 41</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>123F64F2A28C80C2F6E000F69C8E5A639FB994D30CBC48A650BAEF4125763618</key>
+			<iv>2D1AB5CF3E9C27ADA9FB45F15007A7BB</iv>
+			<input>DFA876A5827E80E0F14C4432CA43856E</input>
+			<output>7039C9AF1E10FE99A91483EA578AE6DD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 42</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>6CD69C4F5AD7CB5E9E4574F6A48FDB28EF805D7C12ACB63FF9AE6CAB72FCD0C5</key>
+			<iv>7039C9AF1E10FE99A91483EA578AE6DD</iv>
+			<input>7EE9F8BDF85B4B9C68A574003801814B</input>
+			<output>116DD8566366A19EEAF2F3E744B3EF9C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 43</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C73969C7D6D057003E2E215D94978792FEED852A71CA17A1135C9F4C364F3F59</key>
+			<iv>116DD8566366A19EEAF2F3E744B3EF9C</iv>
+			<input>ABEFF5888C079C5EA06B55AB30185CBA</input>
+			<output>648A801EF27E77D964BB751A32B8CFE8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 44</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E0960DD6E807F3D0B5DF057D0D1E6DCC9A67053483B4607877E7EA5604F7F0B1</key>
+			<iv>648A801EF27E77D964BB751A32B8CFE8</iv>
+			<input>27AF64113ED7A4D08BF124209989EA5E</input>
+			<output>D18AE728717C535049868FA6F1B4294E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 45</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>466AE043435C6CCA67FF1C5D4B4175DA4BEDE21CF2C833283E6165F0F543D9FF</key>
+			<iv>D18AE728717C535049868FA6F1B4294E</iv>
+			<input>A6FCED95AB5B9F1AD2201920465F1816</input>
+			<output>169B55360728DA8F582C488F2569411F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 46</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>27E1BC4931601D667CD807454D58B2BB5D76B72AF5E0E9A7664D2D7FD02A98E0</key>
+			<iv>169B55360728DA8F582C488F2569411F</iv>
+			<input>618B5C0A723C71AC1B271B180619C761</input>
+			<output>67DADCF7C31CA394F46F18AB1AEA022E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 47</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>2D4EB1F3A709F0A4CA5E2CD47F8F10123AAC6BDD36FC4A33922235D4CAC09ACE</key>
+			<iv>67DADCF7C31CA394F46F18AB1AEA022E</iv>
+			<input>0AAF0DBA9669EDC2B6862B9132D7A2A9</input>
+			<output>A5D49BDF099335166BBFDCBE29C90B80</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 48</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>2A90CE470EB8C9400B056307D53452BE9F78F0023F6F7F25F99DE96AE309914E</key>
+			<iv>A5D49BDF099335166BBFDCBE29C90B80</iv>
+			<input>07DE7FB4A9B139E4C15B4FD3AABB42AC</input>
+			<output>5AFC238F19E369E77278593C6E20A946</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 49</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>90B696E9A0792BFF7BF21BE373731CB5C584D38D268C16C28BE5B0568D293808</key>
+			<iv>5AFC238F19E369E77278593C6E20A946</iv>
+			<input>BA2658AEAEC1E2BF70F778E4A6474E0B</input>
+			<output>2861A363922099D0F0B2A5AD2A5F421E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 50</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4FE5C563B7DB98C6B9CCA52F313FBAFCEDE570EEB4AC8F127B5715FBA7767A16</key>
+			<iv>2861A363922099D0F0B2A5AD2A5F421E</iv>
+			<input>DF53538A17A2B339C23EBECC424CA649</input>
+			<output>D76E51B6EA5F74D0116C4D16EDD0DFAC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 51</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>EBF784D98E40372429819EE23BE85B723A8B21585EF3FBC26A3B58ED4AA6A5BA</key>
+			<iv>D76E51B6EA5F74D0116C4D16EDD0DFAC</iv>
+			<input>A41241BA399BAFE2904D3BCD0AD7E18E</input>
+			<output>6214F5E50EC99F40B86951CE395C8315</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 52</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C01A5093C6A29CEED72D14D903BD17E8589FD4BD503A6482D252092373FA26AF</key>
+			<iv>6214F5E50EC99F40B86951CE395C8315</iv>
+			<input>2BEDD44A48E2ABCAFEAC8A3B38554C9A</input>
+			<output>6CFC2188E40E806BBE277988B924627E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 53</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A8C3A10380B6D4D1CEFABF57F3C695193463F535B434E4E96C7570ABCADE44D1</key>
+			<iv>6CFC2188E40E806BBE277988B924627E</iv>
+			<input>68D9F1904614483F19D7AB8EF07B82F1</input>
+			<output>B98E851902AEC129FD1607DECA9E0669</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 54</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B828711ABA1D06408099944287112DE58DED702CB69A25C091637775004042B8</key>
+			<iv>B98E851902AEC129FD1607DECA9E0669</iv>
+			<input>10EBD0193AABD2914E632B1574D7B8FC</input>
+			<output>DBDA9DB56E6FF915D67D7DEE541DD6A3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 55</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3B0E9FE343D665ABB3706243EF023C765637ED99D8F5DCD5471E0A9B545D941B</key>
+			<iv>DBDA9DB56E6FF915D67D7DEE541DD6A3</iv>
+			<input>8326EEF9F9CB63EB33E9F60168131193</input>
+			<output>399802CE3FF3878A73C7D85E19FDD54B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 56</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>9270D72D972B46C8E630FBD1AA67FBED6FAFEF57E7065B5F34D9D2C54DA04150</key>
+			<iv>399802CE3FF3878A73C7D85E19FDD54B</iv>
+			<input>A97E48CED4FD2363554099924565C79B</input>
+			<output>40FABA067414961FD964EC91196943E3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 57</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>017211AC512541BFBDD0292385AA20862F5555519312CD40EDBD3E5454C902B3</key>
+			<iv>40FABA067414961FD964EC91196943E3</iv>
+			<input>9302C681C60E07775BE0D2F22FCDDB6B</input>
+			<output>6BF1125E581341510FD02B9450886B17</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 58</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>AC2652A877F924710178641D20B239B944A4470FCB018C11E26D15C0044169A4</key>
+			<iv>6BF1125E581341510FD02B9450886B17</iv>
+			<input>AD54430426DC65CEBCA84D3EA518193F</input>
+			<output>74871D2EF6D1F29181B0A2530885EEC8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 59</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0BF012A9F0CB194C1F00893D4803E10130235A213DD07E8063DDB7930CC4876C</key>
+			<iv>74871D2EF6D1F29181B0A2530885EEC8</iv>
+			<input>A7D6400187323D3D1E78ED2068B1D8B8</input>
+			<output>2A2DC9F5CB47C94D430ECAAAB1D0811E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 60</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8D22EEEA013E327509E84630166331DB1A0E93D4F697B7CD20D37D39BD140672</key>
+			<iv>2A2DC9F5CB47C94D430ECAAAB1D0811E</iv>
+			<input>86D2FC43F1F52B3916E8CF0D5E60D0DA</input>
+			<output>BC318E32957CE6577CD06E2D3166CD1F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 61</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>1C4909D11840D978FD7232D0FBC0E6A3A63F1DE663EB519A5C0313148C72CB6D</key>
+			<iv>BC318E32957CE6577CD06E2D3166CD1F</iv>
+			<input>916BE73B197EEB0DF49A74E0EDA3D778</input>
+			<output>E9858DBB1B5145ABB598ADE882346DDB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 62</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>DD2ED3C6FCE0034F19259D57A35B60CF4FBA905D78BA1431E99BBEFC0E46A6B6</key>
+			<iv>E9858DBB1B5145ABB598ADE882346DDB</iv>
+			<input>C167DA17E4A0DA37E457AF87589B866C</input>
+			<output>1E04B15BBF727BEAC33C0C26141636DD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 63</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>81C434CDF7EABAA49252EC86DFE15FBA51BE2106C7C86FDB2AA7B2DA1A50906B</key>
+			<iv>1E04B15BBF727BEAC33C0C26141636DD</iv>
+			<input>5CEAE70B0B0AB9EB8B7771D17CBA3F75</input>
+			<output>EB21AED731D594017F5729262A1E23B4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 64</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>AEF6BF8323CAE4C2270CC5E51B0A3BFFBA9F8FD1F61DFBDA55F09BFC304EB3DF</key>
+			<iv>EB21AED731D594017F5729262A1E23B4</iv>
+			<input>2F328B4ED4205E66B55E2963C4EB6445</input>
+			<output>EB73CFADA0ACB98B37091CB81489CC7C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 65</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>BC3BD548867FA82FF80EF67B38016A1E51EC407C56B1425162F9874424C77FA3</key>
+			<iv>EB73CFADA0ACB98B37091CB81489CC7C</iv>
+			<input>12CD6ACBA5B54CEDDF02339E230B51E1</input>
+			<output>1FEEF226D6759E8813B98A5D43B2F22A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 66</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E1F5760C694DBE5688A0241B5517B4B14E02B25A80C4DCD971400D1967758D89</key>
+			<iv>1FEEF226D6759E8813B98A5D43B2F22A</iv>
+			<input>5DCEA344EF32167970AED2606D16DEAF</input>
+			<output>9C591D087F0F45C8AE3DEC9C455FE200</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 67</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>ABF2D79C472D0159FA9AE646D0C0FC9CD25BAF52FFCB9911DF7DE185222A6F89</key>
+			<iv>9C591D087F0F45C8AE3DEC9C455FE200</iv>
+			<input>4A07A1902E60BF0F723AC25D85D7482D</input>
+			<output>62C4F4D7E4AC5ABC03BECA3CA56DA4FD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 68</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E58A351A4DD79A2ED6D386E11A8563F2B09F5B851B67C3ADDCC32BB98747CB74</key>
+			<iv>62C4F4D7E4AC5ABC03BECA3CA56DA4FD</iv>
+			<input>4E78E2860AFA9B772C4960A7CA459F6E</input>
+			<output>AD8557C0D04675CC312C7A106D5C8B83</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 69</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>BCF7BB1010AF5CEB05E06339689067E31D1A0C45CB21B661EDEF51A9EA1B40F7</key>
+			<iv>AD8557C0D04675CC312C7A106D5C8B83</iv>
+			<input>597D8E0A5D78C6C5D333E5D872150411</input>
+			<output>80159F4F5E0C2DC07D3CD3C52A1A8E6D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 70</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>328BB8EB86055D2BB52A02E40BB5D2C39D0F930A952D9BA190D3826CC001CE9A</key>
+			<iv>80159F4F5E0C2DC07D3CD3C52A1A8E6D</iv>
+			<input>8E7C03FB96AA01C0B0CA61DD6325B520</input>
+			<output>F58A2EE5A5BDE8CA0A96F4F4B64BE737</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 71</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F192AE51D926A2B68C38EA4E48A0590F6885BDEF3090736B9A457698764A29AD</key>
+			<iv>F58A2EE5A5BDE8CA0A96F4F4B64BE737</iv>
+			<input>C31916BA5F23FF9D3912E8AA43158BCC</input>
+			<output>B4C0DD55013AEFE12D94F31B861134CC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 72</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5EE48E38C2C805E2AACC89AD8682E552DC4560BA31AA9C8AB7D18583F05B1D61</key>
+			<iv>B4C0DD55013AEFE12D94F31B861134CC</iv>
+			<input>AF7620691BEEA75426F463E3CE22BC5D</input>
+			<output>FD8B06AEF9B3C25D11B950A6648276BB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 73</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F425B9BF4D114251736EE7FCDB430B6721CE6614C8195ED7A668D52594D96BDA</key>
+			<iv>FD8B06AEF9B3C25D11B950A6648276BB</iv>
+			<input>AAC137878FD947B3D9A26E515DC1EE35</input>
+			<output>31BE8DF4A8A749FBF11AB07D8479A10B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 74</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>61A2D5337BCB827887F884AD98C67BEA1070EBE060BE172C5772655810A0CAD1</key>
+			<iv>31BE8DF4A8A749FBF11AB07D8479A10B</iv>
+			<input>95876C8C36DAC029F49663514385708D</input>
+			<output>E9A2EF0C882781788D50033B79FE181F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 75</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E930B2277AC4475FB0A94519F60DE552F9D204ECE8999654DA226663695ED2CE</key>
+			<iv>E9A2EF0C882781788D50033B79FE181F</iv>
+			<input>88926714010FC5273751C1B46ECB9EB8</input>
+			<output>17FFCD5A010709A2737570E038D63B27</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 76</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B944CE978DF68F8FBFF0A5EA62AAC299EE2DC9B6E99E9FF6A95716835188E9E9</key>
+			<iv>17FFCD5A010709A2737570E038D63B27</iv>
+			<input>50747CB0F732C8D00F59E0F394A727CB</input>
+			<output>E12B89FA1B1DD3B29F02219FD3D7D3D2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 77</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0E2D7FCEB557462267BED2CCA8B48CD70F06404CF2834C443655371C825F3A3B</key>
+			<iv>E12B89FA1B1DD3B29F02219FD3D7D3D2</iv>
+			<input>B769B15938A1C9ADD84E7726CA1E4E4E</input>
+			<output>75AE99B6022B08E36FB88A6F4D7698BF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 78</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8046D73D60912221694B2AFE703EDB167AA8D9FAF0A844A759EDBD73CF29A284</key>
+			<iv>75AE99B6022B08E36FB88A6F4D7698BF</iv>
+			<input>8E6BA8F3D5C664030EF5F832D88A57C1</input>
+			<output>CF32DCE11FDB098A6435315342796064</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 79</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>20716D6975C32231968BF76725144CBAB59A051BEF734D2D3DD88C208D50C2E0</key>
+			<iv>CF32DCE11FDB098A6435315342796064</iv>
+			<input>A037BA5415520010FFC0DD99552A97AC</input>
+			<output>80F12B261317C66F21AC811230848468</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 80</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>AD5A2011E425AFFD57E7191336D37D25356B2E3DFC648B421C740D32BDD44688</key>
+			<iv>80F12B261317C66F21AC811230848468</iv>
+			<input>8D2B4D7891E68DCCC16CEE7413C7319F</input>
+			<output>F2C6B70C19A5748C6D2B5DE41544854F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 81</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>49D4228508C789105CF457D10FA56048C7AD9931E5C1FFCE715F50D6A890C3C7</key>
+			<iv>F2C6B70C19A5748C6D2B5DE41544854F</iv>
+			<input>E48E0294ECE226ED0B134EC239761D6D</input>
+			<output>A31FB3535978DAA555DD617FAB27A97A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 82</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>67CE710A3E778CB4A37D1F2274D4462D64B22A62BCB9256B248231A903B76ABD</key>
+			<iv>A31FB3535978DAA555DD617FAB27A97A</iv>
+			<input>2E1A538F36B005A4FF8948F37B712665</input>
+			<output>97336ECFAE89015E0B5A7D1C154C71BF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 83</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A87C517EF43CACC6D41EEB661DD1142CF38144AD123024352FD84CB516FB1B02</key>
+			<iv>97336ECFAE89015E0B5A7D1C154C71BF</iv>
+			<input>CFB22074CA4B20727763F44469055201</input>
+			<output>466CD227A6A9D5FC3C0579064530FCE0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 84</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D73F926A5B5DD8F5B82DE8F77E0E0697B5ED968AB499F1C913DD35B353CBE7E2</key>
+			<iv>466CD227A6A9D5FC3C0579064530FCE0</iv>
+			<input>7F43C314AF6174336C33039163DF12BB</input>
+			<output>4F444B4554E965A113DC0097AA8FAD7A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 85</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>7A19BE1C42A13B85B754834E9808DF4BFAA9DDCFE070946800013524F9444A98</key>
+			<iv>4F444B4554E965A113DC0097AA8FAD7A</iv>
+			<input>AD262C7619FCE3700F796BB9E606D9DC</input>
+			<output>F7078ABE7617867274CBBEDA1082B987</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 86</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D256675EDBF987B5CA86C21DE177C6A00DAE57719667121A74CA8BFEE9C6F31F</key>
+			<iv>F7078ABE7617867274CBBEDA1082B987</iv>
+			<input>A84FD9429958BC307DD24153797F19EB</input>
+			<output>676ACAB66B04597F1A33FF462BD5E0EE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 87</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C025616AB6F89BB1B90AA0E8F63FF1CC6AC49DC7FD634B656EF974B8C21313F1</key>
+			<iv>676ACAB66B04597F1A33FF462BD5E0EE</iv>
+			<input>127306346D011C04738C62F51748376C</input>
+			<output>BF66B8DD1E540A4FED759FDB9A44B439</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 88</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>2A437D44D93C25B3233FB168D63751A5D5A2251AE337412A838CEB635857A7C8</key>
+			<iv>BF66B8DD1E540A4FED759FDB9A44B439</iv>
+			<input>EA661C2E6FC4BE029A3511802008A069</input>
+			<output>EC8DBB5B3FE245180856B312D3052A87</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 89</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>838278123F0261D1F287C9FF94CA4A55392F9E41DCD504328BDA58718B528D4F</key>
+			<iv>EC8DBB5B3FE245180856B312D3052A87</iv>
+			<input>A9C10556E63E4462D1B8789742FD1BF0</input>
+			<output>02E1E60312BB371912C35E3EBC6EA755</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 90</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>64F3A47C8C7CFA9FF2AC88637C598E6A3BCE7842CE6E332B9919064F373C2A1A</key>
+			<iv>02E1E60312BB371912C35E3EBC6EA755</iv>
+			<input>E771DC6EB37E9B4E002B419CE893C43F</input>
+			<output>73D7499EBB38716D71CCB737CFFFA3FB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 91</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>585ABE6B779F22400FC2AC3B55B39E91481931DC75564246E8D5B178F8C389E1</key>
+			<iv>73D7499EBB38716D71CCB737CFFFA3FB</iv>
+			<input>3CA91A17FBE3D8DFFD6E245829EA10FB</input>
+			<output>CEE7721855B7381D369ECC1C9337BB02</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 92</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>7BC1E883465CBBB9BA624FF99308259386FE43C420E17A5BDE4B7D646BF432E3</key>
+			<iv>CEE7721855B7381D369ECC1C9337BB02</iv>
+			<input>239B56E831C399F9B5A0E3C2C6BBBB02</input>
+			<output>B6F48D369383974D163E4F17FDFC59EF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 93</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>70032AF50BB5E080D4AA7722CEDC7DA9300ACEF2B362ED16C875327396086B0C</key>
+			<iv>B6F48D369383974D163E4F17FDFC59EF</iv>
+			<input>0BC2C2764DE95B396EC838DB5DD4583A</input>
+			<output>E8372DA404126C63190626D95583629D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 94</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5C61B59BDA2FF51D4F4F740578466EA9D83DE356B7708175D17314AAC38B0991</key>
+			<iv>E8372DA404126C63190626D95583629D</iv>
+			<input>2C629F6ED19A159D9BE50327B69A1300</input>
+			<output>F717B53E51665D0854C895EA1D1D7E77</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 95</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>59A35E82B9C8D8FF25CFC5BAD979A9052F2A5668E616DC7D85BB8140DE9677E6</key>
+			<iv>F717B53E51665D0854C895EA1D1D7E77</iv>
+			<input>05C2EB1963E72DE26A80B1BFA13FC7AC</input>
+			<output>7D3EE90EEF7C16872F98296977AA9557</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 96</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5BC419836F7C4F57957E13E39B2181455214BF66096ACAFAAA23A829A93CE2B1</key>
+			<iv>7D3EE90EEF7C16872F98296977AA9557</iv>
+			<input>02674701D6B497A8B0B1D65942582840</input>
+			<output>6DCD0C4B5633078FDEA9AE24781CB212</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 97</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E6D2BB67584AA2FAAE1D0DAD8C9C60253FD9B32D5F59CD75748A060DD12050A3</key>
+			<iv>6DCD0C4B5633078FDEA9AE24781CB212</iv>
+			<input>BD16A2E43736EDAD3B631E4E17BDE160</input>
+			<output>6515251260A73AE868E992B6D49579C5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 98</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>57637851C3C08A2923EBD2FEA27472DC5ACC963F3FFEF79D1C6394BB05B52966</key>
+			<iv>6515251260A73AE868E992B6D49579C5</iv>
+			<input>B1B1C3369B8A28D38DF6DF532EE812F9</input>
+			<output>1A40C2C15F03867E81F951B545396BB4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 99</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E08E94110F1E64554848AB1966299B7D408C54FE60FD71E39D9AC50E408C42D2</key>
+			<iv>1A40C2C15F03867E81F951B545396BB4</iv>
+			<input>B7EDEC40CCDEEE7C6BA379E7C45DE9A1</input>
+			<output>DD331F336D669EFD37106099EA51010D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 100</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>17F2544156745EC108BF97DA806752C39DBF4BCD0D9BEF1EAA8AA597AADD43DF</key>
+			<iv>DD331F336D669EFD37106099EA51010D</iv>
+			<input>F77CC050596A3A9440F73CC3E64EC9BE</input>
+			<output>0EF37EC0B6071874FF68926D98A0EEAB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 101</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C97ABFF115E20A6C72A6206DB63EC0FD934C350DBB9CF76A55E237FA327DAD74</key>
+			<iv>0EF37EC0B6071874FF68926D98A0EEAB</iv>
+			<input>DE88EBB0439654AD7A19B7B73659923E</input>
+			<output>DA1DAEB42178A7657A40BD72A06CEDDC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 102</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>77AB469FBC999BB2922D460413E2012049519BB99AE4500F2FA28A88921140A8</key>
+			<iv>DA1DAEB42178A7657A40BD72A06CEDDC</iv>
+			<input>BED1F96EA97B91DEE08B6669A5DCC1DD</input>
+			<output>E78523134FC8EAA77CC85E0EEC60FCD3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 103</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4F88FA6F4053B3A15094ED532C2F47DCAED4B8AAD52CBAA8536AD4867E71BC7B</key>
+			<iv>E78523134FC8EAA77CC85E0EEC60FCD3</iv>
+			<input>3823BCF0FCCA2813C2B9AB573FCD46FC</input>
+			<output>BC540D1838D7AD8E8B1C44B96684DD31</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 104</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D178E105443700CFEE007AB3BAA71E4C1280B5B2EDFB1726D876903F18F5614A</key>
+			<iv>BC540D1838D7AD8E8B1C44B96684DD31</iv>
+			<input>9EF01B6A0464B36EBE9497E096885990</input>
+			<output>6C6B95A5D8F4E7F1A5864DDBFCDCEED8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 105</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8F6A589BA0ED1A67FE426368A7E523047EEB2017350FF0D77DF0DDE4E4298F92</key>
+			<iv>6C6B95A5D8F4E7F1A5864DDBFCDCEED8</iv>
+			<input>5E12B99EE4DA1AA8104219DB1D423D48</input>
+			<output>B58C92AE19B332621E7A4E5512C88596</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 106</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>147895B157BF16B87C32AAA17480A886CB67B2B92CBCC2B5638A93B1F6E10A04</key>
+			<iv>B58C92AE19B332621E7A4E5512C88596</iv>
+			<input>9B12CD2AF7520CDF8270C9C9D3658B82</input>
+			<output>4D1D90F007BB5099C382E69C9CD1F7E5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 107</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4C8441FCEBBD595999864A6CC37F7EDB867A22492B07922CA008752D6A30FDE1</key>
+			<iv>4D1D90F007BB5099C382E69C9CD1F7E5</iv>
+			<input>58FCD44DBC024FE1E5B4E0CDB7FFD65D</input>
+			<output>7F59920056EC32FA48F8A9CCCFFE437A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 108</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>CD922EEA60F0F136A799C650F5D4B030F923B0497DEBA0D6E8F0DCE1A5CEBE9B</key>
+			<iv>7F59920056EC32FA48F8A9CCCFFE437A</iv>
+			<input>81166F168B4DA86F3E1F8C3C36ABCEEB</input>
+			<output>A546F57E48A783694577D59F7FD01D9E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 109</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>90DE3ECB26E68BDD3C4B7AB9B9CDE6195C654537354C23BFAD87097EDA1EA305</key>
+			<iv>A546F57E48A783694577D59F7FD01D9E</iv>
+			<input>5D4C102146167AEB9BD2BCE94C195629</input>
+			<output>6342B8CB1E493F916585FF1BBFC42AB3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 110</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>ADF1869FEA15122394E1F6FF6B51E5DE3F27FDFC2B051C2EC802F66565DA89B6</key>
+			<iv>6342B8CB1E493F916585FF1BBFC42AB3</iv>
+			<input>3D2FB854CCF399FEA8AA8C46D29C03C7</input>
+			<output>052AEDF54016429320B04243E308ECFE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 111</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>DF52D7982845CBAEB4E56592906B63943A0D10096B135EBDE8B2B42686D26548</key>
+			<iv>052AEDF54016429320B04243E308ECFE</iv>
+			<input>72A35107C250D98D2004936DFB3A864A</input>
+			<output>EE147A64DC2E31222A3A14B133769ACE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 112</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5D6B5899612FF15825029DEB0B37CB4ED4196A6DB73D6F9FC288A097B5A4FF86</key>
+			<iv>EE147A64DC2E31222A3A14B133769ACE</iv>
+			<input>82398F01496A3AF691E7F8799B5CA8DA</input>
+			<output>8330EF868E72D33172D7DEC7B440056C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 113</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>FC23917C478894C9490A6585CCB8A716572985EB394FBCAEB05F7E5001E4FAEA</key>
+			<iv>8330EF868E72D33172D7DEC7B440056C</iv>
+			<input>A148C9E526A765916C08F86EC78F6C58</input>
+			<output>DC83E3727C4E9754A82BFCFFD924ACB3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 114</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>BCD556FA7AFA27F9675F45922924DFA68BAA669945012BFA187482AFD8C05659</key>
+			<iv>DC83E3727C4E9754A82BFCFFD924ACB3</iv>
+			<input>40F6C7863D72B3302E552017E59C78B0</input>
+			<output>C0B97D9320DC3E893953E1D93859D3E4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 115</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A0F23A11C85F008CFEC20F76BD6751054B131B0A65DD157321276376E09985BD</key>
+			<iv>C0B97D9320DC3E893953E1D93859D3E4</iv>
+			<input>1C276CEBB2A52775999D4AE494438EA3</input>
+			<output>8C28875C39211D01A084A59BA71D0C31</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 116</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>2BB58C8FE9FE5BAEC5DB3F6A7EB98187C73B9C565CFC087281A3C6ED4784898C</key>
+			<iv>8C28875C39211D01A084A59BA71D0C31</iv>
+			<input>8B47B69E21A15B223B19301CC3DED082</input>
+			<output>7865E390E8019259A117669082ED5CCC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 117</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>6035A1AC1F0C1871EA06773DEA40B5C5BF5E7FC6B4FD9A2B20B4A07DC569D540</key>
+			<iv>7865E390E8019259A117669082ED5CCC</iv>
+			<input>4B802D23F6F243DF2FDD485794F93442</input>
+			<output>DC7BA7C54217B8DEE966C0672DBE79CD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 118</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>CCA70BB373BA65736D25078BB99980F66325D803F6EA22F5C9D2601AE8D7AC8D</key>
+			<iv>DC7BA7C54217B8DEE966C0672DBE79CD</iv>
+			<input>AC92AA1F6CB67D02872370B653D93533</input>
+			<output>CBB60FB6BE7240A2037CDA46DAAAC4E4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 119</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E6D9E4347ABCE875CDFB026A9B1CE767A893D7B548986257CAAEBA5C327D6869</key>
+			<iv>CBB60FB6BE7240A2037CDA46DAAAC4E4</iv>
+			<input>2A7EEF8709068D06A0DE05E122856791</input>
+			<output>3B0863884DCFFDAAE439E3BCFC2E0491</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 120</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>90C0678C9B9796FACBD3A9E8E40A46E6939BB43D05579FFD2E9759E0CE536CF8</key>
+			<iv>3B0863884DCFFDAAE439E3BCFC2E0491</iv>
+			<input>761983B8E12B7E8F0628AB827F16A181</input>
+			<output>1407CDBD04CA6450D15A276B0E45D500</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 121</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A3505D86BF4B95AEC0F720B4CBDF4985879C7980019DFBADFFCD7E8BC016B9F8</key>
+			<iv>1407CDBD04CA6450D15A276B0E45D500</iv>
+			<input>33903A0A24DC03540B24895C2FD50F63</input>
+			<output>94B64DF8376EAF94F24EB0457DF81418</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 122</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>EAD741BA44D8637A4D49A089E4A122F2132A347836F354390D83CECEBDEEADE0</key>
+			<iv>94B64DF8376EAF94F24EB0457DF81418</iv>
+			<input>49871C3CFB93F6D48DBE803D2F7E6B77</input>
+			<output>6E2DE304D4A21A218291FD9B59FED9BF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 123</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>278551B22B73239BF36E61370FFF43EA7D07D77CE2514E188F123355E410745F</key>
+			<iv>6E2DE304D4A21A218291FD9B59FED9BF</iv>
+			<input>CD5210086FAB40E1BE27C1BEEB5E6118</input>
+			<output>72A1E7B22D6B8B8C38C4CCD545466879</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 124</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C7046CA82928EA5AE1E6998399A090BB0FA630CECF3AC594B7D6FF80A1561C26</key>
+			<iv>72A1E7B22D6B8B8C38C4CCD545466879</iv>
+			<input>E0813D1A025BC9C11288F8B4965FD351</input>
+			<output>F5F1B011C644D119625733433C3DBB40</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 125</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>82AF7079A309A3B1367E4DC8EE90B8C5FA5780DF097E148DD581CCC39D6BA766</key>
+			<iv>F5F1B011C644D119625733433C3DBB40</iv>
+			<input>45AB1CD18A2149EBD798D44B7730287E</input>
+			<output>FDD90319FC2878AE4E23CE63C6660D1A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 126</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>EB439411E1412BA8D6DB9F3052753D3F078E83C6F5566C239BA202A05B0DAA7C</key>
+			<iv>FDD90319FC2878AE4E23CE63C6660D1A</iv>
+			<input>69ECE46842488819E0A5D2F8BCE585FA</input>
+			<output>0B3948AEFD674622289CB41E3F668A5C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 127</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C2FDF3EB8C01693C7FB990CE6D7F56E10CB7CB6808312A01B33EB6BE646B2020</key>
+			<iv>0B3948AEFD674622289CB41E3F668A5C</iv>
+			<input>29BE67FA6D404294A9620FFE3F0A6BDE</input>
+			<output>9F5BF60EB5CCF9D9F3A20DA569209636</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 128</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>ECF0B5C32A3163495086894AB263166D93EC3D66BDFDD3D8409CBB1B0D4BB616</key>
+			<iv>9F5BF60EB5CCF9D9F3A20DA569209636</iv>
+			<input>2E0D4628A6300A752F3F1984DF1C408C</input>
+			<output>3FED40A5796B3D1FF8805E5EF8922511</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 129</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>259CAA194EE9BE90B2B1E7654CBDCD03AC017DC3C496EEC7B81CE545F5D99307</key>
+			<iv>3FED40A5796B3D1FF8805E5EF8922511</iv>
+			<input>C96C1FDA64D8DDD9E2376E2FFEDEDB6E</input>
+			<output>2973A39E09EF5F4F42B29E6730ECC127</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 130</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>FAAB18CE5FA7895BAA9EC69A55F690208572DE5DCD79B188FAAE7B22C5355220</key>
+			<iv>2973A39E09EF5F4F42B29E6730ECC127</iv>
+			<input>DF37B2D7114E37CB182F21FF194B5D23</input>
+			<output>F8C4C1A86B0665E2124CFFA9128FFEFD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 131</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3806BAB3764E794DF526A17BCE0112877DB61FF5A67FD46AE8E2848BD7BAACDD</key>
+			<iv>F8C4C1A86B0665E2124CFFA9128FFEFD</iv>
+			<input>C2ADA27D29E9F0165FB867E19BF782A7</input>
+			<output>90996F6629A41FC86A9520DD33AE5B3F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 132</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B7F781357E024140C3797D01C286E72BED2F70938FDBCBA28277A456E414F7E2</key>
+			<iv>90996F6629A41FC86A9520DD33AE5B3F</iv>
+			<input>8FF13B86084C380D365FDC7A0C87F5AC</input>
+			<output>9DAFB2F259BFD18945A0A6EFF9A81A75</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 133</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B67D37A8E281AFD015C38A72F5662BEE7080C261D6641A2BC7D702B91DBCED97</key>
+			<iv>9DAFB2F259BFD18945A0A6EFF9A81A75</iv>
+			<input>018AB69D9C83EE90D6BAF77337E0CCC5</input>
+			<output>C89F523289AE2A7C8F796C2252CB0597</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 134</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A47B97F34FB4A8F219ED7A59EFE40080B81F90535FCA305748AE6E9B4F77E800</key>
+			<iv>C89F523289AE2A7C8F796C2252CB0597</iv>
+			<input>1206A05BAD3507220C2EF02B1A822B6E</input>
+			<output>3AACC4E5DE152BB1730C6D10C9A81A0A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 135</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E8EBBFDA61B6BC6735953F8E448B5E0282B354B681DF1BE63BA2038B86DFF20A</key>
+			<iv>3AACC4E5DE152BB1730C6D10C9A81A0A</iv>
+			<input>4C9028292E0214952C7845D7AB6F5E82</input>
+			<output>1E315BFFFDC3DA42438E683263B496DD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 136</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>EE950FF3D603DECEE18F4ACF99A623589C820F497C1CC1A4782C6BB9E56B64D7</key>
+			<iv>1E315BFFFDC3DA42438E683263B496DD</iv>
+			<input>067EB029B7B562A9D41A7541DD2D7D5A</input>
+			<output>9B021A44CD9FF920DFE1EC97B3EE8AE4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 137</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E073E1149A4A605E041167F3739F17240780150DB1833884A7CD872E5685EE33</key>
+			<iv>9B021A44CD9FF920DFE1EC97B3EE8AE4</iv>
+			<input>0EE6EEE74C49BE90E59E2D3CEA39347C</input>
+			<output>4F62EE03D7A8337ECB3DCC0EA5444C2D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 138</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>BF449E4B7DFA404D3F18C0266725F67248E2FB0E662B0BFA6CF04B20F3C1A21E</key>
+			<iv>4F62EE03D7A8337ECB3DCC0EA5444C2D</iv>
+			<input>5F377F5FE7B020133B09A7D514BAE156</input>
+			<output>AC8767B1E15D6D1ECACCCBF2D0FAB043</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 139</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3AB2898399D0F8467B37A5C916D9117AE4659CBF877666E4A63C80D2233B125D</key>
+			<iv>AC8767B1E15D6D1ECACCCBF2D0FAB043</iv>
+			<input>85F617C8E42AB80B442F65EF71FCE708</input>
+			<output>9CA6E27F1966AE133CB7B98C2B13C1DA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 140</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>06A09B6D5A6BCA82B26D0625F2A89FA178C37EC09E10C8F79A8B395E0828D387</key>
+			<iv>9CA6E27F1966AE133CB7B98C2B13C1DA</iv>
+			<input>3C1212EEC3BB32C4C95AA3ECE4718EDB</input>
+			<output>B7A6788E6D9886047D1450B093F5B6FE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 141</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>79A26263675E11BE581DDEA79A20CAACCF65064EF3884EF3E79F69EE9BDD6579</key>
+			<iv>B7A6788E6D9886047D1450B093F5B6FE</iv>
+			<input>7F02F90E3D35DB3CEA70D8826888550D</input>
+			<output>5C1785DC27BC301DEAFAEF325A4CCBFD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 142</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>21DEF781026D9ACB4108C6F9847C635F93728392D4347EEE0D6586DCC191AE84</key>
+			<iv>5C1785DC27BC301DEAFAEF325A4CCBFD</iv>
+			<input>587C95E265338B751915185E1E5CA9F3</input>
+			<output>9577E8F6DF5921C4B518974A2F1FCF07</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 143</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>EB000BAA170733EA4D077BDD7DA1623506056B640B6D5F2AB87D1196EE8E6183</key>
+			<iv>9577E8F6DF5921C4B518974A2F1FCF07</iv>
+			<input>CADEFC2B156AA9210C0FBD24F9DD016A</input>
+			<output>09F8E3DA7C5E39F2F13C2B72001D1D56</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 144</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D56A1025AB5F7B5F943B3AECAF87A2800FFD88BE773366D849413AE4EE937CD5</key>
+			<iv>09F8E3DA7C5E39F2F13C2B72001D1D56</iv>
+			<input>3E6A1B8FBC5848B5D93C4131D226C0B5</input>
+			<output>7344F33968E177F3864908F02915739A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 145</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>876077EA9BDB2134098B73CAD4411D997CB97B871FD2112BCF083214C7860F4F</key>
+			<iv>7344F33968E177F3864908F02915739A</iv>
+			<input>520A67CF30845A6B9DB049267BC6BF19</input>
+			<output>EC286360EF2A54CE894ED06ACF39970C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 146</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>AA9943761AD545F47EBCF5CD4584C3B3909118E7F0F845E54646E27E08BF9843</key>
+			<iv>EC286360EF2A54CE894ED06ACF39970C</iv>
+			<input>2DF9349C810E64C07737860791C5DE2A</input>
+			<output>89F4BE70D36A05C84FD2124F6A69786B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 147</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5C285D3FD07EF5F6664B1F4C4CA771E31965A6972392402D0994F03162D6E028</key>
+			<iv>89F4BE70D36A05C84FD2124F6A69786B</iv>
+			<input>F6B11E49CAABB00218F7EA810923B250</input>
+			<output>9A65E99C06E0744056365C4A26CD001F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 148</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F28851656D77922A55655DBE4610993683004F0B2572346D5FA2AC7B441BE037</key>
+			<iv>9A65E99C06E0744056365C4A26CD001F</iv>
+			<input>AEA00C5ABD0967DC332E42F20AB7E8D5</input>
+			<output>566ECB7B317C81CF87BC483B4B6CF417</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 149</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>62428DD3F6B04C564CA6D9DA9A9A64B3D56E8470140EB5A2D81EE4400F771420</key>
+			<iv>566ECB7B317C81CF87BC483B4B6CF417</iv>
+			<input>90CADCB69BC7DE7C19C38464DC8AFD85</input>
+			<output>16E3F727D2D4CC2E88C2A4B0DFEF34AF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 150</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>78A68A0EC33E2C0198538C1EA591AF46C38D7357C6DA798C50DC40F0D098208F</key>
+			<iv>16E3F727D2D4CC2E88C2A4B0DFEF34AF</iv>
+			<input>1AE407DD358E6057D4F555C43F0BCBF5</input>
+			<output>6F6606018F5491FC43864FC29B572551</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 151</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4EFBCF71F7A0DA7564DAF1F0488AA933ACEB7556498EE870135A0F324BCF05DE</key>
+			<iv>6F6606018F5491FC43864FC29B572551</iv>
+			<input>365D457F349EF674FC897DEEED1B0675</input>
+			<output>BC07194E716B4D78F64E14B6E5762439</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 152</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A4BBF15395604071DF929A4922A129DD10EC6C1838E5A508E5141B84AEB921E7</key>
+			<iv>BC07194E716B4D78F64E14B6E5762439</iv>
+			<input>EA403E2262C09A04BB486BB96A2B80EE</input>
+			<output>BF1994171481FB4F84AB092F437EA9C7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 153</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>665F10926596E8F5691ACE10AA5075AEAFF5F80F2C645E4761BF12ABEDC78820</key>
+			<iv>BF1994171481FB4F84AB092F437EA9C7</iv>
+			<input>C2E4E1C1F0F6A884B688545988F15C73</input>
+			<output>254FE05D25B67D3BF6C2688F46A7FAD8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 154</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>15F4BA29EBAAF160AC95507FDA03D7D58ABA185209D2237C977D7A24AB6072F8</key>
+			<iv>254FE05D25B67D3BF6C2688F46A7FAD8</iv>
+			<input>73ABAABB8E3C1995C58F9E6F7053A27B</input>
+			<output>A03B8DB2C1C9B6C574A8499C6E5869CF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 155</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>96A760AB52E1D6A5ACFCA016E98D0BA12A8195E0C81B95B9E3D533B8C5381B37</key>
+			<iv>A03B8DB2C1C9B6C574A8499C6E5869CF</iv>
+			<input>8353DA82B94B27C50069F069338EDC74</input>
+			<output>088F141F097F659145DE8E1EDB2300B5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 156</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>7C06F9EE0327C811CEE3CC3B2B492620220E81FFC164F028A60BBDA61E1B1B82</key>
+			<iv>088F141F097F659145DE8E1EDB2300B5</iv>
+			<input>EAA1994551C61EB4621F6C2DC2C42D81</input>
+			<output>43703327BFDAF109F6F9C5969D3C7649</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 157</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0F8AC1E3014DD99D1A440A693CB73B51617EB2D87EBE012150F2783083276DCB</key>
+			<iv>43703327BFDAF109F6F9C5969D3C7649</iv>
+			<input>738C380D026A118CD4A7C65217FE1D71</input>
+			<output>BDAC873D0A674CDA98105DC3070F7BE4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 158</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E595998ABEF32CABDD4A441B4042BF8BDCD235E574D94DFBC8E225F38428162F</key>
+			<iv>BDAC873D0A674CDA98105DC3070F7BE4</iv>
+			<input>EA1F5869BFBEF536C70E4E727CF584DA</input>
+			<output>A1A89122CF532FBC69E74A70F1E7346F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 159</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>FBA3999F7BF540184E9BE7715CA8C0497D7AA4C7BB8A6247A1056F8375CF2240</key>
+			<iv>A1A89122CF532FBC69E74A70F1E7346F</iv>
+			<input>1E360015C5066CB393D1A36A1CEA7FC2</input>
+			<output>68C2A6FF8EABE7EA05E5DD6093C00129</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 160</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>65AF7CB5F5CEF75FEF0BF5F746D7DD7D15B80238352185ADA4E0B2E3E60F2369</key>
+			<iv>68C2A6FF8EABE7EA05E5DD6093C00129</iv>
+			<input>9E0CE52A8E3BB747A19012861A7F1D34</input>
+			<output>1EA92E63C6926082B04F69E658CFA478</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 161</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>7D3BA807729873EB2021AC1817B2C7D30B112C5BF3B3E52F14AFDB05BEC08711</key>
+			<iv>1EA92E63C6926082B04F69E658CFA478</iv>
+			<input>1894D4B2875684B4CF2A59EF51651AAE</input>
+			<output>45A943F0B6430ABA20C562469AE98A6D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 162</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5ECAEF5BF4EC899C7BFAEE2F50B864924EB86FAB45F0EF95346AB94324290D7C</key>
+			<iv>45A943F0B6430ABA20C562469AE98A6D</iv>
+			<input>23F1475C8674FA775BDB4237470AA341</input>
+			<output>6CDF579A8429606CC9BC56D010845954</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 163</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8D394BD1C8C1D1F8A67A3BA16530662A22673831C1D98FF9FDD6EF9334AD5428</key>
+			<iv>6CDF579A8429606CC9BC56D010845954</iv>
+			<input>D3F3A48A3C2D5864DD80D58E358802B8</input>
+			<output>96E9E19694DB9931AC09A7B6296FEAA8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 164</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>9ABEC4725C717368463710CB2D45774DB48ED9A7550216C851DF48251DC2BE80</key>
+			<iv>96E9E19694DB9931AC09A7B6296FEAA8</iv>
+			<input>17878FA394B0A290E04D2B6A48751167</input>
+			<output>176C9B9B32A539F35BDFB21B38C42134</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 165</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3CA1E23510949D81242F16DE0E9B2B3AA3E2423C67A72F3B0A00FA3E25069FB4</key>
+			<iv>176C9B9B32A539F35BDFB21B38C42134</iv>
+			<input>A61F26474CE5EEE96218061523DE5C77</input>
+			<output>06004480169FB7B6D4DBA7453A85E54D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 166</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>2A72AA0C7EAA3113480EF57A83C272D7A5E206BC7138988DDEDB5D7B1F837AF9</key>
+			<iv>06004480169FB7B6D4DBA7453A85E54D</iv>
+			<input>16D348396E3EAC926C21E3A48D5959ED</input>
+			<output>FF2F4F6E32133CE8C70252937FE5BDA6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 167</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>90C0C8FC5B65BE92E643956293A70AF35ACD49D2432BA46519D90FE86066C75F</key>
+			<iv>FF2F4F6E32133CE8C70252937FE5BDA6</iv>
+			<input>BAB262F025CF8F81AE4D601810657824</input>
+			<output>0972CCC79C412DB6FBC5918B8E6EAB7C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 168</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E0AF49BAC4BD146E83C884327FFB682353BF8515DF6A89D3E21C9E63EE086C23</key>
+			<iv>0972CCC79C412DB6FBC5918B8E6EAB7C</iv>
+			<input>706F81469FD8AAFC658B1150EC5C62D0</input>
+			<output>2D8C668310308FCF7B3E325F50AA89E5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 169</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E5C29451893B7B94249E89469E58DEAD7E33E396CF5A061C9922AC3CBEA2E5C6</key>
+			<iv>2D8C668310308FCF7B3E325F50AA89E5</iv>
+			<input>056DDDEB4D866FFAA7560D74E1A3B68E</input>
+			<output>8342DD95F1040E763C82E36F8F74822F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 170</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4A9AD7CAFA46AE63362069120B502D33FD713E033E5E086AA5A04F5331D667E9</key>
+			<iv>8342DD95F1040E763C82E36F8F74822F</iv>
+			<input>AF58439B737DD5F712BEE0549508F39E</input>
+			<output>8CA83627884D9B7A62F096BD37C14EFF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 171</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>21AEFC00E7CC2942F319630702ECCC6B71D90824B6139310C750D9EE06172916</key>
+			<iv>8CA83627884D9B7A62F096BD37C14EFF</iv>
+			<input>6B342BCA1D8A8721C5390A1509BCE158</input>
+			<output>13073AB95C0C0587372564189A4C176F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 172</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>7E615F002723795F6E37182ECC0C429E62DE329DEA1F9697F075BDF69C5B3E79</key>
+			<iv>13073AB95C0C0587372564189A4C176F</iv>
+			<input>5FCFA300C0EF501D9D2E7B29CEE08EF5</input>
+			<output>247A01C6A7072F64CB463E6580DA222E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 173</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C2A25232803E901B35080B5CA64DEC2646A4335B4D18B9F33B3383931C811C57</key>
+			<iv>247A01C6A7072F64CB463E6580DA222E</iv>
+			<input>BCC30D32A71DE9445B3F13726A41AEB8</input>
+			<output>562355D078402DA76B0CCAAC2BE63DAE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 174</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>46C06B83AD1C5CD849C53A11C05137141087668B35589454503F493F376721F9</key>
+			<iv>562355D078402DA76B0CCAAC2BE63DAE</iv>
+			<input>846239B12D22CCC37CCD314D661CDB32</input>
+			<output>841B1644CCE1BF9DB0D537733047DB7F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 175</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>CB3AD5FB9E07D380841D712E7A71FC15949C70CFF9B92BC9E0EA7E4C0720FA86</key>
+			<iv>841B1644CCE1BF9DB0D537733047DB7F</iv>
+			<input>8DFABE78331B8F58CDD84B3FBA20CB01</input>
+			<output>DE34C065627DB86A2D0AE89FB31BDA86</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 176</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>240CFC15D60F6AE4A53D2C25BD71DD6E4AA8B0AA9BC493A3CDE096D3B43B2000</key>
+			<iv>DE34C065627DB86A2D0AE89FB31BDA86</iv>
+			<input>EF3629EE4808B96421205D0BC700217B</input>
+			<output>38DD744B95756614261178685FBF097F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 177</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>FAA7CBA4AAAD9576591C12233960F1C87275C4E10EB1F5B7EBF1EEBBEB84297F</key>
+			<iv>38DD744B95756614261178685FBF097F</iv>
+			<input>DEAB37B17CA2FF92FC213E0684112CA6</input>
+			<output>DC1CF4E4633355111AD09BE1C6BC1E39</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 178</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>29E0D33A81FFDCE220D1587C36C5EB09AE6930056D82A0A6F121755A2D383746</key>
+			<iv>DC1CF4E4633355111AD09BE1C6BC1E39</iv>
+			<input>D347189E2B52499479CD4A5F0FA51AC1</input>
+			<output>2A5DC4E8C16753D202B638E5003AF83D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 179</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>956C5751C5B439990A006DB1B52336E78434F4EDACE5F374F3974DBF2D02CF7B</key>
+			<iv>2A5DC4E8C16753D202B638E5003AF83D</iv>
+			<input>BC8C846B444BE57B2AD135CD83E6DDEE</input>
+			<output>70F5676DC7646EA8F8A913AE6AD21949</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 180</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8AD9D44BC9018FD05B103360575592FEF4C193806B819DDC0B3E5E1147D0D632</key>
+			<iv>70F5676DC7646EA8F8A913AE6AD21949</iv>
+			<input>1FB5831A0CB5B64951105ED1E276A419</input>
+			<output>C44DA6A603A1E9C02F18123D5CAD5291</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 181</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>DA77F2DA5CD7148B15FE8CA898C9A25E308C35266820741C24264C2C1B7D84A3</key>
+			<iv>C44DA6A603A1E9C02F18123D5CAD5291</iv>
+			<input>50AE269195D69B5B4EEEBFC8CF9C30A0</input>
+			<output>53C2D89EC4D5867DC79168D21C9B8755</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 182</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4A4FD6AED6825A2A0C2114460F029EDA634EEDB8ACF5F261E3B724FE07E603F6</key>
+			<iv>53C2D89EC4D5867DC79168D21C9B8755</iv>
+			<input>903824748A554EA119DF98EE97CB3C84</input>
+			<output>79B9DABE5171A614CAFDEA11637A1800</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 183</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>29102930967275801BD019D6766FDA1A1AF73706FD845475294ACEEF649C1BF6</key>
+			<iv>79B9DABE5171A614CAFDEA11637A1800</iv>
+			<input>635FFF9E40F02FAA17F10D90796D44C0</input>
+			<output>8AB92FA5EA50F1185112FE4D8D2FCC21</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 184</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F4ABA34B232C18EAD6D367320651C374904E18A317D4A56D785830A2E9B3D7D7</key>
+			<iv>8AB92FA5EA50F1185112FE4D8D2FCC21</iv>
+			<input>DDBB8A7BB55E6D6ACD037EE4703E196E</input>
+			<output>FB97C84040732D7B308C5959059D90A9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 185</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>FB140F98A79F5D5D68B80301CB7B640E6BD9D0E357A7881648D469FBEC2E477E</key>
+			<iv>FB97C84040732D7B308C5959059D90A9</iv>
+			<input>0FBFACD384B345B7BE6B6433CD2AA77A</input>
+			<output>D0D0119D500519BF5B4770C494B41680</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 186</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>BC98221C0792D22B6EB258E57DB0D8B0BB09C17E07A291A91393193F789A51FE</key>
+			<iv>D0D0119D500519BF5B4770C494B41680</iv>
+			<input>478C2D84A00D8F76060A5BE4B6CBBCBE</input>
+			<output>94842399FC93828D30979DAD9210B827</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 187</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C92F345AC3CB803EA91C123F97E7005A2F8DE2E7FB31132423048492EA8AE9D9</key>
+			<iv>94842399FC93828D30979DAD9210B827</iv>
+			<input>75B71646C4595215C7AE4ADAEA57D8EA</input>
+			<output>5BDB886E7A7DBBA8679704F13F44B981</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 188</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3EACAF51FEA9A9886D0B9D1B6BA8436574566A89814CA88C44938063D5CE5058</key>
+			<iv>5BDB886E7A7DBBA8679704F13F44B981</iv>
+			<input>F7839B0B3D6229B6C4178F24FC4F433F</input>
+			<output>A2DA893257EE0F732A80FC52887A0788</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 189</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>72E26FEDC250C5FED59FE29C966B61FAD68CE3BBD6A2A7FF6E137C315DB457D0</key>
+			<iv>A2DA893257EE0F732A80FC52887A0788</iv>
+			<input>4C4EC0BC3CF96C76B8947F87FDC3229F</input>
+			<output>2F7877481B1162B01616C9F3268B4C44</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 190</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>901C1268AD3582E6A9FA4C5CBB99D07EF9F494F3CDB3C54F7805B5C27B3F1B94</key>
+			<iv>2F7877481B1162B01616C9F3268B4C44</iv>
+			<input>E2FE7D856F6547187C65AEC02DF2B184</input>
+			<output>9FFA4AF8D0F096CC40A9F879076211E0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 191</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>EAF814EC49F2254E4933FAF977D7BEEC660EDE0B1D43538338AC4DBB7C5D0A74</key>
+			<iv>9FFA4AF8D0F096CC40A9F879076211E0</iv>
+			<input>7AE40684E4C7A7A8E0C9B6A5CC4E6E92</input>
+			<output>886097F5BC20C157A605CBEFCA5663D7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 192</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8ED70BBA192093A0C9AD62E86C27091FEE6E49FEA16392D49EA98654B60B69A3</key>
+			<iv>886097F5BC20C157A605CBEFCA5663D7</iv>
+			<input>642F1F5650D2B6EE809E98111BF0B7F3</input>
+			<output>00DBBB84F52B3C9B28325161072753B6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 193</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>18280464C9E683CFFF9B75A5FD74EE96EEB5F27A5448AE4FB69BD735B12C3A15</key>
+			<iv>00DBBB84F52B3C9B28325161072753B6</iv>
+			<input>96FF0FDED0C6106F3636174D9153E789</input>
+			<output>714A27832B326F0A8FA745012DE4D936</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 194</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F464EE1298B09059016082CCC5ABC0129FFFD5F97F7AC145393C92349CC8E323</key>
+			<iv>714A27832B326F0A8FA745012DE4D936</iv>
+			<input>EC4CEA7651561396FEFBF76938DF2E84</input>
+			<output>5DE8A5CDBA7A6111A646AA17CA5324D4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 195</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>EE7301D63C482593ABB33CF4A57F1101C2177034C500A0549F7A3823569BC7F7</key>
+			<iv>5DE8A5CDBA7A6111A646AA17CA5324D4</iv>
+			<input>1A17EFC4A4F8B5CAAAD3BE3860D4D113</input>
+			<output>EA197ECF36E63616EBB0D9D7C1BD9A22</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 196</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>10528506D50D143EAC40D83731DD55F0280E0EFBF3E6964274CAE1F497265DD5</key>
+			<iv>EA197ECF36E63616EBB0D9D7C1BD9A22</iv>
+			<input>FE2184D0E94531AD07F3E4C394A244F1</input>
+			<output>798349D56EC37993B0E131F8E3F64860</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 197</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>438E1B672254504B972927644802ED36518D472E9D25EFD1C42BD00C74D015B5</key>
+			<iv>798349D56EC37993B0E131F8E3F64860</iv>
+			<input>53DC9E61F75944753B69FF5379DFB8C6</input>
+			<output>545E4CD72E74F5A91B29DDBA60BCEB5A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 198</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>7E32F16A4E2E125A95FF9963C6F9796105D30BF9B3511A78DF020DB6146CFEEF</key>
+			<iv>545E4CD72E74F5A91B29DDBA60BCEB5A</iv>
+			<input>3DBCEA0D6C7A421102D6BE078EFB9457</input>
+			<output>084142F2C892DCF8A37A509DF0D669BC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 199</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B1BEC1C124A0941D0BA6C75239C17E250D92490B7BC3C6807C785D2BE4BA9753</key>
+			<iv>084142F2C892DCF8A37A509DF0D669BC</iv>
+			<input>CF8C30AB6A8E86479E595E31FF380744</input>
+			<output>0A96C326C9D642F1F84C8772BCF8EB4A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 200</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>80D7A5A2AE29B42143046D45B6B6B36C07048A2DB21584718434DA5958427C19</key>
+			<iv>0A96C326C9D642F1F84C8772BCF8EB4A</iv>
+			<input>316964638A89203C48A2AA178F77CD49</input>
+			<output>273916ED09A517CE5C6A294D82E78980</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 201</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4D1C892DF27868BBB0FE803145C1D731203D9CC0BBB093BFD85EF314DAA5F599</key>
+			<iv>273916ED09A517CE5C6A294D82E78980</iv>
+			<input>CDCB2C8F5C51DC9AF3FAED74F377645D</input>
+			<output>7183A7C83964ECFB2A1E44FFCFEBB7C1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 202</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8C9B28041ECD5149A51207ACE38F0D0351BE3B0882D47F44F240B7EB154E4258</key>
+			<iv>7183A7C83964ECFB2A1E44FFCFEBB7C1</iv>
+			<input>C187A129ECB539F215EC879DA64EDA32</input>
+			<output>6015DF395D795DECA0A2F833E3614000</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 203</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>FF175C7C745BB06E51EEDAA4F2C61E0F31ABE431DFAD22A852E24FD8F62F0258</key>
+			<iv>6015DF395D795DECA0A2F833E3614000</iv>
+			<input>738C74786A96E127F4FCDD081149130C</input>
+			<output>B6B466B56B0E994E672072C273BA067D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 204</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0C84C64E1BB3B86E9AF5A8405D950B3A871F8284B4A3BBE635C23D1A85950425</key>
+			<iv>B6B466B56B0E994E672072C273BA067D</iv>
+			<input>F3939A326FE80800CB1B72E4AF531535</input>
+			<output>C8566E37DF2E2958DDD5D2DB49889BA8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 205</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5FF4C2A08B85338172D2779BF789DA234F49ECB36B8D92BEE817EFC1CC1D9F8D</key>
+			<iv>C8566E37DF2E2958DDD5D2DB49889BA8</iv>
+			<input>537004EE90368BEFE827DFDBAA1CD119</input>
+			<output>C4A8D14DB86637E94AF515764BC7DF44</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 206</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>BD81DE1813AEC9BAFDDC90E4A563CB338BE13DFED3EBA557A2E2FAB787DA40C9</key>
+			<iv>C4A8D14DB86637E94AF515764BC7DF44</iv>
+			<input>E2751CB8982BFA3B8F0EE77F52EA1110</input>
+			<output>5707495E4CBA3727FBA5D7F4F61AF35C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 207</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>AE1B09CB7D99BAC0A71B3E83815F10A2DCE674A09F51927059472D4371C0B395</key>
+			<iv>5707495E4CBA3727FBA5D7F4F61AF35C</iv>
+			<input>139AD7D36E37737A5AC7AE67243CDB91</input>
+			<output>C770CD182DFF66E4D6A7BFEFE2820AE1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 208</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4F7491F03447293C42DE8393E7AD91741B96B9B8B2AEF4948FE092AC9342B974</key>
+			<iv>C770CD182DFF66E4D6A7BFEFE2820AE1</iv>
+			<input>E16F983B49DE93FCE5C5BD1066F281D6</input>
+			<output>E2044134ACD21D5AD026671BDC0CB2E4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 209</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A747EF80608CED4309800CA0B1C73081F992F88C1E7CE9CE5FC6F5B74F4E0B90</key>
+			<iv>E2044134ACD21D5AD026671BDC0CB2E4</iv>
+			<input>E8337E7054CBC47F4B5E8F33566AA1F5</input>
+			<output>303CF7780126AD06B5272A8350639C93</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 210</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E5EBF5E471F2CA9F38492F604438B9C0C9AE0FF41F5A44C8EAE1DF341F2D9703</key>
+			<iv>303CF7780126AD06B5272A8350639C93</iv>
+			<input>42AC1A64117E27DC31C923C0F5FF8941</input>
+			<output>DACCD42953603A1321CAD9C236454598</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 211</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B5E5C9211A5C43F2267B4A2411FC2CC21362DBDD4C3A7EDBCB2B06F62968D29B</key>
+			<iv>DACCD42953603A1321CAD9C236454598</iv>
+			<input>500E3CC56BAE896D1E32654455C49502</input>
+			<output>F9AB4D1D8255E83B330031EBE2ECE5C6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 212</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8D78453D63A2DD8D08BF5F250F2581CFEAC996C0CE6F96E0F82B371DCB84375D</key>
+			<iv>F9AB4D1D8255E83B330031EBE2ECE5C6</iv>
+			<input>389D8C1C79FE9E7F2EC415011ED9AD0D</input>
+			<output>0F28E2D4CC948D36E18F80184A594841</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 213</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>2E921775036404FD9939EE83C9585481E5E1741402FB1BD619A4B70581DD7F1C</key>
+			<iv>0F28E2D4CC948D36E18F80184A594841</iv>
+			<input>A3EA524860C6D9709186B1A6C67DD54E</input>
+			<output>A4756EAB45BCF716A52038C729E420C6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 214</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>9F86FEF42701B1D779BD46BE515680FC41941ABF4747ECC0BC848FC2A8395FDA</key>
+			<iv>A4756EAB45BCF716A52038C729E420C6</iv>
+			<input>B114E9812465B52AE084A83D980ED47D</input>
+			<output>9834425E009006673E777E3552E83D20</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 215</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>2212046FFD03BA552089FBF7B2F3EF32D9A058E147D7EAA782F3F1F7FAD162FA</key>
+			<iv>9834425E009006673E777E3552E83D20</iv>
+			<input>BD94FA9BDA020B825934BD49E3A56FCE</input>
+			<output>AEA572D530A3694EAFF6DFDE30B80D5A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 216</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F73BB21F916D8011751AFDDDCD130A6477052A34777483E92D052E29CA696FA0</key>
+			<iv>AEA572D530A3694EAFF6DFDE30B80D5A</iv>
+			<input>D529B6706C6E3A445593062A7FE0E556</input>
+			<output>86394E06B621147758CAB012852035A6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 217</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>EE44A367A3CDDFED7DBD980BF731B4E5F13C6432C155979E75CF9E3B4F495A06</key>
+			<iv>86394E06B621147758CAB012852035A6</iv>
+			<input>197F117832A05FFC08A765D63A22BE81</input>
+			<output>3CBC18C1AC02C0A7595199E08F1F552B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 218</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>1558BABB3DCD830F693E7950F736BCADCD807CF36D5757392C9E07DBC0560F2D</key>
+			<iv>3CBC18C1AC02C0A7595199E08F1F552B</iv>
+			<input>FB1C19DC9E005CE21483E15B00070848</input>
+			<output>5A9CFD8BFE10CF7FBD0F9A3FAF6C117B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 219</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D083F58141F5E5AF3D5479739D55780D971C81789347984691919DE46F3A1E56</key>
+			<iv>5A9CFD8BFE10CF7FBD0F9A3FAF6C117B</iv>
+			<input>C5DB4F3A7C3866A0546A00236A63C4A0</input>
+			<output>61A437D4E2F1C3779F1EBE906C5D2C12</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 220</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C60824F2DDC67623D270974E9F87BD27F6B8B6AC71B65B310E8F237403673244</key>
+			<iv>61A437D4E2F1C3779F1EBE906C5D2C12</iv>
+			<input>168BD1739C33938CEF24EE3D02D2C52A</input>
+			<output>FC675EE1B12B47410A20CFAC23FD20EE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 221</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F73A715AD84DB0A6F55AD584922001920ADFE84DC09D1C7004AFECD8209A12AA</key>
+			<iv>FC675EE1B12B47410A20CFAC23FD20EE</iv>
+			<input>313255A8058BC685272A42CA0DA7BCB5</input>
+			<output>82E3FB6189716D94C8E9D30E1ECCABC4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 222</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>6ABBDCE21E2ECECBCAA3473897A2E178883C132C49EC71E4CC463FD63E56B96E</key>
+			<iv>82E3FB6189716D94C8E9D30E1ECCABC4</iv>
+			<input>9D81ADB8C6637E6D3FF992BC0582E0EA</input>
+			<output>BD84DCE4994B505EED71596B454BDF85</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 223</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0D4F68CDB9B53B08E22DDDFE4FD5FCC035B8CFC8D0A721BA213766BD7B1D66EB</key>
+			<iv>BD84DCE4994B505EED71596B454BDF85</iv>
+			<input>67F4B42FA79BF5C3288E9AC6D8771DB8</input>
+			<output>1B3AA490C6E874BA77CE55D71789616C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 224</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3D8E3121698DD7E9D1835EFF5FA02DB22E826B58164F550056F9336A6C940787</key>
+			<iv>1B3AA490C6E874BA77CE55D71789616C</iv>
+			<input>30C159ECD038ECE133AE83011075D172</input>
+			<output>D6EE171B39B5E40535FBF5A7CB4C6953</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 225</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>1A5B2249CA785F0DB58FF5B07CCCFCDEF86C7C432FFAB1056302C6CDA7D86ED4</key>
+			<iv>D6EE171B39B5E40535FBF5A7CB4C6953</iv>
+			<input>27D51368A3F588E4640CAB4F236CD16C</input>
+			<output>8691BE10D13B4C08246938750EE33643</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 226</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>48AD5DEF217F83DC5039ECD1191ABE3A7EFDC253FEC1FD0D476BFEB8A93B5897</key>
+			<iv>8691BE10D13B4C08246938750EE33643</iv>
+			<input>52F67FA6EB07DCD1E5B6196165D642E4</input>
+			<output>E40AD0EE818639E37349E1132B138D63</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 227</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>FEB84B0B264A8A6FB8D4DE065DA68A479AF712BD7F47C4EE34221FAB8228D5F4</key>
+			<iv>E40AD0EE818639E37349E1132B138D63</iv>
+			<input>B61516E4073509B3E8ED32D744BC347D</input>
+			<output>6E40A22767A39C978F279D40B447099D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 228</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>2FE79FCC3C959901BAAEE8C55B71D01FF4B7B09A18E45879BB0582EB366FDC69</key>
+			<iv>6E40A22767A39C978F279D40B447099D</iv>
+			<input>D15FD4C71ADF136E027A36C306D75A58</input>
+			<output>C2DE8C5200F6FCBF1A4D6178909DF110</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 229</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C3EB1424EFD0ACDF3670C4943CB2CF5936693CC81812A4C6A148E393A6F22D79</key>
+			<iv>C2DE8C5200F6FCBF1A4D6178909DF110</iv>
+			<input>EC0C8BE8D34535DE8CDE2C5167C31F46</input>
+			<output>104CBECB1134CAE09B2FE8C5CE2E0901</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 230</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>DF9F70702DA816906F3907575DF4D3032625820309266E263A670B5668DC2478</key>
+			<iv>104CBECB1134CAE09B2FE8C5CE2E0901</iv>
+			<input>1C746454C278BA4F5949C3C361461C5A</input>
+			<output>65287F66F01AC054B1051D700EDDBF2B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 231</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F6C4CE3006A43EFBE18C5FF305F32C37430DFD65F93CAE728B62162666019B53</key>
+			<iv>65287F66F01AC054B1051D700EDDBF2B</iv>
+			<input>295BBE402B0C286B8EB558A45807FF34</input>
+			<output>4933D44FD414225CB1E6951240D28150</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 232</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3963CE7465D89FBE550649326262DB450A3E292A2D288C2E3A84833426D31A03</key>
+			<iv>4933D44FD414225CB1E6951240D28150</iv>
+			<input>CFA70044637CA145B48A16C16791F772</input>
+			<output>3733351F76DE0E07581F84600E38EFDD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 233</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>42468662273D8CB3EFAB19DBC802888B3D0D1C355BF68229629B075428EBF5DE</key>
+			<iv>3733351F76DE0E07581F84600E38EFDD</iv>
+			<input>7B25481642E5130DBAAD50E9AA6053CE</input>
+			<output>F16F22EB9CCD854591AE2FC28E1D4B59</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 234</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E2B3E5EA6573FC8ABE4E890FA4F5502DCC623EDEC73B076CF3352896A6F6BE87</key>
+			<iv>F16F22EB9CCD854591AE2FC28E1D4B59</iv>
+			<input>A0F56388424E703951E590D46CF7D8A6</input>
+			<output>1D607C6E9BAD454DD5DE785F2A78F990</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 235</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>FDB55AF96E09AF677AA4737992E13C9ED10242B05C96422126EB50C98C8E4717</key>
+			<iv>1D607C6E9BAD454DD5DE785F2A78F990</iv>
+			<input>1F06BF130B7A53EDC4EAFA7636146CB3</input>
+			<output>7B16B6A8F88E05F6A9A036A67CB8A2B6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 236</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E546D74518CF4AA64B399EA321C570CAAA14F418A41847D78F4B666FF036E5A1</key>
+			<iv>7B16B6A8F88E05F6A9A036A67CB8A2B6</iv>
+			<input>18F38DBC76C6E5C1319DEDDAB3244C54</input>
+			<output>63AD66FCF9D52195CD0339443F554311</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 237</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>2F9B91A24BEF0E503DC576E4F8D32C16C9B992E45DCD664242485F2BCF63A6B0</key>
+			<iv>63AD66FCF9D52195CD0339443F554311</iv>
+			<input>CADD46E7532044F676FCE847D9165CDC</input>
+			<output>6293FBB897D8F0C60171BEA3072CA512</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 238</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>97B7DF112EFFE9279D5EDF932889D84BAB2A695CCA1596844339E188C84F03A2</key>
+			<iv>6293FBB897D8F0C60171BEA3072CA512</iv>
+			<input>B82C4EB36510E777A09BA977D05AF45D</input>
+			<output>9555D7F244448C80E965CE6AB7EF0F7B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 239</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>39F26B429FE4111DAA984F03112B339F3E7FBEAE8E511A04AA5C2FE27FA00CD9</key>
+			<iv>9555D7F244448C80E965CE6AB7EF0F7B</iv>
+			<input>AE45B453B11BF83A37C6909039A2EBD4</input>
+			<output>FA242C9DB2984E9EFA8CD98AE7C29D6F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 240</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>64C6D001CB3C8AFC24A72DA11D172727C45B92333CC9549A50D0F668986291B6</key>
+			<iv>FA242C9DB2984E9EFA8CD98AE7C29D6F</iv>
+			<input>5D34BB4354D89BE18E3F62A20C3C14B8</input>
+			<output>2998B59B0441F068D7F3FCE7AEAA6FD9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 241</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>FE56E2EB2434CA49D46A684DBCE2426CEDC327A83888A4F287230A8F36C8FE6F</key>
+			<iv>2998B59B0441F068D7F3FCE7AEAA6FD9</iv>
+			<input>9A9032EAEF0840B5F0CD45ECA1F5654B</input>
+			<output>A3F77BBA27BA88F33D4330EB2CC0EFBA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 242</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0F9B3CAD0EDFA9C429F3A005C78FE9F84E345C121F322C01BA603A641A0811D5</key>
+			<iv>A3F77BBA27BA88F33D4330EB2CC0EFBA</iv>
+			<input>F1CDDE462AEB638DFD99C8487B6DAB94</input>
+			<output>9C751C64BCB82229ABA5130353455CCB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 243</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>1725A4C019FB909FB1DE2ACA00E9A33DD2414076A38A0E2811C52967494D4D1E</key>
+			<iv>9C751C64BCB82229ABA5130353455CCB</iv>
+			<input>18BE986D1724395B982D8ACFC7664AC5</input>
+			<output>540DE482B7170E925FA4B429F6BCD458</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 244</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E2A619367235AA4611A72FD4FAF68FB3864CA4F4149D00BA4E619D4EBFF19946</key>
+			<iv>540DE482B7170E925FA4B429F6BCD458</iv>
+			<input>F583BDF66BCE3AD9A079051EFA1F2C8E</input>
+			<output>6AADE1E1A12F5C83AF434CAD95B29678</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 245</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8629FB2CC8C06A07EC910681499E917FECE14515B5B25C39E122D1E32A430F3E</key>
+			<iv>6AADE1E1A12F5C83AF434CAD95B29678</iv>
+			<input>648FE21ABAF5C041FD362955B3681ECC</input>
+			<output>11308758A1C2075FEAECD260867CA343</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 246</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5EDD76C395D2A0D3D547CFB394B439EAFDD1C24D14705B660BCE0383AC3FAC7D</key>
+			<iv>11308758A1C2075FEAECD260867CA343</iv>
+			<input>D8F48DEF5D12CAD439D6C932DD2AA895</input>
+			<output>14C9A904A3909A8FF44D88E22F8626DF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 247</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>AF3FA8D6034564D7151C3933C7986CFCE9186B49B7E0C1E9FF838B6183B98AA2</key>
+			<iv>14C9A904A3909A8FF44D88E22F8626DF</iv>
+			<input>F1E2DE159697C404C05BF680532C5516</input>
+			<output>A042D7F391A37E5A3EDB3022400EC797</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 248</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8ACC720216DBDBDB4C213FE65E575A09495ABCBA2643BFB3C158BB43C3B74D35</key>
+			<iv>A042D7F391A37E5A3EDB3022400EC797</iv>
+			<input>25F3DAD4159EBF0C593D06D599CF36F5</input>
+			<output>439FEF326223A65F7A555C6231178190</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 249</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F2882A52603203A71895A5870CCF7EE40AC55388446019ECBB0DE721F2A0CCA5</key>
+			<iv>439FEF326223A65F7A555C6231178190</iv>
+			<input>7844585076E9D87C54B49A61529824ED</input>
+			<output>6FE1286C19AA3BC802F1C6C7B58DB4C4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 250</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>57EFB10BFC21E28397A9D5E5A533D35B65247BE45DCA2224B9FC21E6472D7861</key>
+			<iv>6FE1286C19AA3BC802F1C6C7B58DB4C4</iv>
+			<input>A5679B599C13E1248F3C7062A9FCADBF</input>
+			<output>C38D763981392FF038573CA341DD8EA1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 251</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>19328A5147BC2E7C5149DA257487D734A6A90DDDDCF30DD481AB1D4506F0F6C0</key>
+			<iv>C38D763981392FF038573CA341DD8EA1</iv>
+			<input>4EDD3B5ABB9DCCFFC6E00FC0D1B4046F</input>
+			<output>5FD553A2848C683B138D50F2741B124D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 252</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>ED66DE43FE0F966850EF6754E21B69A0F97C5E7F587F65EF92264DB772EBE48D</key>
+			<iv>5FD553A2848C683B138D50F2741B124D</iv>
+			<input>F4545412B9B3B81401A6BD71969CBE94</input>
+			<output>910CDCBE38068A51185A879FF2B45B9C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 253</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E53D9016DE7DF4E2377968864B6F69F8687082C16079EFBE8A7CCA28805FBF11</key>
+			<iv>910CDCBE38068A51185A879FF2B45B9C</iv>
+			<input>085B4E552072628A67960FD2A9740058</input>
+			<output>E0A0E68A14893501D75BC42B8EFC6F96</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 254</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C88C4383E2D16541765E5DB85957C59188D0644B74F0DABF5D270E030EA3D087</key>
+			<iv>E0A0E68A14893501D75BC42B8EFC6F96</iv>
+			<input>2DB1D3953CAC91A34127353E1238AC69</input>
+			<output>A66DD21DA627347F962A0AB7DCA887ED</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 255</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>6F01CC5C22DE71C7C2D5B429AA756A392EBDB656D2D7EEC0CB0D04B4D20B576A</key>
+			<iv>A66DD21DA627347F962A0AB7DCA887ED</iv>
+			<input>A78D8FDFC00F1486B48BE991F322AFA8</input>
+			<output>87551BC7A6B6D9B76239CB8A31FF1993</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 256</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>DAC405506CD3779FC2400B459B7C6B6EA9E8AD9174613777A934CF3EE3F44EF9</key>
+			<iv>87551BC7A6B6D9B76239CB8A31FF1993</iv>
+			<input>B5C5C90C4E0D06580095BF6C31090157</input>
+			<output>B909B206A041F33EB3AC7ED481DFBA21</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 257</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E482333E6FBAA8427A2E30D56069E0B810E11F97D420C4491A98B1EA622BF4D8</key>
+			<iv>B909B206A041F33EB3AC7ED481DFBA21</iv>
+			<input>3E46366E0369DFDDB86E3B90FB158BD6</input>
+			<output>DE5E71F446794D3402400C96FBFEB93F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 258</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>176CAD69CD20690B95DA40B95C43AC54CEBF6E639259897D18D8BD7C99D54DE7</key>
+			<iv>DE5E71F446794D3402400C96FBFEB93F</iv>
+			<input>F3EE9E57A29AC149EFF4706C3C2A4CEC</input>
+			<output>175A7C580A99E985A2FD2F185D9BAADB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 259</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>FA4DD79A64960C8264624CDF215B54A1D9E5123B98C060F8BA259264C44EE73C</key>
+			<iv>175A7C580A99E985A2FD2F185D9BAADB</iv>
+			<input>ED217AF3A9B66589F1B80C667D18F8F5</input>
+			<output>413EB5D166C1D196F0239FF34D184013</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 260</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>49855C1008EAF59432518A9F3807A0B398DBA7EAFE01B16E4A060D978956A72F</key>
+			<iv>413EB5D166C1D196F0239FF34D184013</iv>
+			<input>B3C88B8A6C7CF9165633C640195CF412</input>
+			<output>69A3A63C580336296FF826600C754747</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 261</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>849D231AE9F90F233F328BE6EE0AC180F17801D6A602874725FE2BF78523E068</key>
+			<iv>69A3A63C580336296FF826600C754747</iv>
+			<input>CD187F0AE113FAB70D630179D60D6133</input>
+			<output>B9AF0CA2B502C2DEB66834BD729AA528</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 262</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>40E3F7EA3E7CFBDBF57935DBB124CF7F48D70D741300459993961F4AF7B94540</key>
+			<iv>B9AF0CA2B502C2DEB66834BD729AA528</iv>
+			<input>C47ED4F0D785F4F8CA4BBE3D5F2E0EFF</input>
+			<output>99E16968796AB521FC460A8DF6744FA8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 263</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4FDF8D16B85E527490FBE95EA34138D6D136641C6A6AF0B86FD015C701CD0AE8</key>
+			<iv>99E16968796AB521FC460A8DF6744FA8</iv>
+			<input>0F3C7AFC8622A9AF6582DC851265F7A9</input>
+			<output>7B871B0153657949D1FE7259E16791B7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 264</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>6AD7099EA6DC50F5CC836C3EB934CF92AAB17F1D390F89F1BE2E679EE0AA9B5F</key>
+			<iv>7B871B0153657949D1FE7259E16791B7</iv>
+			<input>250884881E8202815C7885601A75F744</input>
+			<output>8D6B80EAC01BF7E204A79DD14BFDB71A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 265</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0860DD776AD2014ED90D0837A5A298B627DAFFF7F9147E13BA89FA4FAB572C45</key>
+			<iv>8D6B80EAC01BF7E204A79DD14BFDB71A</iv>
+			<input>62B7D4E9CC0E51BB158E64091C965724</input>
+			<output>DAD6A83408559AD3003C6995DC099303</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 266</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>9E8757199D96CA08B9C3CEF817E902B8FD0C57C3F141E4C0BAB593DA775EBF46</key>
+			<iv>DAD6A83408559AD3003C6995DC099303</iv>
+			<input>96E78A6EF744CB4660CEC6CFB24B9A0E</input>
+			<output>AA6EF32AFC8AA6ADCDE86D86CC59AFB4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 267</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>483AD9696154B929F35016B648F5952B5762A4E90DCB426D775DFE5CBB0710F2</key>
+			<iv>AA6EF32AFC8AA6ADCDE86D86CC59AFB4</iv>
+			<input>D6BD8E70FCC273214A93D84E5F1C9793</input>
+			<output>713F9516A55FBFA4AE8155EC12A3AB5D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 268</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>027B7F5F83B26099A4CE8FCC1AB84529265D31FFA894FDC9D9DCABB0A9A4BBAF</key>
+			<iv>713F9516A55FBFA4AE8155EC12A3AB5D</iv>
+			<input>4A41A636E2E6D9B0579E997A524DD002</input>
+			<output>B2E4BEAF6DB84214E379B89697191379</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 269</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D7AEFAD28855BB04A9604527F8376CAF94B98F50C52CBFDD3AA513263EBDA8D6</key>
+			<iv>B2E4BEAF6DB84214E379B89697191379</iv>
+			<input>D5D5858D0BE7DB9D0DAECAEBE28F2986</input>
+			<output>9FE3B8941D9F85B1400CC45B7BDE8E9F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 270</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B5EBE7CB901F69E61EC6F011E6A46A2E0B5A37C4D8B33A6C7AA9D77D45632649</key>
+			<iv>9FE3B8941D9F85B1400CC45B7BDE8E9F</iv>
+			<input>62451D19184AD2E2B7A6B5361E930681</input>
+			<output>E9ABFC5563B4AD1718EF4A91F7D60913</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 271</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>571805B63BC20F5784AF56FDB71CBCD7E2F1CB91BB07977B62469DECB2B52F5A</key>
+			<iv>E9ABFC5563B4AD1718EF4A91F7D60913</iv>
+			<input>E2F3E27DABDD66B19A69A6EC51B8D6F9</input>
+			<output>D825DC1C8C73A84BDFEFD9799D9E3960</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 272</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>9EED79D9ABB11094FB4475ED2EC042133AD4178D37743F30BDA944952F2B163A</key>
+			<iv>D825DC1C8C73A84BDFEFD9799D9E3960</iv>
+			<input>C9F57C6F90731FC37FEB231099DCFEC4</input>
+			<output>7D0DC4C31259FD0A46D2D2282F1FE22E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 273</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>EF905E20846E064A3B3281FD2BD59AB647D9D34E252DC23AFB7B96BD0034F414</key>
+			<iv>7D0DC4C31259FD0A46D2D2282F1FE22E</iv>
+			<input>717D27F92FDF16DEC076F4100515D8A5</input>
+			<output>93FAFC16EFF504A9D2B791A272A78135</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 274</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8F219C67ACF0F1C745FA0ABBADE96015D4232F58CAD8C69329CC071F72937521</key>
+			<iv>93FAFC16EFF504A9D2B791A272A78135</iv>
+			<input>60B1C247289EF78D7EC88B46863CFAA3</input>
+			<output>EF387517F8C781A79700C8196DCA6F1A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 275</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>48C6408FD8FA84D30DD53B83B31C425D3B1B5A4F321F4734BECCCF061F591A3B</key>
+			<iv>EF387517F8C781A79700C8196DCA6F1A</iv>
+			<input>C7E7DCE8740A7514482F31381EF52248</input>
+			<output>A6166002C7239645D55494BB64840B26</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 276</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>1C9EB0648715CA5738A4FD27A63693A09D0D3A4DF53CD1716B985BBD7BDD111D</key>
+			<iv>A6166002C7239645D55494BB64840B26</iv>
+			<input>5458F0EB5FEF4E843571C6A4152AD1FD</input>
+			<output>FB35646B2008AD29AFF508B94179F223</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 277</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4AA2E4BAC74E8CD9AEA969550D27877866385E26D5347C58C46D53043AA4E33E</key>
+			<iv>FB35646B2008AD29AFF508B94179F223</iv>
+			<input>563C54DE405B468E960D9472AB1114D8</input>
+			<output>59C1692D4598AD622B6586A06892E11D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 278</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B9F5A3BAAA0C2F6EA5E835F6E6E5D50E3FF9370B90ACD13AEF08D5A452360223</key>
+			<iv>59C1692D4598AD622B6586A06892E11D</iv>
+			<input>F35747006D42A3B70B415CA3EBC25276</input>
+			<output>3131E251A6A4AC7226A1809553198AB8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 279</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>EF46814F8656D3D8ABAF3B08EFEBC3150EC8D55A36087D48C9A95531012F889B</key>
+			<iv>3131E251A6A4AC7226A1809553198AB8</iv>
+			<input>56B322F52C5AFCB60E470EFE090E161B</input>
+			<output>2E30D8D5B7B636307A6D354FBED41A2D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 280</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3DFBE0FE20F0421CAABD62E2CDB0E60F20F80D8F81BE4B78B3C4607EBFFB92B6</key>
+			<iv>2E30D8D5B7B636307A6D354FBED41A2D</iv>
+			<input>D2BD61B1A6A691C4011259EA225B251A</input>
+			<output>6D791952F9416FC09B78517A2FFE986F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 281</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5197CF05753D155C5B08A5EB51B82F2D4D8114DD78FF24B828BC310490050AD9</key>
+			<iv>6D791952F9416FC09B78517A2FFE986F</iv>
+			<input>6C6C2FFB55CD5740F1B5C7099C08C922</input>
+			<output>37A8E0B9375AD5669A396D980D68D0F3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 282</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B3EFE2F914264AAAB7C7FD9C4843619E7A29F4644FA5F1DEB2855C9C9D6DDA2A</key>
+			<iv>37A8E0B9375AD5669A396D980D68D0F3</iv>
+			<input>E2782DFC611B5FF6ECCF587719FB4EB3</input>
+			<output>BC65630DB71EE8DA2194E5DFBC48360E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 283</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>CAAB7758FF4AFF39A98C2202A26165CFC64C9769F8BB19049311B9432125EC24</key>
+			<iv>BC65630DB71EE8DA2194E5DFBC48360E</iv>
+			<input>794495A1EB6CB5931E4BDF9EEA220451</input>
+			<output>9C47136C1B510BFCEFA7F6659BDA08C2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 284</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>CC38852E17544DB004372C4A3AA3DFDB5A0B8405E3EA12F87CB64F26BAFFE4E6</key>
+			<iv>9C47136C1B510BFCEFA7F6659BDA08C2</iv>
+			<input>0693F276E81EB289ADBB0E4898C2BA14</input>
+			<output>68AC57D13EC53C250FEBFC64B1992B1C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 285</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>108FE55553F353DFABD421E15A18C9F532A7D3D4DD2F2EDD735DB3420B66CFFA</key>
+			<iv>68AC57D13EC53C250FEBFC64B1992B1C</iv>
+			<input>DCB7607B44A71E6FAFE30DAB60BB162E</input>
+			<output>9A8C11E031E57B77138A3637784D1D71</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 286</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C432EA6E854DE8C191C6F0ED4A2BF1D7A82BC234ECCA55AA60D78575732BD28B</key>
+			<iv>9A8C11E031E57B77138A3637784D1D71</iv>
+			<input>D4BD0F3BD6BEBB1E3A12D10C10333822</input>
+			<output>3BBB1E76A491A5AA145ED931BB886333</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 287</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>980941D5FEFD458061B1B443E39818299390DC42485BF00074895C44C8A3B1B8</key>
+			<iv>3BBB1E76A491A5AA145ED931BB886333</iv>
+			<input>5C3BABBB7BB0AD41F07744AEA9B3E9FE</input>
+			<output>F79F1B46F57BDD36B58DDA33619D3920</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 288</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B4FF33FB094612B6A3438A285C3AEA41640FC704BD202D36C1048677A93E8898</key>
+			<iv>F79F1B46F57BDD36B58DDA33619D3920</iv>
+			<input>2CF6722EF7BB5736C2F23E6BBFA2F268</input>
+			<output>F1C3ED72D0B6D917DD6F8AE86CFD8CBF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 289</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>BC81027596771F9C591BE6C61762B1E795CC2A766D96F4211C6B0C9FC5C30427</key>
+			<iv>F1C3ED72D0B6D917DD6F8AE86CFD8CBF</iv>
+			<input>087E318E9F310D2AFA586CEE4B585BA6</input>
+			<output>EAF1AACEEB9F9BE0E880911BFEEAC2AC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 290</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D41458000DDED43B83DAA81B1D7FFB597F3D80B886096FC1F4EB9D843B29C68B</key>
+			<iv>EAF1AACEEB9F9BE0E880911BFEEAC2AC</iv>
+			<input>68955A759BA9CBA7DAC14EDD0A1D4ABE</input>
+			<output>7B35179E67E9B40346F7DE6356EDC98F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 291</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>FACDC2B3BA9E125B2A734DE75F99F48C04089726E1E0DBC2B21C43E76DC40F04</key>
+			<iv>7B35179E67E9B40346F7DE6356EDC98F</iv>
+			<input>2ED99AB3B740C660A9A9E5FC42E60FD5</input>
+			<output>0EDE849D7E56B296B12C1EDF37436A8D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 292</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E73022253439EB4464CE0B205BBB0F1F0AD613BB9FB6695403305D385A876589</key>
+			<iv>0EDE849D7E56B296B12C1EDF37436A8D</iv>
+			<input>1DFDE0968EA7F91F4EBD46C70422FB93</input>
+			<output>D02F1EAF3CF6A6B681BAF8ECB921FFC4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 293</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>9F3671205266DC4F7C771EBA74265F36DAF90D14A340CFE2828AA5D4E3A69A4D</key>
+			<iv>D02F1EAF3CF6A6B681BAF8ECB921FFC4</iv>
+			<input>78065305665F370B18B9159A2F9D5029</input>
+			<output>E365BE1A125C6930DFDCBB33E6937EC5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 294</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>111A3E012C9D5CB2967E8BD22907D6F7399CB30EB11CA6D25D561EE70535E488</key>
+			<iv>E365BE1A125C6930DFDCBB33E6937EC5</iv>
+			<input>8E2C4F217EFB80FDEA0995685D2189C1</input>
+			<output>C5B24EEC5CDD17AA56838B09EC4AB725</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 295</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>15DA3EE4EE9A560B05493FFC971713A5FC2EFDE2EDC1B1780BD595EEE97F53AD</key>
+			<iv>C5B24EEC5CDD17AA56838B09EC4AB725</iv>
+			<input>04C000E5C2070AB99337B42EBE10C552</input>
+			<output>4D8A43CD28BBCB86953FA55A409BF130</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 296</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>2C8B30484D954192818342F3766C1415B1A4BE2FC57A7AFE9EEA30B4A9E4A29D</key>
+			<iv>4D8A43CD28BBCB86953FA55A409BF130</iv>
+			<input>39510EACA30F179984CA7D0FE17B07B0</input>
+			<output>A524A6329E6DCE041F72459234ECDE78</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 297</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0F162BAD5F298EE0B0164CFED6A7AC271480181D5B17B4FA819875269D087CE5</key>
+			<iv>A524A6329E6DCE041F72459234ECDE78</iv>
+			<input>239D1BE512BCCF7231950E0DA0CBB832</input>
+			<output>90BBC5130D1C06182F737FE7F0FCD00D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 298</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>62744CA02B6684D05A91F2049D403480843BDD0E560BB2E2AEEB0AC16DF4ACE8</key>
+			<iv>90BBC5130D1C06182F737FE7F0FCD00D</iv>
+			<input>6D62670D744F0A30EA87BEFA4BE798A7</input>
+			<output>35F293EDDEC8D9446A4ACD34602839B5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 299</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>21F5373DA5D6BF15BC163383F62EA92FB1C94EE388C36BA6C4A1C7F50DDC955D</key>
+			<iv>35F293EDDEC8D9446A4ACD34602839B5</iv>
+			<input>43817B9D8EB03BC5E687C1876B6E9DAF</input>
+			<output>E45CF478D7C84325143165F58B041A13</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 300</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4CF4A508B4DF37A831916353620DC1F45595BA9B5F0B2883D090A20086D88F4E</key>
+			<iv>E45CF478D7C84325143165F58B041A13</iv>
+			<input>6D019235110988BD8D8750D0942368DB</input>
+			<output>964983C30745D7EEA1BD5E287DAC466C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 301</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>35C99C004D01E89F94A9B3BC79C492D7C3DC3958584EFF6D712DFC28FB74C922</key>
+			<iv>964983C30745D7EEA1BD5E287DAC466C</iv>
+			<input>793D3908F9DEDF37A538D0EF1BC95323</input>
+			<output>6834813D8403A963AD36C1A18CA605C0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 302</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F185723D6A2D2A6F9F4B9194A444AA2AABE8B865DC4D560EDC1B3D8977D2CCE2</key>
+			<iv>6834813D8403A963AD36C1A18CA605C0</iv>
+			<input>C44CEE3D272CC2F00BE22228DD8038FD</input>
+			<output>61F35AA76E1E0EC2D5E4F4F432B68260</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 303</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B571B0BC6CFD2BA23611FB9A900A31FACA1BE2C2B25358CC09FFC97D45644E82</key>
+			<iv>61F35AA76E1E0EC2D5E4F4F432B68260</iv>
+			<input>44F4C28106D001CDA95A6A0E344E9BD0</input>
+			<output>DD081A96602E6665B860466B8D14050E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 304</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>2A5757156C596DE633D0D8908011C3771713F854D27D3EA9B19F8F16C8704B8C</key>
+			<iv>DD081A96602E6665B860466B8D14050E</iv>
+			<input>9F26E7A900A4464405C1230A101BF28D</input>
+			<output>5BF18EA3D7F3ED1D941EA1B995313B98</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 305</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>DA008B517FA48E908A72B8525CC31AEF4CE276F7058ED3B425812EAF5D417014</key>
+			<iv>5BF18EA3D7F3ED1D941EA1B995313B98</iv>
+			<input>F057DC4413FDE376B9A260C2DCD2D998</input>
+			<output>74C361B6A13013E9ABF6841601513539</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 306</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E313244DC22AC16C1D59AC494AA728D738211741A4BEC05D8E77AAB95C10452D</key>
+			<iv>74C361B6A13013E9ABF6841601513539</iv>
+			<input>3913AF1CBD8E4FFC972B141B16643238</input>
+			<output>9937614570FD404D5B39BA43D3A20602</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 307</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>92A7173E943CBA80AF56203552625E8AA1167604D4438010D54E10FA8FB2432F</key>
+			<iv>9937614570FD404D5B39BA43D3A20602</iv>
+			<input>71B4337356167BECB20F8C7C18C5765D</input>
+			<output>726FCDDF8E6738B51D767828EBDFC71E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 308</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>242C75C141A58DC403020E52421BB347D379BBDB5A24B8A5C83868D2646D8431</key>
+			<iv>726FCDDF8E6738B51D767828EBDFC71E</iv>
+			<input>B68B62FFD5993744AC542E671079EDCD</input>
+			<output>78F735344BF10EED47969F1C02ECBF8C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 309</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5247008C3EB79AA67E5D2E0B95D0AC3AAB8E8EEF11D5B6488FAEF7CE66813BBD</key>
+			<iv>78F735344BF10EED47969F1C02ECBF8C</iv>
+			<input>766B754D7F1217627D5F2059D7CB1F7D</input>
+			<output>7D6A6CA54B084105DF6A778A4913BB04</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 310</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>06E7C1A6C8BC6A3355A86F61B41E70C6D6E4E24A5ADDF74D50C480442F9280B9</key>
+			<iv>7D6A6CA54B084105DF6A778A4913BB04</iv>
+			<input>54A0C12AF60BF0952BF5416A21CEDCFC</input>
+			<output>11F0A303D6C0ED5E18F40248AF1A794B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 311</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D7722746B58D494BE9B97F586CA4BB0AC71441498C1D1A134830820C8088F9F2</key>
+			<iv>11F0A303D6C0ED5E18F40248AF1A794B</iv>
+			<input>D195E6E07D312378BC111039D8BACBCC</input>
+			<output>2A715E8AC7101415E65EBF34CC4CD786</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 312</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>98B1E5954DE8000B6FFFE98D918B6237ED651FC34B0D0E06AE6E3D384CC42E74</key>
+			<iv>2A715E8AC7101415E65EBF34CC4CD786</iv>
+			<input>4FC3C2D3F8654940864696D5FD2FD93D</input>
+			<output>965E8AF93D390E424C9F4F1FBF9D98A5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 313</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>74B910207ACD1D7C801724D53ED6BBC47B3B953A76340044E2F17227F359B6D1</key>
+			<iv>965E8AF93D390E424C9F4F1FBF9D98A5</iv>
+			<input>EC08F5B537251D77EFE8CD58AF5DD9F3</input>
+			<output>294782DD29C65B6C445C5D92F50E6D19</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 314</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3E1AD36FDCC33F6B3425B5D52717845E527C17E75FF25B28A6AD2FB50657DBC8</key>
+			<iv>294782DD29C65B6C445C5D92F50E6D19</iv>
+			<input>4AA3C34FA60E2217B432910019C13F9A</input>
+			<output>E22098E7EDBEECC49FA8E31B76E925CA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 315</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>BE9F93FE153DF61370F6709F8265DCCDB05C8F00B24CB7EC3905CCAE70BEFE02</key>
+			<iv>E22098E7EDBEECC49FA8E31B76E925CA</iv>
+			<input>80854091C9FEC97844D3C54AA5725893</input>
+			<output>24E80C1F59A4EA36044358E0C0D4F29D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 316</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A790F593CFA1643BD2EB3A1AAB8176A294B4831FEBE85DDA3D46944EB06A0C9F</key>
+			<iv>24E80C1F59A4EA36044358E0C0D4F29D</iv>
+			<input>190F666DDA9C9228A21D4A8529E4AA6F</input>
+			<output>63CF21803941B521532FF36F9FBFC7BD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 317</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0CF6F000352B4B583E4AEE707D111DC9F77BA29FD2A9E8FB6E6967212FD5CB22</key>
+			<iv>63CF21803941B521532FF36F9FBFC7BD</iv>
+			<input>AB660593FA8A2F63ECA1D46AD6906B6B</input>
+			<output>250941C1D45C82B0D9C381293CDD833A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 318</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>1F875BCF1967857990EC97864B1EA9F8D272E35E06F56A4BB7AAE60813084818</key>
+			<iv>250941C1D45C82B0D9C381293CDD833A</iv>
+			<input>1371ABCF2C4CCE21AEA679F6360FB431</input>
+			<output>8303B962DAFC4A225C0FD6EA60D29CF4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 319</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>42FE25BF51418FE7A7C7A1828219E1DB51715A3CDC092069EBA530E273DAD4EC</key>
+			<iv>8303B962DAFC4A225C0FD6EA60D29CF4</iv>
+			<input>5D797E7048260A9E372B3604C9074823</input>
+			<output>29E2DB359FAB42C0A83A4059A059CB51</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 320</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>6C821A4893FE0EAC88FC1F98BD44AD0A7893810943A262A9439F70BBD3831FBD</key>
+			<iv>29E2DB359FAB42C0A83A4059A059CB51</iv>
+			<input>2E7C3FF7C2BF814B2F3BBE1A3F5D4CD1</input>
+			<output>02BDB7EC18279FA9B7788D95FEB4000E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 321</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>411670D389D0A04859FDC26DE5AAD1297A2E36E55B85FD00F4E7FD2E2D371FB3</key>
+			<iv>02BDB7EC18279FA9B7788D95FEB4000E</iv>
+			<input>2D946A9B1A2EAEE4D101DDF558EE7C23</input>
+			<output>3960A92A34967F13B754F2265A6F68C1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 322</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>851BCD18F6043DE625BBEA33E1E860E3434E9FCF6F13821343B30F0877587772</key>
+			<iv>3960A92A34967F13B754F2265A6F68C1</iv>
+			<input>C40DBDCB7FD49DAE7C46285E0442B1CA</input>
+			<output>EF396AB8613AC6083932734D38869458</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 323</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>1944F363F3143A380F26BD4831A6BD9EAC77F5770E29441B7A817C454FDEE32A</key>
+			<iv>EF396AB8613AC6083932734D38869458</iv>
+			<input>9C5F3E7B051007DE2A9D577BD04EDD7D</input>
+			<output>CB73B8D257CC1A8235E48DA0E6AECC4E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 324</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C2F3C203F591C78914E31BA1E083AB9867044DA559E55E994F65F1E5A9702F64</key>
+			<iv>CB73B8D257CC1A8235E48DA0E6AECC4E</iv>
+			<input>DBB731600685FDB11BC5A6E9D1251606</input>
+			<output>3B0B12757B5D1B6E0130FCC306E9DBAA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 325</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0DCB66B972631AFBB1DA22F1418EE1C45C0F5FD022B845F74E550D26AF99F4CE</key>
+			<iv>3B0B12757B5D1B6E0130FCC306E9DBAA</iv>
+			<input>CF38A4BA87F2DD72A5393950A10D4A5C</input>
+			<output>CCEF4079CE8FAF0E6B8CD4C8751059E1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 326</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8FF976D3C735506D86A3540664F1C40590E01FA9EC37EAF925D9D9EEDA89AD2F</key>
+			<iv>CCEF4079CE8FAF0E6B8CD4C8751059E1</iv>
+			<input>8232106AB5564A96377976F7257F25C1</input>
+			<output>D835D2FA5583D9B2C16424960163DF7F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 327</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3499925B26E4F846CAA230EC069F127F48D5CD53B9B4334BE4BDFD78DBEA7250</key>
+			<iv>D835D2FA5583D9B2C16424960163DF7F</iv>
+			<input>BB60E488E1D1A82B4C0164EA626ED67A</input>
+			<output>4634485DB5D9C40FA2F6EF36E477F0B7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 328</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>7A133EEC3DD747FE38A3370F8927A3C70EE1850E0C6DF744464B124E3F9D82E7</key>
+			<iv>4634485DB5D9C40FA2F6EF36E477F0B7</iv>
+			<input>4E8AACB71B33BFB8F20107E38FB8B1B8</input>
+			<output>AE30CD2A5D84CEF10B9C15EE1FE20CEB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 329</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F573665345317BAB5F14881777A0D789A0D1482451E939B54DD707A0207F8E0C</key>
+			<iv>AE30CD2A5D84CEF10B9C15EE1FE20CEB</iv>
+			<input>8F6058BF78E63C5567B7BF18FE87744E</input>
+			<output>B3926CDE5BFB1363DCCA28CDA2DC4CD8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 330</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>FEFB661FA786BF2DA1B70FD7D06B86E8134324FA0A122AD6911D2F6D82A3C2D4</key>
+			<iv>B3926CDE5BFB1363DCCA28CDA2DC4CD8</iv>
+			<input>0B88004CE2B7C486FEA387C0A7CB5161</input>
+			<output>633388FA9EAE0DB2036F63CB2E21C266</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 331</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>BFC495DFBA60078708D992724C9201577070AC0094BC276492724CA6AC8200B2</key>
+			<iv>633388FA9EAE0DB2036F63CB2E21C266</iv>
+			<input>413FF3C01DE6B8AAA96E9DA59CF987BF</input>
+			<output>54ACB838D247D26A1544B2E42F18CF3F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 332</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>EB0113E4FFE1201B59EAE94706B2571F24DC143846FBF50E8736FE42839ACF8D</key>
+			<iv>54ACB838D247D26A1544B2E42F18CF3F</iv>
+			<input>54C5863B4581279C51337B354A205648</input>
+			<output>B9210B8A8639CA5C94A1CF1169F89DDB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 333</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0E1D5F7873FD6440227C5529AEB4C7999DFD1FB2C0C23F5213973153EA625256</key>
+			<iv>B9210B8A8639CA5C94A1CF1169F89DDB</iv>
+			<input>E51C4C9C8C1C445B7B96BC6EA8069086</input>
+			<output>8990488561B43B03CF9FE631E2E7D5E7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 334</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8B2759471137DBF37906B394EFEF96D2146D5737A1760451DC08D762088587B1</key>
+			<iv>8990488561B43B03CF9FE631E2E7D5E7</iv>
+			<input>853A063F62CABFB35B7AE6BD415B514B</input>
+			<output>9DCE77D8CCC0F041FA717C28474E9A30</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 335</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0D4B29E8D6F39CA01BC01CE73E2834C689A320EF6DB6F4102679AB4A4FCB1D81</key>
+			<iv>9DCE77D8CCC0F041FA717C28474E9A30</iv>
+			<input>866C70AFC7C4475362C6AF73D1C7A214</input>
+			<output>E1DA174FE5848D21735E55B91CA48A9B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 336</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>55228F6FF93B7DE9304CD75991C133A5687937A0883279315527FEF3536F971A</key>
+			<iv>E1DA174FE5848D21735E55B91CA48A9B</iv>
+			<input>5869A6872FC8E1492B8CCBBEAFE90763</input>
+			<output>C578F53AD69AD508711E674F8DD2A843</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 337</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>35CA943437046860F72A1F8554127676AD01C29A5EA8AC39243999BCDEBD3F59</key>
+			<iv>C578F53AD69AD508711E674F8DD2A843</iv>
+			<input>60E81B5BCE3F1589C766C8DCC5D345D3</input>
+			<output>177A50196260D3F0A3F97423899EBEE2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 338</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B8C3B8414C112FC2E2E848733D5CF69CBA7B92833CC87FC987C0ED9F572381BB</key>
+			<iv>177A50196260D3F0A3F97423899EBEE2</iv>
+			<input>8D092C757B1547A215C257F6694E80EA</input>
+			<output>6B03A799C51C7D0A9D3C9929617E69B1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 339</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E82B651AE5740119104FE3284CE780E4D178351AF9D402C31AFC74B6365DE80A</key>
+			<iv>6B03A799C51C7D0A9D3C9929617E69B1</iv>
+			<input>50E8DD5BA9652EDBF2A7AB5B71BB7678</input>
+			<output>8D4C7C1157422E7B6DDA47C5C2C246F4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 340</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3C0B660F2B78F768812AC671D3107AD85C34490BAE962CB877263373F49FAEFE</key>
+			<iv>8D4C7C1157422E7B6DDA47C5C2C246F4</iv>
+			<input>D4200315CE0CF671916525599FF7FA3C</input>
+			<output>787B3C51094569BC1F139102964DF5AF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 341</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A197B59C700A4786E840733047964FD4244F755AA7D345046835A27162D25B51</key>
+			<iv>787B3C51094569BC1F139102964DF5AF</iv>
+			<input>9D9CD3935B72B0EE696AB5419486350C</input>
+			<output>AE02945B4E63AC35B6AC2DFA2DF3CEBA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 342</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>00E75C4B909D44A94FA20EDA6C3628418A4DE101E9B0E931DE998F8B4F2195EB</key>
+			<iv>AE02945B4E63AC35B6AC2DFA2DF3CEBA</iv>
+			<input>A170E9D7E097032FA7E27DEA2BA06795</input>
+			<output>AC4AACD3597FE73F519F7CEDAFE6E000</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 343</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4626BE31853C15DE412EF2A42328D47326074DD2B0CF0E0E8F06F366E0C775EB</key>
+			<iv>AC4AACD3597FE73F519F7CEDAFE6E000</iv>
+			<input>46C1E27A15A151770E8CFC7E4F1EFC32</input>
+			<output>5EB8B35708A135E041603BA323663F34</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 344</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>1733A037E76437411F49821D948A098978BFFE85B86E3BEECE66C8C5C3A14ADF</key>
+			<iv>5EB8B35708A135E041603BA323663F34</iv>
+			<input>51151E066258229F5E6770B9B7A2DDFA</input>
+			<output>6674FB922570377334A4F22D13E95BD8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 345</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8474275A2E4D5E5448EB8D34B65EE7081ECB05179D1E0C9DFAC23AE8D0481107</key>
+			<iv>6674FB922570377334A4F22D13E95BD8</iv>
+			<input>9347876DC929691557A20F2922D4EE81</input>
+			<output>F0E3F09C0350C0172E449A01F24AB828</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 346</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>765AA3F4014B8475CF832DE6128F7F2DEE28F58B9E4ECC8AD486A0E92202A92F</key>
+			<iv>F0E3F09C0350C0172E449A01F24AB828</iv>
+			<input>F22E84AE2F06DA218768A0D2A4D19825</input>
+			<output>CC156010299679ADEE9CC000FD5C90E5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 347</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>DD3D3AFC83B7EEBC58CE35B35719B587223D959BB7D8B5273A1A60E9DF5E39CA</key>
+			<iv>CC156010299679ADEE9CC000FD5C90E5</iv>
+			<input>AB67990882FC6AC9974D18554596CAAA</input>
+			<output>80354EDEA10038E903C4896313236CE5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 348</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4764BB8C98BCF3FD4A21A370AE5432BBA208DB4516D88DCE39DEE98ACC7D552F</key>
+			<iv>80354EDEA10038E903C4896313236CE5</iv>
+			<input>9A5981701B0B1D4112EF96C3F94D873C</input>
+			<output>15140DC26F383EB99425FB51D445CC98</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 349</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>DF729AB7D09BC85489F8AD373EBDDA70B71CD68779E0B377ADFB12DB183899B7</key>
+			<iv>15140DC26F383EB99425FB51D445CC98</iv>
+			<input>9816213B48273BA9C3D90E4790E9E8CB</input>
+			<output>163465787010C97D3C2023D803F62556</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 350</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A945B0C5997C596B5155A6BCA5055127A128B3FF09F07A0A91DB31031BCEBCE1</key>
+			<iv>163465787010C97D3C2023D803F62556</iv>
+			<input>76372A7249E7913FD8AD0B8B9BB88B57</input>
+			<output>23E861D557EE72534C8B729240E3A54F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 351</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0E1C166F2B947D14D0C7E6ABD280A31E82C0D22A5E1E0859DD5043915B2D19AE</key>
+			<iv>23E861D557EE72534C8B729240E3A54F</iv>
+			<input>A759A6AAB2E8247F819240177785F239</input>
+			<output>652CA6A199D7DBC37936FCD70636989F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 352</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>208A37149072011877E3E85B3DC7F4A7E7EC748BC7C9D39AA466BF465D1B8131</key>
+			<iv>652CA6A199D7DBC37936FCD70636989F</iv>
+			<input>2E96217BBBE67C0CA7240EF0EF4757B9</input>
+			<output>7C29D6F4788553E3C50A48027478A98F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 353</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A8FFCB194C077EEED66632AEBE01652E9BC5A27FBF4C8079616CF744296328BE</key>
+			<iv>7C29D6F4788553E3C50A48027478A98F</iv>
+			<input>8875FC0DDC757FF6A185DAF583C69189</input>
+			<output>7B886FC819D625B224F2516901788E88</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 354</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3716969BDDBF04FF4010D4667CCA994AE04DCDB7A69AA5CB459EA62D281BA636</key>
+			<iv>7B886FC819D625B224F2516901788E88</iv>
+			<input>9FE95D8291B87A119676E6C8C2CBFC64</input>
+			<output>3EAB925C025F379153CE2C7191026976</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 355</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>991D0D313717C7AC62537C8572DE094BDEE65FEBA4C5925A16508A5CB919CF40</key>
+			<iv>3EAB925C025F379153CE2C7191026976</iv>
+			<input>AE0B9BAAEAA8C3532243A8E30E149001</input>
+			<output>B9904B8BDF431FDDB9166086C9D3E24C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 356</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>315772BB82A3DD286FE5891934B19434677614607B868D87AF46EADA70CA2D0C</key>
+			<iv>B9904B8BDF431FDDB9166086C9D3E24C</iv>
+			<input>A84A7F8AB5B41A840DB6F59C466F9D7F</input>
+			<output>3C7029336ECCA5D352DB9D0C060D3830</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 357</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C99E4E6A8C1D42A9E431FF8B2A8ACA615B063D53154A2854FD9D77D676C7153C</key>
+			<iv>3C7029336ECCA5D352DB9D0C060D3830</iv>
+			<input>F8C93CD10EBE9F818BD476921E3B5E55</input>
+			<output>4AF4290AA79EB96435D2D3FC745033D7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 358</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>55317B8B407B7D089ED2CEF7BE80E99111F21459B2D49130C84FA42A029726EB</key>
+			<iv>4AF4290AA79EB96435D2D3FC745033D7</iv>
+			<input>9CAF35E1CC663FA17AE3317C940A23F0</input>
+			<output>BFCA0B6B31AAD81F1BDC743B48B7CCA4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 359</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>6EAE6D8B06AA25493BA3608357D71404AE381F32837E492FD393D0114A20EA4F</key>
+			<iv>BFCA0B6B31AAD81F1BDC743B48B7CCA4</iv>
+			<input>3B9F160046D15841A571AE74E957FD95</input>
+			<output>89C1D565569A12A68B2E808AB5CFA2E3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 360</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3245D7C1F5571A1329E1B2303F8A689D27F9CA57D5E45B8958BD509BFFEF48AC</key>
+			<iv>89C1D565569A12A68B2E808AB5CFA2E3</iv>
+			<input>5CEBBA4AF3FD3F5A1242D2B3685D7C99</input>
+			<output>EC8EEAED7894646B1D1A5E058ED41178</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 361</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>1DE05811428569D3F89CF1C01AF434AFCB7720BAAD703FE245A70E9E713B59D4</key>
+			<iv>EC8EEAED7894646B1D1A5E058ED41178</iv>
+			<input>2FA58FD0B7D273C0D17D43F0257E5C32</input>
+			<output>92802F392579C66AD72D2E85776720E8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 362</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0A8FB6D844AB0B73C05A121085E07FFE59F70F838809F988928A201B065C793C</key>
+			<iv>92802F392579C66AD72D2E85776720E8</iv>
+			<input>176FEEC9062E62A038C6E3D09F144B51</input>
+			<output>461DBCF9894F5319FE772F6529FBCEC0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 363</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4E6818B3BBEF69FA7ABEC1EBE2E54CDC1FEAB37A0146AA916CFD0F7E2FA7B7FC</key>
+			<iv>461DBCF9894F5319FE772F6529FBCEC0</iv>
+			<input>44E7AE6BFF446289BAE4D3FB67053322</input>
+			<output>794CA9DC41BAE95D415A6D1119582763</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 364</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4A1EABB13924B188441724141F1C88A966A61AA640FC43CC2DA7626F36FF909F</key>
+			<iv>794CA9DC41BAE95D415A6D1119582763</iv>
+			<input>0476B30282CBD8723EA9E5FFFDF9C475</input>
+			<output>B761EAF5CC07651BD33D8BF93913EAE8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 365</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>FFE4E48F8D96710A1BE7DBE36F4905CDD1C7F0538CFB26D7FE9AE9960FEC7A77</key>
+			<iv>B761EAF5CC07651BD33D8BF93913EAE8</iv>
+			<input>B5FA4F3EB4B2C0825FF0FFF770558D64</input>
+			<output>0B5146EB77161E60D6D1E2FAEAE80694</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 366</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>7A4F383AF4BB2DC6588E75EE82C7D9CFDA96B6B8FBED38B7284B0B6CE5047CE3</key>
+			<iv>0B5146EB77161E60D6D1E2FAEAE80694</iv>
+			<input>85ABDCB5792D5CCC4369AE0DED8EDC02</input>
+			<output>07635064CE85F6AE17961AF1F2B44469</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 367</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>EFFE7F8BBBEC8BEC83FA199102763BEDDDF5E6DC3568CE193FDD119D17B0388A</key>
+			<iv>07635064CE85F6AE17961AF1F2B44469</iv>
+			<input>95B147B14F57A62ADB746C7F80B1E222</input>
+			<output>3A9CD5F30C421FF333BA2C2F0A7AD07D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 368</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>1DF51B7A35E11E2AF79E8C59094A1ECFE769332F392AD1EA0C673DB21DCAE8F7</key>
+			<iv>3A9CD5F30C421FF333BA2C2F0A7AD07D</iv>
+			<input>F20B64F18E0D95C6746495C80B3C2522</input>
+			<output>F60032C249CF561CB02421DA189A57D1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 369</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>CC09FFE72A10AE27FE14934A6628AB83116901ED70E587F6BC431C680550BF26</key>
+			<iv>F60032C249CF561CB02421DA189A57D1</iv>
+			<input>D1FCE49D1FF1B00D098A1F136F62B54C</input>
+			<output>EAD5844B160C08F9CDAA15FD5936EF26</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 370</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>09C84CA0DA0B9FD79D3090E690BAB419FBBC85A666E98F0F71E909955C665000</key>
+			<iv>EAD5844B160C08F9CDAA15FD5936EF26</iv>
+			<input>C5C1B347F01B31F0632403ACF6921F9A</input>
+			<output>26AD72F011133FD4CED8F38A1ABE7D73</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 371</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>74FA53C172A2003EC5933F486FCC7BBFDD11F75677FAB0DBBF31FA1F46D82D73</key>
+			<iv>26AD72F011133FD4CED8F38A1ABE7D73</iv>
+			<input>7D321F61A8A99FE958A3AFAEFF76CFA6</input>
+			<output>F115FBC0D3F386527176D1DF6AD4B38A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 372</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0E5BA209B7BC28D184E73BD37F35C1312C040C96A4093689CE472BC02C0C9EF9</key>
+			<iv>F115FBC0D3F386527176D1DF6AD4B38A</iv>
+			<input>7AA1F1C8C51E28EF4174049B10F9BA8E</input>
+			<output>27ED0BA04734E70317BF58E11B0DD051</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 373</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>9404D9139B6597D1F7C7519713C6CBC80BE90736E33DD18AD9F8732137014EA8</key>
+			<iv>27ED0BA04734E70317BF58E11B0DD051</iv>
+			<input>9A5F7B1A2CD9BF0073206A446CF30AF9</input>
+			<output>24080A577426F8F270A13F3A5F3DB546</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 374</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E72476BC679C8DCBAB92BBA5D48BF6D32FE10D61971B2978A9594C1B683CFBEE</key>
+			<iv>24080A577426F8F270A13F3A5F3DB546</iv>
+			<input>7320AFAFFCF91A1A5C55EA32C74D3D1B</input>
+			<output>A754CC0464E35B387435790505F2DCE5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 375</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4548DE389CCAD4A65B02A9B5FE90930188B5C165F3F87240DD6C351E6DCE270B</key>
+			<iv>A754CC0464E35B387435790505F2DCE5</iv>
+			<input>A26CA884FB56596DF09012102A1B65D2</input>
+			<output>D9AED2566884E97D081EADB45780AA7D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 376</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>2E54365B503140D0EC9074DFA05F4B2C511B13339B7C9B3DD57298AA3A4E8D76</key>
+			<iv>D9AED2566884E97D081EADB45780AA7D</iv>
+			<input>6B1CE863CCFB9476B792DD6A5ECFD82D</input>
+			<output>9FA221E082CAD838AB4B210A8794BD8F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 377</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>7C9FB092B8A96465076E14C575E9A8F0CEB932D319B643057E39B9A0BDDA30F9</key>
+			<iv>9FA221E082CAD838AB4B210A8794BD8F</iv>
+			<input>52CB86C9E89824B5EBFE601AD5B6E3DC</input>
+			<output>AAEA6DE5734CF14BED503512EB071C2A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 378</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>90AB85A18F2B0255D4F43AF5E98DAA7E64535F366AFAB24E93698CB256DD2CD3</key>
+			<iv>AAEA6DE5734CF14BED503512EB071C2A</iv>
+			<input>EC34353337826630D39A2E309C64028E</input>
+			<output>1359A157B415EB63E038AB7354E6B0F2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 379</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>9135D4D54A1CE6BBF4F23AFDE23F537C770AFE61DEEF592D735127C1023B9C21</key>
+			<iv>1359A157B415EB63E038AB7354E6B0F2</iv>
+			<input>019E5174C537E4EE200600080BB2F902</input>
+			<output>0764EBDBFAE8FD447244408A5153CC3B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 380</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4B5F1BC60EF5DCE83474A3970EB2ABA8706E15BA2407A4690115674B5368501A</key>
+			<iv>0764EBDBFAE8FD447244408A5153CC3B</iv>
+			<input>DA6ACF1344E93A53C086996AEC8DF8D4</input>
+			<output>A31F69E0055E8D4162AC06C088925FBA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 381</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>9DD8E8D75BE2E4D1BC70B30DAE0B375FD3717C5A2159292863B9618BDBFA0FA0</key>
+			<iv>A31F69E0055E8D4162AC06C088925FBA</iv>
+			<input>D687F311551738398804109AA0B99CF7</input>
+			<output>EB84AC035534CDF1698E660F529E0EC7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 382</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4A2B2FC8446B4C2575CFE584A490680238F5D059746DE4D90A37078489640167</key>
+			<iv>EB84AC035534CDF1698E660F529E0EC7</iv>
+			<input>D7F3C71F1F89A8F4C9BF56890A9B5F5D</input>
+			<output>9236D37A28C2CF29237127173B93C5D5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 383</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>9BE42576823EEAADB34657A5CBB44B21AAC303235CAF2BF029462093B2F7C4B2</key>
+			<iv>9236D37A28C2CF29237127173B93C5D5</iv>
+			<input>D1CF0ABEC655A688C689B2216F242323</input>
+			<output>86C122CFA62B1356FEE33FECF598ACC9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 384</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5DFC1838B052E95A948D0AC31736CBE62C0221ECFA8438A6D7A51F7F476F687B</key>
+			<iv>86C122CFA62B1356FEE33FECF598ACC9</iv>
+			<input>C6183D4E326C03F727CB5D66DC8280C7</input>
+			<output>8A9926125B1CA354B1D7A9FED0850FEE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 385</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>2B12FA914EE7674EADED81C47A67A1B4A69B07FEA1989BF26672B68197EA6795</key>
+			<iv>8A9926125B1CA354B1D7A9FED0850FEE</iv>
+			<input>76EEE2A9FEB58E1439608B076D516A52</input>
+			<output>AD99A2A427BFF7A17C375DB38764EBFC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 386</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>10607DE088CB92382089EF99B7C054280B02A55A86276C531A45EB32108E8C69</key>
+			<iv>AD99A2A427BFF7A17C375DB38764EBFC</iv>
+			<input>3B728771C62CF5768D646E5DCDA7F59C</input>
+			<output>0E141FD7D6928E7B7885638B6334947C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 387</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>605ECCB38F9FFD9DAB2DB523313FFADB0516BA8D50B5E22862C088B973BA1815</key>
+			<iv>0E141FD7D6928E7B7885638B6334947C</iv>
+			<input>703EB15307546FA58BA45ABA86FFAEF3</input>
+			<output>996CB8723B08B99A4959072DC8A73292</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 388</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C6371257BDA461F3A4D2F1ED5DD4B0B69C7A02FF6BBD5BB22B998F94BB1D2A87</key>
+			<iv>996CB8723B08B99A4959072DC8A73292</iv>
+			<input>A669DEE4323B9C6E0FFF44CE6CEB4A6D</input>
+			<output>72966BAA5E4D7FA9129088F2C072E301</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 389</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>DDD8877C25005F9B8336823CBF4D4B1DEEEC695535F0241B390907667B6FC986</key>
+			<iv>72966BAA5E4D7FA9129088F2C072E301</iv>
+			<input>1BEF952B98A43E6827E473D1E299FBAB</input>
+			<output>32C321C999A2D68EA4517D332C785FC4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 390</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>00882DCBC6CFDED1A2ED7D9892F494A5DC2F489CAC52F2959D587A5557179642</key>
+			<iv>32C321C999A2D68EA4517D332C785FC4</iv>
+			<input>DD50AAB7E3CF814A21DBFFA42DB9DFB8</input>
+			<output>391D95DD63982E0A9AF3980A234DB5B9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 391</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>234B9097BD6519EFE106103720AC937DE532DD41CFCADC9F07ABE25F745A23FB</key>
+			<iv>391D95DD63982E0A9AF3980A234DB5B9</iv>
+			<input>23C3BD5C7BAAC73E43EB6DAFB25807D8</input>
+			<output>D3A279EE1BABABA71DB01DC35EBA879D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 392</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>AFF7D52D959CC7E41F1F3FF3CA2425053690A4AFD46177381A1BFF9C2AE0A466</key>
+			<iv>D3A279EE1BABABA71DB01DC35EBA879D</iv>
+			<input>8CBC45BA28F9DE0BFE192FC4EA88B678</input>
+			<output>B4696871EE3A9D035BC32308DA5A5DA7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 393</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B557440CEEB6E4EF54F6CD1B222246AC82F9CCDE3A5BEA3B41D8DC94F0BAF9C1</key>
+			<iv>B4696871EE3A9D035BC32308DA5A5DA7</iv>
+			<input>1AA091217B2A230B4BE9F2E8E80663A9</input>
+			<output>C5047AFD7884E0124928229AA6E72F67</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 394</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>BF64C071FAAD2C48CB269C03563FA06147FDB62342DF0A2908F0FE0E565DD6A6</key>
+			<iv>C5047AFD7884E0124928229AA6E72F67</iv>
+			<input>0A33847D141BC8A79FD05118741DE6CD</input>
+			<output>240D684E6BAD3FD4E41D58DB871E93CD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 395</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F6945509258A1584398F5438DFD679DB63F0DE6D297235FDECEDA6D5D143456B</key>
+			<iv>240D684E6BAD3FD4E41D58DB871E93CD</iv>
+			<input>49F09578DF2739CCF2A9C83B89E9D9BA</input>
+			<output>F66917F0C3C67774F9263062F918DDD5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 396</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A8E48107D59287ABBA374E7CE5BC28E89599C99DEAB4428915CB96B7285B98BE</key>
+			<iv>F66917F0C3C67774F9263062F918DDD5</iv>
+			<input>5E70D40EF018922F83B81A443A6A5133</input>
+			<output>85C42456F11D0191BC4B4DD4EA0406EE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 397</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E4F367569F4F9114AFE937A0190C9738105DEDCB1BA94318A980DB63C25F9E50</key>
+			<iv>85C42456F11D0191BC4B4DD4EA0406EE</iv>
+			<input>4C17E6514ADD16BF15DE79DCFCB0BFD0</input>
+			<output>D48B6C87A25C71113947569411C2186A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 398</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>987ED2D586DA9AB08C584BBEA0478953C4D6814CB9F5320990C78DF7D39D863A</key>
+			<iv>D48B6C87A25C71113947569411C2186A</iv>
+			<input>7C8DB58319950BA423B17C1EB94B1E6B</input>
+			<output>AB6957C2F3D360593E9096F3A392A701</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 399</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3DF2BF13B7FF97CA13567A890E11C9796FBFD68E4A265250AE571B04700F213B</key>
+			<iv>AB6957C2F3D360593E9096F3A392A701</iv>
+			<input>A58C6DC631250D7A9F0E3137AE56402A</input>
+			<output>C0FEFFF07506A0B4CD7B8B0CF25D3664</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tsymmetric/scripts/AESMonteCarloEncryptCBC256.txt	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,6800 @@
+<action>
+	<actionname>AES CBC MonteCarlo Enc 0</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<iv>00000000000000000000000000000000</iv>
+			<input>00000000000000000000000000000000</input>
+			<output>FE3C53653E2F45B56FCD88B2CC898FF0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 1</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B2493DE29713367D9FAA93469F8EF596FE3C53653E2F45B56FCD88B2CC898FF0</key>
+			<iv>FE3C53653E2F45B56FCD88B2CC898FF0</iv>
+			<input>B2493DE29713367D9FAA93469F8EF596</input>
+			<output>7CE2ABAF8BEF23C4816DC8CE842048A7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 2</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>33A36646FE56F70DC0C51A3117E639F182DEF8CAB5C06671EEA0407C48A9C757</key>
+			<iv>7CE2ABAF8BEF23C4816DC8CE842048A7</iv>
+			<input>81EA5BA46945C1705F6F89778868CC67</input>
+			<output>50CD14A12C6852D39654C816BFAF9AC2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 3</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0D6A3DACE75B104CA8A303A32670BF3AD213EC6B99A834A278F4886AF7065D95</key>
+			<iv>50CD14A12C6852D39654C816BFAF9AC2</iv>
+			<input>3EC95BEA190DE74168661992319686CB</input>
+			<output>3F411DAD0E339FE281637133BF46BD13</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 4</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A53BE0709BF686A7DB7C3848D81AB66BED52F1C6979BAB40F997F9594840E086</key>
+			<iv>3F411DAD0E339FE281637133BF46BD13</iv>
+			<input>A851DDDC7CAD96EB73DF3BEBFE6A0951</input>
+			<output>5BA2C7663A4061719A7CCC2AF2A3EE8A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 5</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>ECF3490CB7717A5236A3A94811BEBF13B6F036A0ADDBCA3163EB3573BAE30E0C</key>
+			<iv>5BA2C7663A4061719A7CCC2AF2A3EE8A</iv>
+			<input>49C8A97C2C87FCF5EDDF9100C9A40978</input>
+			<output>F105031CE7E5111317745C64F4F6D150</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 6</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>CE8A062A2A9F9EDE2EFB43A8602BB47847F535BC4A3EDB22749F69174E15DF5C</key>
+			<iv>F105031CE7E5111317745C64F4F6D150</iv>
+			<input>22794F269DEEE48C1858EAE071950B6B</input>
+			<output>C8F030398A873550A34386D9A153D833</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 7</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>2BE39545B8FC27444178BF0004C7F1048F050585C0B9EE72D7DCEFCEEF46076F</key>
+			<iv>C8F030398A873550A34386D9A153D833</iv>
+			<input>E569936F9263B99A6F83FCA864EC457C</input>
+			<output>519CF42C0BBFCBD79679089BC5E963B4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 8</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>80E9C0F78F99E309935C0A69B961D787DE99F1A9CB0625A541A5E7552AAF64DB</key>
+			<iv>519CF42C0BBFCBD79679089BC5E963B4</iv>
+			<input>AB0A55B23765C44DD224B569BDA62683</input>
+			<output>64AC8FEA3B83584E9B7379B48F88B7A4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 9</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>48DDBDA704BA7702960820A0D2CA485CBA357E43F0857DEBDAD69EE1A527D37F</key>
+			<iv>64AC8FEA3B83584E9B7379B48F88B7A4</iv>
+			<input>C8347D508B23940B05542AC96BAB9FDB</input>
+			<output>2B1F53F35A308673E9B1E004C32B2080</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 10</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D26C4C6BE601D63BDDE6F1A49B5124CB912A2DB0AAB5FB9833677EE5660CF3FF</key>
+			<iv>2B1F53F35A308673E9B1E004C32B2080</iv>
+			<input>9AB1F1CCE2BBA1394BEED104499B6C97</input>
+			<output>0DAE66B5741FE38E544D9EC4E90ABDAF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 11</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D241355DB8FC5F23D0D207F72E290F189C844B05DEAA1816672AE0218F064E50</key>
+			<iv>0DAE66B5741FE38E544D9EC4E90ABDAF</iv>
+			<input>002D79365EFD89180D34F653B5782BD3</input>
+			<output>D00122636CC0D9D62E614EAF0963C448</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 12</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>1BC3268A0B674A05B2FC6E18460231564C856966B26AC1C0494BAE8E86658A18</key>
+			<iv>D00122636CC0D9D62E614EAF0963C448</iv>
+			<input>C98213D7B39B1526622E69EF682B3E4E</input>
+			<output>30EF014D1766651C524B3CC82F0140C6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 13</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>50BE5951A5C2403C52425897C442A8457C6A682BA50CA4DC1B009246A964CADE</key>
+			<iv>30EF014D1766651C524B3CC82F0140C6</iv>
+			<input>4B7D7FDBAEA50A39E0BE368F82409913</input>
+			<output>BAD488702B447FABEC2074E1DD37E631</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 14</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C007EE52430FF98EDD206C94ED349DE6C6BEE05B8E48DB77F720E6A774532CEF</key>
+			<iv>BAD488702B447FABEC2074E1DD37E631</iv>
+			<input>90B9B703E6CDB9B28F623403297635A3</input>
+			<output>EC3862EB60E7D8D0827645BD690F71B8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 15</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>AE37C1DBEBF9B269E8D10CC4F046F9FC2A8682B0EEAF03A77556A31A1D5C5D57</key>
+			<iv>EC3862EB60E7D8D0827645BD690F71B8</iv>
+			<input>6E302F89A8F64BE735F160501D72641A</input>
+			<output>6073D1F25F3697C1E07384C67D71D8AE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 16</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>86E8B9050AB24200E3757B67F08761534AF55342B1999466952527DC602D85F9</key>
+			<iv>6073D1F25F3697C1E07384C67D71D8AE</iv>
+			<input>28DF78DEE14BF0690BA477A300C198AF</input>
+			<output>90EF55AB8837792F82CF0F002E36F8DB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 17</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>DE93EA10BB6DC2B0A6D3919561CE5AE4DA1A06E939AEED4917EA28DC4E1B7D22</key>
+			<iv>90EF55AB8837792F82CF0F002E36F8DB</iv>
+			<input>587B5315B1DF80B045A6EAF291493BB7</input>
+			<output>063783CB1A2137732D10CA6233C5CE93</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 18</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3D147E3727A1FEB2C6F36AB9DF772E97DC2D8522238FDA3A3AFAE2BE7DDEB3B1</key>
+			<iv>063783CB1A2137732D10CA6233C5CE93</iv>
+			<input>E38794279CCC3C026020FB2CBEB97473</input>
+			<output>79C5CEEE64BFD33948D2E08EBE25B7E9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 19</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>34586C52923969647663A0D69436D7D1A5E84BCC4730090372280230C3FB0458</key>
+			<iv>79C5CEEE64BFD33948D2E08EBE25B7E9</iv>
+			<input>094C1265B59897D6B090CA6F4B41F946</input>
+			<output>87DFB65D575F56670DB739C988FD7DE5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 20</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>53724BF79612A7F0237927604619DD592237FD91106F5F647F9F3BF94B0679BD</key>
+			<iv>87DFB65D575F56670DB739C988FD7DE5</iv>
+			<input>672A27A5042BCE94551A87B6D22F0A88</input>
+			<output>643F46BC77A5FE2434753B9C38142583</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 21</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8FBC30746F29985FFFA43C8BD3C4FC664608BB2D67CAA1404BEA006573125C3E</key>
+			<iv>643F46BC77A5FE2434753B9C38142583</iv>
+			<input>DCCE7B83F93B3FAFDCDD1BEB95DD213F</input>
+			<output>FD774BD6874EA7C0D790A5015440B664</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 22</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>9A61A910701A4A42873549F78D3D9FD1BB7FF0FBE08406809C7AA5642752EA5A</key>
+			<iv>FD774BD6874EA7C0D790A5015440B664</iv>
+			<input>15DD99641F33D21D7891757C5EF963B7</input>
+			<output>BFCEF4403428F5C96C24C249962371D4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 23</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8D98738F6DF30113AF69A7A61C1582EE04B104BBD4ACF349F05E672DB1719B8E</key>
+			<iv>BFCEF4403428F5C96C24C249962371D4</iv>
+			<input>17F9DA9F1DE94B51285CEE5191281D3F</input>
+			<output>CC79F35C41F0E6C0EB03472B1D13029E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 24</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>976C27F1A15FF6780043636FC4777090C8C8F7E7955C15891B5D2006AC629910</key>
+			<iv>CC79F35C41F0E6C0EB03472B1D13029E</iv>
+			<input>1AF4547ECCACF76BAF2AC4C9D862F27E</input>
+			<output>0629B80F94FBC2C1984985B9F3B85BDD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 25</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E8934C533DED166F58D65C9E60A906A5CEE14FE801A7D7488314A5BF5FDAC2CD</key>
+			<iv>0629B80F94FBC2C1984985B9F3B85BDD</iv>
+			<input>7FFF6BA29CB2E01758953FF1A4DE7635</input>
+			<output>F2A70F4ED1A836696841D523F2650B55</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 26</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8116688C16D2C26D162C4D813FB267103C4640A6D00FE121EB55709CADBFC998</key>
+			<iv>F2A70F4ED1A836696841D523F2650B55</iv>
+			<input>698524DF2B3FD4024EFA111F5F1B61B5</input>
+			<output>A9B5565EB9B5D5DAC52BE0F449FBE11A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 27</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5A7062E77C6D20563AFD0BFDAAE04BE995F316F869BA34FB2E7E9068E4442882</key>
+			<iv>A9B5565EB9B5D5DAC52BE0F449FBE11A</iv>
+			<input>DB660A6B6ABFE23B2CD1467C95522CF9</input>
+			<output>E47F675379D4CE3DDABA0F906BE014B2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 28</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4DDC0A5938F4A3DC1AF8D3AFD3DF6198718C71AB106EFAC6F4C49FF88FA43C30</key>
+			<iv>E47F675379D4CE3DDABA0F906BE014B2</iv>
+			<input>17AC68BE4499838A2005D852793F2A71</input>
+			<output>7B95AB0E030C70B7940ECDAEFCA570A5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 29</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E287EFC66626600AF3453F68BE53E5250A19DAA513628A7160CA525673014C95</key>
+			<iv>7B95AB0E030C70B7940ECDAEFCA570A5</iv>
+			<input>AF5BE59F5ED2C3D6E9BDECC76D8C84BD</input>
+			<output>E854E5DE0C42D57B869C29FC8D5AFFF3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 30</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>7F3415A538F60B24A58447E1D38805B3E24D3F7B1F205F0AE6567BAAFE5BB366</key>
+			<iv>E854E5DE0C42D57B869C29FC8D5AFFF3</iv>
+			<input>9DB3FA635ED06B2E56C178896DDBE096</input>
+			<output>4E55EDEDC35CDEAB3BFB2B5D39871625</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 31</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>59E5F5ECC5693DA07046636094970E8CAC18D296DC7C81A1DDAD50F7C7DCA543</key>
+			<iv>4E55EDEDC35CDEAB3BFB2B5D39871625</iv>
+			<input>26D1E049FD9F3684D5C22481471F0B3F</input>
+			<output>3355C2CC762E58FA941E0004209CA710</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 32</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0B62CF7EA869036A529E9D184574CD609F4D105AAA52D95B49B350F3E7400253</key>
+			<iv>3355C2CC762E58FA941E0004209CA710</iv>
+			<input>52873A926D003ECA22D8FE78D1E3C3EC</input>
+			<output>9B86680D69D38870268D42E78EDA2B50</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 33</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>CEDC9CCC4DC42CB055EDC50597EE24DF04CB7857C381512B6F3E1214699A2903</key>
+			<iv>9B86680D69D38870268D42E78EDA2B50</iv>
+			<input>C5BE53B2E5AD2FDA0773581DD29AE9BF</input>
+			<output>05DD4896F08EEAA6A53FA7BCF183F538</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 34</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>CA30B422016C86247D75B618D19247AC011630C1330FBB8DCA01B5A89819DC3B</key>
+			<iv>05DD4896F08EEAA6A53FA7BCF183F538</iv>
+			<input>04EC28EE4CA8AA942898731D467C6373</input>
+			<output>F81E56F4390D65C7959348A6FBD8A94E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 35</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B7096A2EC0259DA21ACA6DBE637A9F15F90866350A02DE4A5F92FD0E63C17575</key>
+			<iv>F81E56F4390D65C7959348A6FBD8A94E</iv>
+			<input>7D39DE0CC1491B8667BFDBA6B2E8D8B9</input>
+			<output>4364CA2D90FA256084DF8E2FCDC62AB3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 36</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>436C0894D4436149EE685F0061BDF3AEBA6CAC189AF8FB2ADB4D7321AE075FC6</key>
+			<iv>4364CA2D90FA256084DF8E2FCDC62AB3</iv>
+			<input>F46562BA1466FCEBF4A232BE02C76CBB</input>
+			<output>0991DE19A5ABE5F7E8AE24120789B9AB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 37</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>44E1636AFF962EC4F1C446A89B9393C6B3FD72013F531EDD33E35733A98EE66D</key>
+			<iv>0991DE19A5ABE5F7E8AE24120789B9AB</iv>
+			<input>078D6BFE2BD54F8D1FAC19A8FA2E6068</input>
+			<output>0F4EF4FA608671AC5F71063CF6C1EBDE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 38</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>44289918A9E99F859FC2F604FE38B86EBCB386FB5FD56F716C92510F5F4F0DB3</key>
+			<iv>0F4EF4FA608671AC5F71063CF6C1EBDE</iv>
+			<input>00C9FA72567FB1416E06B0AC65AB2BA8</input>
+			<output>2D6A2A1CC9D208C16236BBC9451EC5E1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 39</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>BE5907C77B0939D20575F27427A2C3FE91D9ACE7960767B00EA4EAC61A51C852</key>
+			<iv>2D6A2A1CC9D208C16236BBC9451EC5E1</iv>
+			<input>FA719EDFD2E0A6579AB70470D99A7B90</input>
+			<output>237A8DFBA42708BBF7E540766F2059F1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 40</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>CD97125720F2002207AC44C456CDDF0DB2A3211C32206F0BF941AAB0757191A3</key>
+			<iv>237A8DFBA42708BBF7E540766F2059F1</iv>
+			<input>73CE15905BFB39F002D9B6B0716F1CF3</input>
+			<output>2D1AB5CF3E9C27ADA9FB45F15007A7BB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 41</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>123F64F2A28C80C2F6E000F69C8E5A639FB994D30CBC48A650BAEF4125763618</key>
+			<iv>2D1AB5CF3E9C27ADA9FB45F15007A7BB</iv>
+			<input>DFA876A5827E80E0F14C4432CA43856E</input>
+			<output>7039C9AF1E10FE99A91483EA578AE6DD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 42</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>6CD69C4F5AD7CB5E9E4574F6A48FDB28EF805D7C12ACB63FF9AE6CAB72FCD0C5</key>
+			<iv>7039C9AF1E10FE99A91483EA578AE6DD</iv>
+			<input>7EE9F8BDF85B4B9C68A574003801814B</input>
+			<output>116DD8566366A19EEAF2F3E744B3EF9C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 43</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C73969C7D6D057003E2E215D94978792FEED852A71CA17A1135C9F4C364F3F59</key>
+			<iv>116DD8566366A19EEAF2F3E744B3EF9C</iv>
+			<input>ABEFF5888C079C5EA06B55AB30185CBA</input>
+			<output>648A801EF27E77D964BB751A32B8CFE8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 44</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E0960DD6E807F3D0B5DF057D0D1E6DCC9A67053483B4607877E7EA5604F7F0B1</key>
+			<iv>648A801EF27E77D964BB751A32B8CFE8</iv>
+			<input>27AF64113ED7A4D08BF124209989EA5E</input>
+			<output>D18AE728717C535049868FA6F1B4294E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 45</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>466AE043435C6CCA67FF1C5D4B4175DA4BEDE21CF2C833283E6165F0F543D9FF</key>
+			<iv>D18AE728717C535049868FA6F1B4294E</iv>
+			<input>A6FCED95AB5B9F1AD2201920465F1816</input>
+			<output>169B55360728DA8F582C488F2569411F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 46</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>27E1BC4931601D667CD807454D58B2BB5D76B72AF5E0E9A7664D2D7FD02A98E0</key>
+			<iv>169B55360728DA8F582C488F2569411F</iv>
+			<input>618B5C0A723C71AC1B271B180619C761</input>
+			<output>67DADCF7C31CA394F46F18AB1AEA022E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 47</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>2D4EB1F3A709F0A4CA5E2CD47F8F10123AAC6BDD36FC4A33922235D4CAC09ACE</key>
+			<iv>67DADCF7C31CA394F46F18AB1AEA022E</iv>
+			<input>0AAF0DBA9669EDC2B6862B9132D7A2A9</input>
+			<output>A5D49BDF099335166BBFDCBE29C90B80</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 48</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>2A90CE470EB8C9400B056307D53452BE9F78F0023F6F7F25F99DE96AE309914E</key>
+			<iv>A5D49BDF099335166BBFDCBE29C90B80</iv>
+			<input>07DE7FB4A9B139E4C15B4FD3AABB42AC</input>
+			<output>5AFC238F19E369E77278593C6E20A946</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 49</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>90B696E9A0792BFF7BF21BE373731CB5C584D38D268C16C28BE5B0568D293808</key>
+			<iv>5AFC238F19E369E77278593C6E20A946</iv>
+			<input>BA2658AEAEC1E2BF70F778E4A6474E0B</input>
+			<output>2861A363922099D0F0B2A5AD2A5F421E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 50</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4FE5C563B7DB98C6B9CCA52F313FBAFCEDE570EEB4AC8F127B5715FBA7767A16</key>
+			<iv>2861A363922099D0F0B2A5AD2A5F421E</iv>
+			<input>DF53538A17A2B339C23EBECC424CA649</input>
+			<output>D76E51B6EA5F74D0116C4D16EDD0DFAC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 51</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>EBF784D98E40372429819EE23BE85B723A8B21585EF3FBC26A3B58ED4AA6A5BA</key>
+			<iv>D76E51B6EA5F74D0116C4D16EDD0DFAC</iv>
+			<input>A41241BA399BAFE2904D3BCD0AD7E18E</input>
+			<output>6214F5E50EC99F40B86951CE395C8315</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 52</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C01A5093C6A29CEED72D14D903BD17E8589FD4BD503A6482D252092373FA26AF</key>
+			<iv>6214F5E50EC99F40B86951CE395C8315</iv>
+			<input>2BEDD44A48E2ABCAFEAC8A3B38554C9A</input>
+			<output>6CFC2188E40E806BBE277988B924627E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 53</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A8C3A10380B6D4D1CEFABF57F3C695193463F535B434E4E96C7570ABCADE44D1</key>
+			<iv>6CFC2188E40E806BBE277988B924627E</iv>
+			<input>68D9F1904614483F19D7AB8EF07B82F1</input>
+			<output>B98E851902AEC129FD1607DECA9E0669</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 54</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B828711ABA1D06408099944287112DE58DED702CB69A25C091637775004042B8</key>
+			<iv>B98E851902AEC129FD1607DECA9E0669</iv>
+			<input>10EBD0193AABD2914E632B1574D7B8FC</input>
+			<output>DBDA9DB56E6FF915D67D7DEE541DD6A3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 55</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3B0E9FE343D665ABB3706243EF023C765637ED99D8F5DCD5471E0A9B545D941B</key>
+			<iv>DBDA9DB56E6FF915D67D7DEE541DD6A3</iv>
+			<input>8326EEF9F9CB63EB33E9F60168131193</input>
+			<output>399802CE3FF3878A73C7D85E19FDD54B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 56</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>9270D72D972B46C8E630FBD1AA67FBED6FAFEF57E7065B5F34D9D2C54DA04150</key>
+			<iv>399802CE3FF3878A73C7D85E19FDD54B</iv>
+			<input>A97E48CED4FD2363554099924565C79B</input>
+			<output>40FABA067414961FD964EC91196943E3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 57</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>017211AC512541BFBDD0292385AA20862F5555519312CD40EDBD3E5454C902B3</key>
+			<iv>40FABA067414961FD964EC91196943E3</iv>
+			<input>9302C681C60E07775BE0D2F22FCDDB6B</input>
+			<output>6BF1125E581341510FD02B9450886B17</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 58</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>AC2652A877F924710178641D20B239B944A4470FCB018C11E26D15C0044169A4</key>
+			<iv>6BF1125E581341510FD02B9450886B17</iv>
+			<input>AD54430426DC65CEBCA84D3EA518193F</input>
+			<output>74871D2EF6D1F29181B0A2530885EEC8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 59</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0BF012A9F0CB194C1F00893D4803E10130235A213DD07E8063DDB7930CC4876C</key>
+			<iv>74871D2EF6D1F29181B0A2530885EEC8</iv>
+			<input>A7D6400187323D3D1E78ED2068B1D8B8</input>
+			<output>2A2DC9F5CB47C94D430ECAAAB1D0811E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 60</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8D22EEEA013E327509E84630166331DB1A0E93D4F697B7CD20D37D39BD140672</key>
+			<iv>2A2DC9F5CB47C94D430ECAAAB1D0811E</iv>
+			<input>86D2FC43F1F52B3916E8CF0D5E60D0DA</input>
+			<output>BC318E32957CE6577CD06E2D3166CD1F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 61</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>1C4909D11840D978FD7232D0FBC0E6A3A63F1DE663EB519A5C0313148C72CB6D</key>
+			<iv>BC318E32957CE6577CD06E2D3166CD1F</iv>
+			<input>916BE73B197EEB0DF49A74E0EDA3D778</input>
+			<output>E9858DBB1B5145ABB598ADE882346DDB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 62</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>DD2ED3C6FCE0034F19259D57A35B60CF4FBA905D78BA1431E99BBEFC0E46A6B6</key>
+			<iv>E9858DBB1B5145ABB598ADE882346DDB</iv>
+			<input>C167DA17E4A0DA37E457AF87589B866C</input>
+			<output>1E04B15BBF727BEAC33C0C26141636DD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 63</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>81C434CDF7EABAA49252EC86DFE15FBA51BE2106C7C86FDB2AA7B2DA1A50906B</key>
+			<iv>1E04B15BBF727BEAC33C0C26141636DD</iv>
+			<input>5CEAE70B0B0AB9EB8B7771D17CBA3F75</input>
+			<output>EB21AED731D594017F5729262A1E23B4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 64</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>AEF6BF8323CAE4C2270CC5E51B0A3BFFBA9F8FD1F61DFBDA55F09BFC304EB3DF</key>
+			<iv>EB21AED731D594017F5729262A1E23B4</iv>
+			<input>2F328B4ED4205E66B55E2963C4EB6445</input>
+			<output>EB73CFADA0ACB98B37091CB81489CC7C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 65</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>BC3BD548867FA82FF80EF67B38016A1E51EC407C56B1425162F9874424C77FA3</key>
+			<iv>EB73CFADA0ACB98B37091CB81489CC7C</iv>
+			<input>12CD6ACBA5B54CEDDF02339E230B51E1</input>
+			<output>1FEEF226D6759E8813B98A5D43B2F22A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 66</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E1F5760C694DBE5688A0241B5517B4B14E02B25A80C4DCD971400D1967758D89</key>
+			<iv>1FEEF226D6759E8813B98A5D43B2F22A</iv>
+			<input>5DCEA344EF32167970AED2606D16DEAF</input>
+			<output>9C591D087F0F45C8AE3DEC9C455FE200</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 67</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>ABF2D79C472D0159FA9AE646D0C0FC9CD25BAF52FFCB9911DF7DE185222A6F89</key>
+			<iv>9C591D087F0F45C8AE3DEC9C455FE200</iv>
+			<input>4A07A1902E60BF0F723AC25D85D7482D</input>
+			<output>62C4F4D7E4AC5ABC03BECA3CA56DA4FD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 68</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E58A351A4DD79A2ED6D386E11A8563F2B09F5B851B67C3ADDCC32BB98747CB74</key>
+			<iv>62C4F4D7E4AC5ABC03BECA3CA56DA4FD</iv>
+			<input>4E78E2860AFA9B772C4960A7CA459F6E</input>
+			<output>AD8557C0D04675CC312C7A106D5C8B83</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 69</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>BCF7BB1010AF5CEB05E06339689067E31D1A0C45CB21B661EDEF51A9EA1B40F7</key>
+			<iv>AD8557C0D04675CC312C7A106D5C8B83</iv>
+			<input>597D8E0A5D78C6C5D333E5D872150411</input>
+			<output>80159F4F5E0C2DC07D3CD3C52A1A8E6D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 70</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>328BB8EB86055D2BB52A02E40BB5D2C39D0F930A952D9BA190D3826CC001CE9A</key>
+			<iv>80159F4F5E0C2DC07D3CD3C52A1A8E6D</iv>
+			<input>8E7C03FB96AA01C0B0CA61DD6325B520</input>
+			<output>F58A2EE5A5BDE8CA0A96F4F4B64BE737</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 71</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F192AE51D926A2B68C38EA4E48A0590F6885BDEF3090736B9A457698764A29AD</key>
+			<iv>F58A2EE5A5BDE8CA0A96F4F4B64BE737</iv>
+			<input>C31916BA5F23FF9D3912E8AA43158BCC</input>
+			<output>B4C0DD55013AEFE12D94F31B861134CC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 72</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5EE48E38C2C805E2AACC89AD8682E552DC4560BA31AA9C8AB7D18583F05B1D61</key>
+			<iv>B4C0DD55013AEFE12D94F31B861134CC</iv>
+			<input>AF7620691BEEA75426F463E3CE22BC5D</input>
+			<output>FD8B06AEF9B3C25D11B950A6648276BB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 73</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F425B9BF4D114251736EE7FCDB430B6721CE6614C8195ED7A668D52594D96BDA</key>
+			<iv>FD8B06AEF9B3C25D11B950A6648276BB</iv>
+			<input>AAC137878FD947B3D9A26E515DC1EE35</input>
+			<output>31BE8DF4A8A749FBF11AB07D8479A10B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 74</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>61A2D5337BCB827887F884AD98C67BEA1070EBE060BE172C5772655810A0CAD1</key>
+			<iv>31BE8DF4A8A749FBF11AB07D8479A10B</iv>
+			<input>95876C8C36DAC029F49663514385708D</input>
+			<output>E9A2EF0C882781788D50033B79FE181F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 75</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E930B2277AC4475FB0A94519F60DE552F9D204ECE8999654DA226663695ED2CE</key>
+			<iv>E9A2EF0C882781788D50033B79FE181F</iv>
+			<input>88926714010FC5273751C1B46ECB9EB8</input>
+			<output>17FFCD5A010709A2737570E038D63B27</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 76</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B944CE978DF68F8FBFF0A5EA62AAC299EE2DC9B6E99E9FF6A95716835188E9E9</key>
+			<iv>17FFCD5A010709A2737570E038D63B27</iv>
+			<input>50747CB0F732C8D00F59E0F394A727CB</input>
+			<output>E12B89FA1B1DD3B29F02219FD3D7D3D2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 77</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0E2D7FCEB557462267BED2CCA8B48CD70F06404CF2834C443655371C825F3A3B</key>
+			<iv>E12B89FA1B1DD3B29F02219FD3D7D3D2</iv>
+			<input>B769B15938A1C9ADD84E7726CA1E4E4E</input>
+			<output>75AE99B6022B08E36FB88A6F4D7698BF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 78</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8046D73D60912221694B2AFE703EDB167AA8D9FAF0A844A759EDBD73CF29A284</key>
+			<iv>75AE99B6022B08E36FB88A6F4D7698BF</iv>
+			<input>8E6BA8F3D5C664030EF5F832D88A57C1</input>
+			<output>CF32DCE11FDB098A6435315342796064</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 79</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>20716D6975C32231968BF76725144CBAB59A051BEF734D2D3DD88C208D50C2E0</key>
+			<iv>CF32DCE11FDB098A6435315342796064</iv>
+			<input>A037BA5415520010FFC0DD99552A97AC</input>
+			<output>80F12B261317C66F21AC811230848468</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 80</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>AD5A2011E425AFFD57E7191336D37D25356B2E3DFC648B421C740D32BDD44688</key>
+			<iv>80F12B261317C66F21AC811230848468</iv>
+			<input>8D2B4D7891E68DCCC16CEE7413C7319F</input>
+			<output>F2C6B70C19A5748C6D2B5DE41544854F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 81</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>49D4228508C789105CF457D10FA56048C7AD9931E5C1FFCE715F50D6A890C3C7</key>
+			<iv>F2C6B70C19A5748C6D2B5DE41544854F</iv>
+			<input>E48E0294ECE226ED0B134EC239761D6D</input>
+			<output>A31FB3535978DAA555DD617FAB27A97A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 82</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>67CE710A3E778CB4A37D1F2274D4462D64B22A62BCB9256B248231A903B76ABD</key>
+			<iv>A31FB3535978DAA555DD617FAB27A97A</iv>
+			<input>2E1A538F36B005A4FF8948F37B712665</input>
+			<output>97336ECFAE89015E0B5A7D1C154C71BF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 83</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A87C517EF43CACC6D41EEB661DD1142CF38144AD123024352FD84CB516FB1B02</key>
+			<iv>97336ECFAE89015E0B5A7D1C154C71BF</iv>
+			<input>CFB22074CA4B20727763F44469055201</input>
+			<output>466CD227A6A9D5FC3C0579064530FCE0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 84</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D73F926A5B5DD8F5B82DE8F77E0E0697B5ED968AB499F1C913DD35B353CBE7E2</key>
+			<iv>466CD227A6A9D5FC3C0579064530FCE0</iv>
+			<input>7F43C314AF6174336C33039163DF12BB</input>
+			<output>4F444B4554E965A113DC0097AA8FAD7A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 85</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>7A19BE1C42A13B85B754834E9808DF4BFAA9DDCFE070946800013524F9444A98</key>
+			<iv>4F444B4554E965A113DC0097AA8FAD7A</iv>
+			<input>AD262C7619FCE3700F796BB9E606D9DC</input>
+			<output>F7078ABE7617867274CBBEDA1082B987</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 86</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D256675EDBF987B5CA86C21DE177C6A00DAE57719667121A74CA8BFEE9C6F31F</key>
+			<iv>F7078ABE7617867274CBBEDA1082B987</iv>
+			<input>A84FD9429958BC307DD24153797F19EB</input>
+			<output>676ACAB66B04597F1A33FF462BD5E0EE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 87</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C025616AB6F89BB1B90AA0E8F63FF1CC6AC49DC7FD634B656EF974B8C21313F1</key>
+			<iv>676ACAB66B04597F1A33FF462BD5E0EE</iv>
+			<input>127306346D011C04738C62F51748376C</input>
+			<output>BF66B8DD1E540A4FED759FDB9A44B439</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 88</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>2A437D44D93C25B3233FB168D63751A5D5A2251AE337412A838CEB635857A7C8</key>
+			<iv>BF66B8DD1E540A4FED759FDB9A44B439</iv>
+			<input>EA661C2E6FC4BE029A3511802008A069</input>
+			<output>EC8DBB5B3FE245180856B312D3052A87</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 89</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>838278123F0261D1F287C9FF94CA4A55392F9E41DCD504328BDA58718B528D4F</key>
+			<iv>EC8DBB5B3FE245180856B312D3052A87</iv>
+			<input>A9C10556E63E4462D1B8789742FD1BF0</input>
+			<output>02E1E60312BB371912C35E3EBC6EA755</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 90</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>64F3A47C8C7CFA9FF2AC88637C598E6A3BCE7842CE6E332B9919064F373C2A1A</key>
+			<iv>02E1E60312BB371912C35E3EBC6EA755</iv>
+			<input>E771DC6EB37E9B4E002B419CE893C43F</input>
+			<output>73D7499EBB38716D71CCB737CFFFA3FB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 91</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>585ABE6B779F22400FC2AC3B55B39E91481931DC75564246E8D5B178F8C389E1</key>
+			<iv>73D7499EBB38716D71CCB737CFFFA3FB</iv>
+			<input>3CA91A17FBE3D8DFFD6E245829EA10FB</input>
+			<output>CEE7721855B7381D369ECC1C9337BB02</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 92</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>7BC1E883465CBBB9BA624FF99308259386FE43C420E17A5BDE4B7D646BF432E3</key>
+			<iv>CEE7721855B7381D369ECC1C9337BB02</iv>
+			<input>239B56E831C399F9B5A0E3C2C6BBBB02</input>
+			<output>B6F48D369383974D163E4F17FDFC59EF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 93</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>70032AF50BB5E080D4AA7722CEDC7DA9300ACEF2B362ED16C875327396086B0C</key>
+			<iv>B6F48D369383974D163E4F17FDFC59EF</iv>
+			<input>0BC2C2764DE95B396EC838DB5DD4583A</input>
+			<output>E8372DA404126C63190626D95583629D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 94</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5C61B59BDA2FF51D4F4F740578466EA9D83DE356B7708175D17314AAC38B0991</key>
+			<iv>E8372DA404126C63190626D95583629D</iv>
+			<input>2C629F6ED19A159D9BE50327B69A1300</input>
+			<output>F717B53E51665D0854C895EA1D1D7E77</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 95</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>59A35E82B9C8D8FF25CFC5BAD979A9052F2A5668E616DC7D85BB8140DE9677E6</key>
+			<iv>F717B53E51665D0854C895EA1D1D7E77</iv>
+			<input>05C2EB1963E72DE26A80B1BFA13FC7AC</input>
+			<output>7D3EE90EEF7C16872F98296977AA9557</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 96</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5BC419836F7C4F57957E13E39B2181455214BF66096ACAFAAA23A829A93CE2B1</key>
+			<iv>7D3EE90EEF7C16872F98296977AA9557</iv>
+			<input>02674701D6B497A8B0B1D65942582840</input>
+			<output>6DCD0C4B5633078FDEA9AE24781CB212</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 97</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E6D2BB67584AA2FAAE1D0DAD8C9C60253FD9B32D5F59CD75748A060DD12050A3</key>
+			<iv>6DCD0C4B5633078FDEA9AE24781CB212</iv>
+			<input>BD16A2E43736EDAD3B631E4E17BDE160</input>
+			<output>6515251260A73AE868E992B6D49579C5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 98</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>57637851C3C08A2923EBD2FEA27472DC5ACC963F3FFEF79D1C6394BB05B52966</key>
+			<iv>6515251260A73AE868E992B6D49579C5</iv>
+			<input>B1B1C3369B8A28D38DF6DF532EE812F9</input>
+			<output>1A40C2C15F03867E81F951B545396BB4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 99</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E08E94110F1E64554848AB1966299B7D408C54FE60FD71E39D9AC50E408C42D2</key>
+			<iv>1A40C2C15F03867E81F951B545396BB4</iv>
+			<input>B7EDEC40CCDEEE7C6BA379E7C45DE9A1</input>
+			<output>DD331F336D669EFD37106099EA51010D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 100</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>17F2544156745EC108BF97DA806752C39DBF4BCD0D9BEF1EAA8AA597AADD43DF</key>
+			<iv>DD331F336D669EFD37106099EA51010D</iv>
+			<input>F77CC050596A3A9440F73CC3E64EC9BE</input>
+			<output>0EF37EC0B6071874FF68926D98A0EEAB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 101</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C97ABFF115E20A6C72A6206DB63EC0FD934C350DBB9CF76A55E237FA327DAD74</key>
+			<iv>0EF37EC0B6071874FF68926D98A0EEAB</iv>
+			<input>DE88EBB0439654AD7A19B7B73659923E</input>
+			<output>DA1DAEB42178A7657A40BD72A06CEDDC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 102</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>77AB469FBC999BB2922D460413E2012049519BB99AE4500F2FA28A88921140A8</key>
+			<iv>DA1DAEB42178A7657A40BD72A06CEDDC</iv>
+			<input>BED1F96EA97B91DEE08B6669A5DCC1DD</input>
+			<output>E78523134FC8EAA77CC85E0EEC60FCD3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 103</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4F88FA6F4053B3A15094ED532C2F47DCAED4B8AAD52CBAA8536AD4867E71BC7B</key>
+			<iv>E78523134FC8EAA77CC85E0EEC60FCD3</iv>
+			<input>3823BCF0FCCA2813C2B9AB573FCD46FC</input>
+			<output>BC540D1838D7AD8E8B1C44B96684DD31</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 104</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D178E105443700CFEE007AB3BAA71E4C1280B5B2EDFB1726D876903F18F5614A</key>
+			<iv>BC540D1838D7AD8E8B1C44B96684DD31</iv>
+			<input>9EF01B6A0464B36EBE9497E096885990</input>
+			<output>6C6B95A5D8F4E7F1A5864DDBFCDCEED8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 105</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8F6A589BA0ED1A67FE426368A7E523047EEB2017350FF0D77DF0DDE4E4298F92</key>
+			<iv>6C6B95A5D8F4E7F1A5864DDBFCDCEED8</iv>
+			<input>5E12B99EE4DA1AA8104219DB1D423D48</input>
+			<output>B58C92AE19B332621E7A4E5512C88596</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 106</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>147895B157BF16B87C32AAA17480A886CB67B2B92CBCC2B5638A93B1F6E10A04</key>
+			<iv>B58C92AE19B332621E7A4E5512C88596</iv>
+			<input>9B12CD2AF7520CDF8270C9C9D3658B82</input>
+			<output>4D1D90F007BB5099C382E69C9CD1F7E5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 107</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4C8441FCEBBD595999864A6CC37F7EDB867A22492B07922CA008752D6A30FDE1</key>
+			<iv>4D1D90F007BB5099C382E69C9CD1F7E5</iv>
+			<input>58FCD44DBC024FE1E5B4E0CDB7FFD65D</input>
+			<output>7F59920056EC32FA48F8A9CCCFFE437A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 108</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>CD922EEA60F0F136A799C650F5D4B030F923B0497DEBA0D6E8F0DCE1A5CEBE9B</key>
+			<iv>7F59920056EC32FA48F8A9CCCFFE437A</iv>
+			<input>81166F168B4DA86F3E1F8C3C36ABCEEB</input>
+			<output>A546F57E48A783694577D59F7FD01D9E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 109</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>90DE3ECB26E68BDD3C4B7AB9B9CDE6195C654537354C23BFAD87097EDA1EA305</key>
+			<iv>A546F57E48A783694577D59F7FD01D9E</iv>
+			<input>5D4C102146167AEB9BD2BCE94C195629</input>
+			<output>6342B8CB1E493F916585FF1BBFC42AB3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 110</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>ADF1869FEA15122394E1F6FF6B51E5DE3F27FDFC2B051C2EC802F66565DA89B6</key>
+			<iv>6342B8CB1E493F916585FF1BBFC42AB3</iv>
+			<input>3D2FB854CCF399FEA8AA8C46D29C03C7</input>
+			<output>052AEDF54016429320B04243E308ECFE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 111</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>DF52D7982845CBAEB4E56592906B63943A0D10096B135EBDE8B2B42686D26548</key>
+			<iv>052AEDF54016429320B04243E308ECFE</iv>
+			<input>72A35107C250D98D2004936DFB3A864A</input>
+			<output>EE147A64DC2E31222A3A14B133769ACE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 112</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5D6B5899612FF15825029DEB0B37CB4ED4196A6DB73D6F9FC288A097B5A4FF86</key>
+			<iv>EE147A64DC2E31222A3A14B133769ACE</iv>
+			<input>82398F01496A3AF691E7F8799B5CA8DA</input>
+			<output>8330EF868E72D33172D7DEC7B440056C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 113</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>FC23917C478894C9490A6585CCB8A716572985EB394FBCAEB05F7E5001E4FAEA</key>
+			<iv>8330EF868E72D33172D7DEC7B440056C</iv>
+			<input>A148C9E526A765916C08F86EC78F6C58</input>
+			<output>DC83E3727C4E9754A82BFCFFD924ACB3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 114</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>BCD556FA7AFA27F9675F45922924DFA68BAA669945012BFA187482AFD8C05659</key>
+			<iv>DC83E3727C4E9754A82BFCFFD924ACB3</iv>
+			<input>40F6C7863D72B3302E552017E59C78B0</input>
+			<output>C0B97D9320DC3E893953E1D93859D3E4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 115</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A0F23A11C85F008CFEC20F76BD6751054B131B0A65DD157321276376E09985BD</key>
+			<iv>C0B97D9320DC3E893953E1D93859D3E4</iv>
+			<input>1C276CEBB2A52775999D4AE494438EA3</input>
+			<output>8C28875C39211D01A084A59BA71D0C31</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 116</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>2BB58C8FE9FE5BAEC5DB3F6A7EB98187C73B9C565CFC087281A3C6ED4784898C</key>
+			<iv>8C28875C39211D01A084A59BA71D0C31</iv>
+			<input>8B47B69E21A15B223B19301CC3DED082</input>
+			<output>7865E390E8019259A117669082ED5CCC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 117</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>6035A1AC1F0C1871EA06773DEA40B5C5BF5E7FC6B4FD9A2B20B4A07DC569D540</key>
+			<iv>7865E390E8019259A117669082ED5CCC</iv>
+			<input>4B802D23F6F243DF2FDD485794F93442</input>
+			<output>DC7BA7C54217B8DEE966C0672DBE79CD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 118</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>CCA70BB373BA65736D25078BB99980F66325D803F6EA22F5C9D2601AE8D7AC8D</key>
+			<iv>DC7BA7C54217B8DEE966C0672DBE79CD</iv>
+			<input>AC92AA1F6CB67D02872370B653D93533</input>
+			<output>CBB60FB6BE7240A2037CDA46DAAAC4E4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 119</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E6D9E4347ABCE875CDFB026A9B1CE767A893D7B548986257CAAEBA5C327D6869</key>
+			<iv>CBB60FB6BE7240A2037CDA46DAAAC4E4</iv>
+			<input>2A7EEF8709068D06A0DE05E122856791</input>
+			<output>3B0863884DCFFDAAE439E3BCFC2E0491</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 120</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>90C0678C9B9796FACBD3A9E8E40A46E6939BB43D05579FFD2E9759E0CE536CF8</key>
+			<iv>3B0863884DCFFDAAE439E3BCFC2E0491</iv>
+			<input>761983B8E12B7E8F0628AB827F16A181</input>
+			<output>1407CDBD04CA6450D15A276B0E45D500</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 121</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A3505D86BF4B95AEC0F720B4CBDF4985879C7980019DFBADFFCD7E8BC016B9F8</key>
+			<iv>1407CDBD04CA6450D15A276B0E45D500</iv>
+			<input>33903A0A24DC03540B24895C2FD50F63</input>
+			<output>94B64DF8376EAF94F24EB0457DF81418</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 122</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>EAD741BA44D8637A4D49A089E4A122F2132A347836F354390D83CECEBDEEADE0</key>
+			<iv>94B64DF8376EAF94F24EB0457DF81418</iv>
+			<input>49871C3CFB93F6D48DBE803D2F7E6B77</input>
+			<output>6E2DE304D4A21A218291FD9B59FED9BF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 123</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>278551B22B73239BF36E61370FFF43EA7D07D77CE2514E188F123355E410745F</key>
+			<iv>6E2DE304D4A21A218291FD9B59FED9BF</iv>
+			<input>CD5210086FAB40E1BE27C1BEEB5E6118</input>
+			<output>72A1E7B22D6B8B8C38C4CCD545466879</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 124</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C7046CA82928EA5AE1E6998399A090BB0FA630CECF3AC594B7D6FF80A1561C26</key>
+			<iv>72A1E7B22D6B8B8C38C4CCD545466879</iv>
+			<input>E0813D1A025BC9C11288F8B4965FD351</input>
+			<output>F5F1B011C644D119625733433C3DBB40</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 125</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>82AF7079A309A3B1367E4DC8EE90B8C5FA5780DF097E148DD581CCC39D6BA766</key>
+			<iv>F5F1B011C644D119625733433C3DBB40</iv>
+			<input>45AB1CD18A2149EBD798D44B7730287E</input>
+			<output>FDD90319FC2878AE4E23CE63C6660D1A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 126</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>EB439411E1412BA8D6DB9F3052753D3F078E83C6F5566C239BA202A05B0DAA7C</key>
+			<iv>FDD90319FC2878AE4E23CE63C6660D1A</iv>
+			<input>69ECE46842488819E0A5D2F8BCE585FA</input>
+			<output>0B3948AEFD674622289CB41E3F668A5C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 127</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C2FDF3EB8C01693C7FB990CE6D7F56E10CB7CB6808312A01B33EB6BE646B2020</key>
+			<iv>0B3948AEFD674622289CB41E3F668A5C</iv>
+			<input>29BE67FA6D404294A9620FFE3F0A6BDE</input>
+			<output>9F5BF60EB5CCF9D9F3A20DA569209636</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 128</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>ECF0B5C32A3163495086894AB263166D93EC3D66BDFDD3D8409CBB1B0D4BB616</key>
+			<iv>9F5BF60EB5CCF9D9F3A20DA569209636</iv>
+			<input>2E0D4628A6300A752F3F1984DF1C408C</input>
+			<output>3FED40A5796B3D1FF8805E5EF8922511</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 129</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>259CAA194EE9BE90B2B1E7654CBDCD03AC017DC3C496EEC7B81CE545F5D99307</key>
+			<iv>3FED40A5796B3D1FF8805E5EF8922511</iv>
+			<input>C96C1FDA64D8DDD9E2376E2FFEDEDB6E</input>
+			<output>2973A39E09EF5F4F42B29E6730ECC127</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 130</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>FAAB18CE5FA7895BAA9EC69A55F690208572DE5DCD79B188FAAE7B22C5355220</key>
+			<iv>2973A39E09EF5F4F42B29E6730ECC127</iv>
+			<input>DF37B2D7114E37CB182F21FF194B5D23</input>
+			<output>F8C4C1A86B0665E2124CFFA9128FFEFD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 131</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3806BAB3764E794DF526A17BCE0112877DB61FF5A67FD46AE8E2848BD7BAACDD</key>
+			<iv>F8C4C1A86B0665E2124CFFA9128FFEFD</iv>
+			<input>C2ADA27D29E9F0165FB867E19BF782A7</input>
+			<output>90996F6629A41FC86A9520DD33AE5B3F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 132</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B7F781357E024140C3797D01C286E72BED2F70938FDBCBA28277A456E414F7E2</key>
+			<iv>90996F6629A41FC86A9520DD33AE5B3F</iv>
+			<input>8FF13B86084C380D365FDC7A0C87F5AC</input>
+			<output>9DAFB2F259BFD18945A0A6EFF9A81A75</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 133</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B67D37A8E281AFD015C38A72F5662BEE7080C261D6641A2BC7D702B91DBCED97</key>
+			<iv>9DAFB2F259BFD18945A0A6EFF9A81A75</iv>
+			<input>018AB69D9C83EE90D6BAF77337E0CCC5</input>
+			<output>C89F523289AE2A7C8F796C2252CB0597</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 134</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A47B97F34FB4A8F219ED7A59EFE40080B81F90535FCA305748AE6E9B4F77E800</key>
+			<iv>C89F523289AE2A7C8F796C2252CB0597</iv>
+			<input>1206A05BAD3507220C2EF02B1A822B6E</input>
+			<output>3AACC4E5DE152BB1730C6D10C9A81A0A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 135</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E8EBBFDA61B6BC6735953F8E448B5E0282B354B681DF1BE63BA2038B86DFF20A</key>
+			<iv>3AACC4E5DE152BB1730C6D10C9A81A0A</iv>
+			<input>4C9028292E0214952C7845D7AB6F5E82</input>
+			<output>1E315BFFFDC3DA42438E683263B496DD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 136</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>EE950FF3D603DECEE18F4ACF99A623589C820F497C1CC1A4782C6BB9E56B64D7</key>
+			<iv>1E315BFFFDC3DA42438E683263B496DD</iv>
+			<input>067EB029B7B562A9D41A7541DD2D7D5A</input>
+			<output>9B021A44CD9FF920DFE1EC97B3EE8AE4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 137</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E073E1149A4A605E041167F3739F17240780150DB1833884A7CD872E5685EE33</key>
+			<iv>9B021A44CD9FF920DFE1EC97B3EE8AE4</iv>
+			<input>0EE6EEE74C49BE90E59E2D3CEA39347C</input>
+			<output>4F62EE03D7A8337ECB3DCC0EA5444C2D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 138</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>BF449E4B7DFA404D3F18C0266725F67248E2FB0E662B0BFA6CF04B20F3C1A21E</key>
+			<iv>4F62EE03D7A8337ECB3DCC0EA5444C2D</iv>
+			<input>5F377F5FE7B020133B09A7D514BAE156</input>
+			<output>AC8767B1E15D6D1ECACCCBF2D0FAB043</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 139</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3AB2898399D0F8467B37A5C916D9117AE4659CBF877666E4A63C80D2233B125D</key>
+			<iv>AC8767B1E15D6D1ECACCCBF2D0FAB043</iv>
+			<input>85F617C8E42AB80B442F65EF71FCE708</input>
+			<output>9CA6E27F1966AE133CB7B98C2B13C1DA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 140</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>06A09B6D5A6BCA82B26D0625F2A89FA178C37EC09E10C8F79A8B395E0828D387</key>
+			<iv>9CA6E27F1966AE133CB7B98C2B13C1DA</iv>
+			<input>3C1212EEC3BB32C4C95AA3ECE4718EDB</input>
+			<output>B7A6788E6D9886047D1450B093F5B6FE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 141</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>79A26263675E11BE581DDEA79A20CAACCF65064EF3884EF3E79F69EE9BDD6579</key>
+			<iv>B7A6788E6D9886047D1450B093F5B6FE</iv>
+			<input>7F02F90E3D35DB3CEA70D8826888550D</input>
+			<output>5C1785DC27BC301DEAFAEF325A4CCBFD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 142</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>21DEF781026D9ACB4108C6F9847C635F93728392D4347EEE0D6586DCC191AE84</key>
+			<iv>5C1785DC27BC301DEAFAEF325A4CCBFD</iv>
+			<input>587C95E265338B751915185E1E5CA9F3</input>
+			<output>9577E8F6DF5921C4B518974A2F1FCF07</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 143</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>EB000BAA170733EA4D077BDD7DA1623506056B640B6D5F2AB87D1196EE8E6183</key>
+			<iv>9577E8F6DF5921C4B518974A2F1FCF07</iv>
+			<input>CADEFC2B156AA9210C0FBD24F9DD016A</input>
+			<output>09F8E3DA7C5E39F2F13C2B72001D1D56</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 144</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D56A1025AB5F7B5F943B3AECAF87A2800FFD88BE773366D849413AE4EE937CD5</key>
+			<iv>09F8E3DA7C5E39F2F13C2B72001D1D56</iv>
+			<input>3E6A1B8FBC5848B5D93C4131D226C0B5</input>
+			<output>7344F33968E177F3864908F02915739A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 145</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>876077EA9BDB2134098B73CAD4411D997CB97B871FD2112BCF083214C7860F4F</key>
+			<iv>7344F33968E177F3864908F02915739A</iv>
+			<input>520A67CF30845A6B9DB049267BC6BF19</input>
+			<output>EC286360EF2A54CE894ED06ACF39970C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 146</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>AA9943761AD545F47EBCF5CD4584C3B3909118E7F0F845E54646E27E08BF9843</key>
+			<iv>EC286360EF2A54CE894ED06ACF39970C</iv>
+			<input>2DF9349C810E64C07737860791C5DE2A</input>
+			<output>89F4BE70D36A05C84FD2124F6A69786B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 147</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5C285D3FD07EF5F6664B1F4C4CA771E31965A6972392402D0994F03162D6E028</key>
+			<iv>89F4BE70D36A05C84FD2124F6A69786B</iv>
+			<input>F6B11E49CAABB00218F7EA810923B250</input>
+			<output>9A65E99C06E0744056365C4A26CD001F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 148</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F28851656D77922A55655DBE4610993683004F0B2572346D5FA2AC7B441BE037</key>
+			<iv>9A65E99C06E0744056365C4A26CD001F</iv>
+			<input>AEA00C5ABD0967DC332E42F20AB7E8D5</input>
+			<output>566ECB7B317C81CF87BC483B4B6CF417</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 149</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>62428DD3F6B04C564CA6D9DA9A9A64B3D56E8470140EB5A2D81EE4400F771420</key>
+			<iv>566ECB7B317C81CF87BC483B4B6CF417</iv>
+			<input>90CADCB69BC7DE7C19C38464DC8AFD85</input>
+			<output>16E3F727D2D4CC2E88C2A4B0DFEF34AF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 150</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>78A68A0EC33E2C0198538C1EA591AF46C38D7357C6DA798C50DC40F0D098208F</key>
+			<iv>16E3F727D2D4CC2E88C2A4B0DFEF34AF</iv>
+			<input>1AE407DD358E6057D4F555C43F0BCBF5</input>
+			<output>6F6606018F5491FC43864FC29B572551</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 151</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4EFBCF71F7A0DA7564DAF1F0488AA933ACEB7556498EE870135A0F324BCF05DE</key>
+			<iv>6F6606018F5491FC43864FC29B572551</iv>
+			<input>365D457F349EF674FC897DEEED1B0675</input>
+			<output>BC07194E716B4D78F64E14B6E5762439</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 152</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A4BBF15395604071DF929A4922A129DD10EC6C1838E5A508E5141B84AEB921E7</key>
+			<iv>BC07194E716B4D78F64E14B6E5762439</iv>
+			<input>EA403E2262C09A04BB486BB96A2B80EE</input>
+			<output>BF1994171481FB4F84AB092F437EA9C7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 153</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>665F10926596E8F5691ACE10AA5075AEAFF5F80F2C645E4761BF12ABEDC78820</key>
+			<iv>BF1994171481FB4F84AB092F437EA9C7</iv>
+			<input>C2E4E1C1F0F6A884B688545988F15C73</input>
+			<output>254FE05D25B67D3BF6C2688F46A7FAD8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 154</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>15F4BA29EBAAF160AC95507FDA03D7D58ABA185209D2237C977D7A24AB6072F8</key>
+			<iv>254FE05D25B67D3BF6C2688F46A7FAD8</iv>
+			<input>73ABAABB8E3C1995C58F9E6F7053A27B</input>
+			<output>A03B8DB2C1C9B6C574A8499C6E5869CF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 155</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>96A760AB52E1D6A5ACFCA016E98D0BA12A8195E0C81B95B9E3D533B8C5381B37</key>
+			<iv>A03B8DB2C1C9B6C574A8499C6E5869CF</iv>
+			<input>8353DA82B94B27C50069F069338EDC74</input>
+			<output>088F141F097F659145DE8E1EDB2300B5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 156</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>7C06F9EE0327C811CEE3CC3B2B492620220E81FFC164F028A60BBDA61E1B1B82</key>
+			<iv>088F141F097F659145DE8E1EDB2300B5</iv>
+			<input>EAA1994551C61EB4621F6C2DC2C42D81</input>
+			<output>43703327BFDAF109F6F9C5969D3C7649</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 157</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0F8AC1E3014DD99D1A440A693CB73B51617EB2D87EBE012150F2783083276DCB</key>
+			<iv>43703327BFDAF109F6F9C5969D3C7649</iv>
+			<input>738C380D026A118CD4A7C65217FE1D71</input>
+			<output>BDAC873D0A674CDA98105DC3070F7BE4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 158</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E595998ABEF32CABDD4A441B4042BF8BDCD235E574D94DFBC8E225F38428162F</key>
+			<iv>BDAC873D0A674CDA98105DC3070F7BE4</iv>
+			<input>EA1F5869BFBEF536C70E4E727CF584DA</input>
+			<output>A1A89122CF532FBC69E74A70F1E7346F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 159</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>FBA3999F7BF540184E9BE7715CA8C0497D7AA4C7BB8A6247A1056F8375CF2240</key>
+			<iv>A1A89122CF532FBC69E74A70F1E7346F</iv>
+			<input>1E360015C5066CB393D1A36A1CEA7FC2</input>
+			<output>68C2A6FF8EABE7EA05E5DD6093C00129</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 160</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>65AF7CB5F5CEF75FEF0BF5F746D7DD7D15B80238352185ADA4E0B2E3E60F2369</key>
+			<iv>68C2A6FF8EABE7EA05E5DD6093C00129</iv>
+			<input>9E0CE52A8E3BB747A19012861A7F1D34</input>
+			<output>1EA92E63C6926082B04F69E658CFA478</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 161</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>7D3BA807729873EB2021AC1817B2C7D30B112C5BF3B3E52F14AFDB05BEC08711</key>
+			<iv>1EA92E63C6926082B04F69E658CFA478</iv>
+			<input>1894D4B2875684B4CF2A59EF51651AAE</input>
+			<output>45A943F0B6430ABA20C562469AE98A6D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 162</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5ECAEF5BF4EC899C7BFAEE2F50B864924EB86FAB45F0EF95346AB94324290D7C</key>
+			<iv>45A943F0B6430ABA20C562469AE98A6D</iv>
+			<input>23F1475C8674FA775BDB4237470AA341</input>
+			<output>6CDF579A8429606CC9BC56D010845954</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 163</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8D394BD1C8C1D1F8A67A3BA16530662A22673831C1D98FF9FDD6EF9334AD5428</key>
+			<iv>6CDF579A8429606CC9BC56D010845954</iv>
+			<input>D3F3A48A3C2D5864DD80D58E358802B8</input>
+			<output>96E9E19694DB9931AC09A7B6296FEAA8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 164</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>9ABEC4725C717368463710CB2D45774DB48ED9A7550216C851DF48251DC2BE80</key>
+			<iv>96E9E19694DB9931AC09A7B6296FEAA8</iv>
+			<input>17878FA394B0A290E04D2B6A48751167</input>
+			<output>176C9B9B32A539F35BDFB21B38C42134</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 165</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3CA1E23510949D81242F16DE0E9B2B3AA3E2423C67A72F3B0A00FA3E25069FB4</key>
+			<iv>176C9B9B32A539F35BDFB21B38C42134</iv>
+			<input>A61F26474CE5EEE96218061523DE5C77</input>
+			<output>06004480169FB7B6D4DBA7453A85E54D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 166</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>2A72AA0C7EAA3113480EF57A83C272D7A5E206BC7138988DDEDB5D7B1F837AF9</key>
+			<iv>06004480169FB7B6D4DBA7453A85E54D</iv>
+			<input>16D348396E3EAC926C21E3A48D5959ED</input>
+			<output>FF2F4F6E32133CE8C70252937FE5BDA6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 167</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>90C0C8FC5B65BE92E643956293A70AF35ACD49D2432BA46519D90FE86066C75F</key>
+			<iv>FF2F4F6E32133CE8C70252937FE5BDA6</iv>
+			<input>BAB262F025CF8F81AE4D601810657824</input>
+			<output>0972CCC79C412DB6FBC5918B8E6EAB7C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 168</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E0AF49BAC4BD146E83C884327FFB682353BF8515DF6A89D3E21C9E63EE086C23</key>
+			<iv>0972CCC79C412DB6FBC5918B8E6EAB7C</iv>
+			<input>706F81469FD8AAFC658B1150EC5C62D0</input>
+			<output>2D8C668310308FCF7B3E325F50AA89E5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 169</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E5C29451893B7B94249E89469E58DEAD7E33E396CF5A061C9922AC3CBEA2E5C6</key>
+			<iv>2D8C668310308FCF7B3E325F50AA89E5</iv>
+			<input>056DDDEB4D866FFAA7560D74E1A3B68E</input>
+			<output>8342DD95F1040E763C82E36F8F74822F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 170</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4A9AD7CAFA46AE63362069120B502D33FD713E033E5E086AA5A04F5331D667E9</key>
+			<iv>8342DD95F1040E763C82E36F8F74822F</iv>
+			<input>AF58439B737DD5F712BEE0549508F39E</input>
+			<output>8CA83627884D9B7A62F096BD37C14EFF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 171</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>21AEFC00E7CC2942F319630702ECCC6B71D90824B6139310C750D9EE06172916</key>
+			<iv>8CA83627884D9B7A62F096BD37C14EFF</iv>
+			<input>6B342BCA1D8A8721C5390A1509BCE158</input>
+			<output>13073AB95C0C0587372564189A4C176F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 172</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>7E615F002723795F6E37182ECC0C429E62DE329DEA1F9697F075BDF69C5B3E79</key>
+			<iv>13073AB95C0C0587372564189A4C176F</iv>
+			<input>5FCFA300C0EF501D9D2E7B29CEE08EF5</input>
+			<output>247A01C6A7072F64CB463E6580DA222E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 173</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C2A25232803E901B35080B5CA64DEC2646A4335B4D18B9F33B3383931C811C57</key>
+			<iv>247A01C6A7072F64CB463E6580DA222E</iv>
+			<input>BCC30D32A71DE9445B3F13726A41AEB8</input>
+			<output>562355D078402DA76B0CCAAC2BE63DAE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 174</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>46C06B83AD1C5CD849C53A11C05137141087668B35589454503F493F376721F9</key>
+			<iv>562355D078402DA76B0CCAAC2BE63DAE</iv>
+			<input>846239B12D22CCC37CCD314D661CDB32</input>
+			<output>841B1644CCE1BF9DB0D537733047DB7F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 175</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>CB3AD5FB9E07D380841D712E7A71FC15949C70CFF9B92BC9E0EA7E4C0720FA86</key>
+			<iv>841B1644CCE1BF9DB0D537733047DB7F</iv>
+			<input>8DFABE78331B8F58CDD84B3FBA20CB01</input>
+			<output>DE34C065627DB86A2D0AE89FB31BDA86</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 176</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>240CFC15D60F6AE4A53D2C25BD71DD6E4AA8B0AA9BC493A3CDE096D3B43B2000</key>
+			<iv>DE34C065627DB86A2D0AE89FB31BDA86</iv>
+			<input>EF3629EE4808B96421205D0BC700217B</input>
+			<output>38DD744B95756614261178685FBF097F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 177</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>FAA7CBA4AAAD9576591C12233960F1C87275C4E10EB1F5B7EBF1EEBBEB84297F</key>
+			<iv>38DD744B95756614261178685FBF097F</iv>
+			<input>DEAB37B17CA2FF92FC213E0684112CA6</input>
+			<output>DC1CF4E4633355111AD09BE1C6BC1E39</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 178</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>29E0D33A81FFDCE220D1587C36C5EB09AE6930056D82A0A6F121755A2D383746</key>
+			<iv>DC1CF4E4633355111AD09BE1C6BC1E39</iv>
+			<input>D347189E2B52499479CD4A5F0FA51AC1</input>
+			<output>2A5DC4E8C16753D202B638E5003AF83D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 179</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>956C5751C5B439990A006DB1B52336E78434F4EDACE5F374F3974DBF2D02CF7B</key>
+			<iv>2A5DC4E8C16753D202B638E5003AF83D</iv>
+			<input>BC8C846B444BE57B2AD135CD83E6DDEE</input>
+			<output>70F5676DC7646EA8F8A913AE6AD21949</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 180</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8AD9D44BC9018FD05B103360575592FEF4C193806B819DDC0B3E5E1147D0D632</key>
+			<iv>70F5676DC7646EA8F8A913AE6AD21949</iv>
+			<input>1FB5831A0CB5B64951105ED1E276A419</input>
+			<output>C44DA6A603A1E9C02F18123D5CAD5291</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 181</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>DA77F2DA5CD7148B15FE8CA898C9A25E308C35266820741C24264C2C1B7D84A3</key>
+			<iv>C44DA6A603A1E9C02F18123D5CAD5291</iv>
+			<input>50AE269195D69B5B4EEEBFC8CF9C30A0</input>
+			<output>53C2D89EC4D5867DC79168D21C9B8755</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 182</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4A4FD6AED6825A2A0C2114460F029EDA634EEDB8ACF5F261E3B724FE07E603F6</key>
+			<iv>53C2D89EC4D5867DC79168D21C9B8755</iv>
+			<input>903824748A554EA119DF98EE97CB3C84</input>
+			<output>79B9DABE5171A614CAFDEA11637A1800</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 183</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>29102930967275801BD019D6766FDA1A1AF73706FD845475294ACEEF649C1BF6</key>
+			<iv>79B9DABE5171A614CAFDEA11637A1800</iv>
+			<input>635FFF9E40F02FAA17F10D90796D44C0</input>
+			<output>8AB92FA5EA50F1185112FE4D8D2FCC21</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 184</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F4ABA34B232C18EAD6D367320651C374904E18A317D4A56D785830A2E9B3D7D7</key>
+			<iv>8AB92FA5EA50F1185112FE4D8D2FCC21</iv>
+			<input>DDBB8A7BB55E6D6ACD037EE4703E196E</input>
+			<output>FB97C84040732D7B308C5959059D90A9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 185</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>FB140F98A79F5D5D68B80301CB7B640E6BD9D0E357A7881648D469FBEC2E477E</key>
+			<iv>FB97C84040732D7B308C5959059D90A9</iv>
+			<input>0FBFACD384B345B7BE6B6433CD2AA77A</input>
+			<output>D0D0119D500519BF5B4770C494B41680</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 186</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>BC98221C0792D22B6EB258E57DB0D8B0BB09C17E07A291A91393193F789A51FE</key>
+			<iv>D0D0119D500519BF5B4770C494B41680</iv>
+			<input>478C2D84A00D8F76060A5BE4B6CBBCBE</input>
+			<output>94842399FC93828D30979DAD9210B827</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 187</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C92F345AC3CB803EA91C123F97E7005A2F8DE2E7FB31132423048492EA8AE9D9</key>
+			<iv>94842399FC93828D30979DAD9210B827</iv>
+			<input>75B71646C4595215C7AE4ADAEA57D8EA</input>
+			<output>5BDB886E7A7DBBA8679704F13F44B981</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 188</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3EACAF51FEA9A9886D0B9D1B6BA8436574566A89814CA88C44938063D5CE5058</key>
+			<iv>5BDB886E7A7DBBA8679704F13F44B981</iv>
+			<input>F7839B0B3D6229B6C4178F24FC4F433F</input>
+			<output>A2DA893257EE0F732A80FC52887A0788</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 189</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>72E26FEDC250C5FED59FE29C966B61FAD68CE3BBD6A2A7FF6E137C315DB457D0</key>
+			<iv>A2DA893257EE0F732A80FC52887A0788</iv>
+			<input>4C4EC0BC3CF96C76B8947F87FDC3229F</input>
+			<output>2F7877481B1162B01616C9F3268B4C44</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 190</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>901C1268AD3582E6A9FA4C5CBB99D07EF9F494F3CDB3C54F7805B5C27B3F1B94</key>
+			<iv>2F7877481B1162B01616C9F3268B4C44</iv>
+			<input>E2FE7D856F6547187C65AEC02DF2B184</input>
+			<output>9FFA4AF8D0F096CC40A9F879076211E0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 191</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>EAF814EC49F2254E4933FAF977D7BEEC660EDE0B1D43538338AC4DBB7C5D0A74</key>
+			<iv>9FFA4AF8D0F096CC40A9F879076211E0</iv>
+			<input>7AE40684E4C7A7A8E0C9B6A5CC4E6E92</input>
+			<output>886097F5BC20C157A605CBEFCA5663D7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 192</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8ED70BBA192093A0C9AD62E86C27091FEE6E49FEA16392D49EA98654B60B69A3</key>
+			<iv>886097F5BC20C157A605CBEFCA5663D7</iv>
+			<input>642F1F5650D2B6EE809E98111BF0B7F3</input>
+			<output>00DBBB84F52B3C9B28325161072753B6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 193</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>18280464C9E683CFFF9B75A5FD74EE96EEB5F27A5448AE4FB69BD735B12C3A15</key>
+			<iv>00DBBB84F52B3C9B28325161072753B6</iv>
+			<input>96FF0FDED0C6106F3636174D9153E789</input>
+			<output>714A27832B326F0A8FA745012DE4D936</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 194</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F464EE1298B09059016082CCC5ABC0129FFFD5F97F7AC145393C92349CC8E323</key>
+			<iv>714A27832B326F0A8FA745012DE4D936</iv>
+			<input>EC4CEA7651561396FEFBF76938DF2E84</input>
+			<output>5DE8A5CDBA7A6111A646AA17CA5324D4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 195</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>EE7301D63C482593ABB33CF4A57F1101C2177034C500A0549F7A3823569BC7F7</key>
+			<iv>5DE8A5CDBA7A6111A646AA17CA5324D4</iv>
+			<input>1A17EFC4A4F8B5CAAAD3BE3860D4D113</input>
+			<output>EA197ECF36E63616EBB0D9D7C1BD9A22</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 196</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>10528506D50D143EAC40D83731DD55F0280E0EFBF3E6964274CAE1F497265DD5</key>
+			<iv>EA197ECF36E63616EBB0D9D7C1BD9A22</iv>
+			<input>FE2184D0E94531AD07F3E4C394A244F1</input>
+			<output>798349D56EC37993B0E131F8E3F64860</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 197</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>438E1B672254504B972927644802ED36518D472E9D25EFD1C42BD00C74D015B5</key>
+			<iv>798349D56EC37993B0E131F8E3F64860</iv>
+			<input>53DC9E61F75944753B69FF5379DFB8C6</input>
+			<output>545E4CD72E74F5A91B29DDBA60BCEB5A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 198</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>7E32F16A4E2E125A95FF9963C6F9796105D30BF9B3511A78DF020DB6146CFEEF</key>
+			<iv>545E4CD72E74F5A91B29DDBA60BCEB5A</iv>
+			<input>3DBCEA0D6C7A421102D6BE078EFB9457</input>
+			<output>084142F2C892DCF8A37A509DF0D669BC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 199</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B1BEC1C124A0941D0BA6C75239C17E250D92490B7BC3C6807C785D2BE4BA9753</key>
+			<iv>084142F2C892DCF8A37A509DF0D669BC</iv>
+			<input>CF8C30AB6A8E86479E595E31FF380744</input>
+			<output>0A96C326C9D642F1F84C8772BCF8EB4A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 200</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>80D7A5A2AE29B42143046D45B6B6B36C07048A2DB21584718434DA5958427C19</key>
+			<iv>0A96C326C9D642F1F84C8772BCF8EB4A</iv>
+			<input>316964638A89203C48A2AA178F77CD49</input>
+			<output>273916ED09A517CE5C6A294D82E78980</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 201</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4D1C892DF27868BBB0FE803145C1D731203D9CC0BBB093BFD85EF314DAA5F599</key>
+			<iv>273916ED09A517CE5C6A294D82E78980</iv>
+			<input>CDCB2C8F5C51DC9AF3FAED74F377645D</input>
+			<output>7183A7C83964ECFB2A1E44FFCFEBB7C1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 202</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8C9B28041ECD5149A51207ACE38F0D0351BE3B0882D47F44F240B7EB154E4258</key>
+			<iv>7183A7C83964ECFB2A1E44FFCFEBB7C1</iv>
+			<input>C187A129ECB539F215EC879DA64EDA32</input>
+			<output>6015DF395D795DECA0A2F833E3614000</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 203</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>FF175C7C745BB06E51EEDAA4F2C61E0F31ABE431DFAD22A852E24FD8F62F0258</key>
+			<iv>6015DF395D795DECA0A2F833E3614000</iv>
+			<input>738C74786A96E127F4FCDD081149130C</input>
+			<output>B6B466B56B0E994E672072C273BA067D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 204</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0C84C64E1BB3B86E9AF5A8405D950B3A871F8284B4A3BBE635C23D1A85950425</key>
+			<iv>B6B466B56B0E994E672072C273BA067D</iv>
+			<input>F3939A326FE80800CB1B72E4AF531535</input>
+			<output>C8566E37DF2E2958DDD5D2DB49889BA8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 205</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5FF4C2A08B85338172D2779BF789DA234F49ECB36B8D92BEE817EFC1CC1D9F8D</key>
+			<iv>C8566E37DF2E2958DDD5D2DB49889BA8</iv>
+			<input>537004EE90368BEFE827DFDBAA1CD119</input>
+			<output>C4A8D14DB86637E94AF515764BC7DF44</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 206</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>BD81DE1813AEC9BAFDDC90E4A563CB338BE13DFED3EBA557A2E2FAB787DA40C9</key>
+			<iv>C4A8D14DB86637E94AF515764BC7DF44</iv>
+			<input>E2751CB8982BFA3B8F0EE77F52EA1110</input>
+			<output>5707495E4CBA3727FBA5D7F4F61AF35C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 207</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>AE1B09CB7D99BAC0A71B3E83815F10A2DCE674A09F51927059472D4371C0B395</key>
+			<iv>5707495E4CBA3727FBA5D7F4F61AF35C</iv>
+			<input>139AD7D36E37737A5AC7AE67243CDB91</input>
+			<output>C770CD182DFF66E4D6A7BFEFE2820AE1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 208</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4F7491F03447293C42DE8393E7AD91741B96B9B8B2AEF4948FE092AC9342B974</key>
+			<iv>C770CD182DFF66E4D6A7BFEFE2820AE1</iv>
+			<input>E16F983B49DE93FCE5C5BD1066F281D6</input>
+			<output>E2044134ACD21D5AD026671BDC0CB2E4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 209</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A747EF80608CED4309800CA0B1C73081F992F88C1E7CE9CE5FC6F5B74F4E0B90</key>
+			<iv>E2044134ACD21D5AD026671BDC0CB2E4</iv>
+			<input>E8337E7054CBC47F4B5E8F33566AA1F5</input>
+			<output>303CF7780126AD06B5272A8350639C93</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 210</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E5EBF5E471F2CA9F38492F604438B9C0C9AE0FF41F5A44C8EAE1DF341F2D9703</key>
+			<iv>303CF7780126AD06B5272A8350639C93</iv>
+			<input>42AC1A64117E27DC31C923C0F5FF8941</input>
+			<output>DACCD42953603A1321CAD9C236454598</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 211</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B5E5C9211A5C43F2267B4A2411FC2CC21362DBDD4C3A7EDBCB2B06F62968D29B</key>
+			<iv>DACCD42953603A1321CAD9C236454598</iv>
+			<input>500E3CC56BAE896D1E32654455C49502</input>
+			<output>F9AB4D1D8255E83B330031EBE2ECE5C6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 212</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8D78453D63A2DD8D08BF5F250F2581CFEAC996C0CE6F96E0F82B371DCB84375D</key>
+			<iv>F9AB4D1D8255E83B330031EBE2ECE5C6</iv>
+			<input>389D8C1C79FE9E7F2EC415011ED9AD0D</input>
+			<output>0F28E2D4CC948D36E18F80184A594841</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 213</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>2E921775036404FD9939EE83C9585481E5E1741402FB1BD619A4B70581DD7F1C</key>
+			<iv>0F28E2D4CC948D36E18F80184A594841</iv>
+			<input>A3EA524860C6D9709186B1A6C67DD54E</input>
+			<output>A4756EAB45BCF716A52038C729E420C6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 214</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>9F86FEF42701B1D779BD46BE515680FC41941ABF4747ECC0BC848FC2A8395FDA</key>
+			<iv>A4756EAB45BCF716A52038C729E420C6</iv>
+			<input>B114E9812465B52AE084A83D980ED47D</input>
+			<output>9834425E009006673E777E3552E83D20</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 215</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>2212046FFD03BA552089FBF7B2F3EF32D9A058E147D7EAA782F3F1F7FAD162FA</key>
+			<iv>9834425E009006673E777E3552E83D20</iv>
+			<input>BD94FA9BDA020B825934BD49E3A56FCE</input>
+			<output>AEA572D530A3694EAFF6DFDE30B80D5A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 216</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F73BB21F916D8011751AFDDDCD130A6477052A34777483E92D052E29CA696FA0</key>
+			<iv>AEA572D530A3694EAFF6DFDE30B80D5A</iv>
+			<input>D529B6706C6E3A445593062A7FE0E556</input>
+			<output>86394E06B621147758CAB012852035A6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 217</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>EE44A367A3CDDFED7DBD980BF731B4E5F13C6432C155979E75CF9E3B4F495A06</key>
+			<iv>86394E06B621147758CAB012852035A6</iv>
+			<input>197F117832A05FFC08A765D63A22BE81</input>
+			<output>3CBC18C1AC02C0A7595199E08F1F552B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 218</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>1558BABB3DCD830F693E7950F736BCADCD807CF36D5757392C9E07DBC0560F2D</key>
+			<iv>3CBC18C1AC02C0A7595199E08F1F552B</iv>
+			<input>FB1C19DC9E005CE21483E15B00070848</input>
+			<output>5A9CFD8BFE10CF7FBD0F9A3FAF6C117B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 219</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D083F58141F5E5AF3D5479739D55780D971C81789347984691919DE46F3A1E56</key>
+			<iv>5A9CFD8BFE10CF7FBD0F9A3FAF6C117B</iv>
+			<input>C5DB4F3A7C3866A0546A00236A63C4A0</input>
+			<output>61A437D4E2F1C3779F1EBE906C5D2C12</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 220</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C60824F2DDC67623D270974E9F87BD27F6B8B6AC71B65B310E8F237403673244</key>
+			<iv>61A437D4E2F1C3779F1EBE906C5D2C12</iv>
+			<input>168BD1739C33938CEF24EE3D02D2C52A</input>
+			<output>FC675EE1B12B47410A20CFAC23FD20EE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 221</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F73A715AD84DB0A6F55AD584922001920ADFE84DC09D1C7004AFECD8209A12AA</key>
+			<iv>FC675EE1B12B47410A20CFAC23FD20EE</iv>
+			<input>313255A8058BC685272A42CA0DA7BCB5</input>
+			<output>82E3FB6189716D94C8E9D30E1ECCABC4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 222</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>6ABBDCE21E2ECECBCAA3473897A2E178883C132C49EC71E4CC463FD63E56B96E</key>
+			<iv>82E3FB6189716D94C8E9D30E1ECCABC4</iv>
+			<input>9D81ADB8C6637E6D3FF992BC0582E0EA</input>
+			<output>BD84DCE4994B505EED71596B454BDF85</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 223</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0D4F68CDB9B53B08E22DDDFE4FD5FCC035B8CFC8D0A721BA213766BD7B1D66EB</key>
+			<iv>BD84DCE4994B505EED71596B454BDF85</iv>
+			<input>67F4B42FA79BF5C3288E9AC6D8771DB8</input>
+			<output>1B3AA490C6E874BA77CE55D71789616C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 224</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3D8E3121698DD7E9D1835EFF5FA02DB22E826B58164F550056F9336A6C940787</key>
+			<iv>1B3AA490C6E874BA77CE55D71789616C</iv>
+			<input>30C159ECD038ECE133AE83011075D172</input>
+			<output>D6EE171B39B5E40535FBF5A7CB4C6953</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 225</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>1A5B2249CA785F0DB58FF5B07CCCFCDEF86C7C432FFAB1056302C6CDA7D86ED4</key>
+			<iv>D6EE171B39B5E40535FBF5A7CB4C6953</iv>
+			<input>27D51368A3F588E4640CAB4F236CD16C</input>
+			<output>8691BE10D13B4C08246938750EE33643</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 226</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>48AD5DEF217F83DC5039ECD1191ABE3A7EFDC253FEC1FD0D476BFEB8A93B5897</key>
+			<iv>8691BE10D13B4C08246938750EE33643</iv>
+			<input>52F67FA6EB07DCD1E5B6196165D642E4</input>
+			<output>E40AD0EE818639E37349E1132B138D63</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 227</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>FEB84B0B264A8A6FB8D4DE065DA68A479AF712BD7F47C4EE34221FAB8228D5F4</key>
+			<iv>E40AD0EE818639E37349E1132B138D63</iv>
+			<input>B61516E4073509B3E8ED32D744BC347D</input>
+			<output>6E40A22767A39C978F279D40B447099D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 228</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>2FE79FCC3C959901BAAEE8C55B71D01FF4B7B09A18E45879BB0582EB366FDC69</key>
+			<iv>6E40A22767A39C978F279D40B447099D</iv>
+			<input>D15FD4C71ADF136E027A36C306D75A58</input>
+			<output>C2DE8C5200F6FCBF1A4D6178909DF110</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 229</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C3EB1424EFD0ACDF3670C4943CB2CF5936693CC81812A4C6A148E393A6F22D79</key>
+			<iv>C2DE8C5200F6FCBF1A4D6178909DF110</iv>
+			<input>EC0C8BE8D34535DE8CDE2C5167C31F46</input>
+			<output>104CBECB1134CAE09B2FE8C5CE2E0901</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 230</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>DF9F70702DA816906F3907575DF4D3032625820309266E263A670B5668DC2478</key>
+			<iv>104CBECB1134CAE09B2FE8C5CE2E0901</iv>
+			<input>1C746454C278BA4F5949C3C361461C5A</input>
+			<output>65287F66F01AC054B1051D700EDDBF2B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 231</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F6C4CE3006A43EFBE18C5FF305F32C37430DFD65F93CAE728B62162666019B53</key>
+			<iv>65287F66F01AC054B1051D700EDDBF2B</iv>
+			<input>295BBE402B0C286B8EB558A45807FF34</input>
+			<output>4933D44FD414225CB1E6951240D28150</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 232</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3963CE7465D89FBE550649326262DB450A3E292A2D288C2E3A84833426D31A03</key>
+			<iv>4933D44FD414225CB1E6951240D28150</iv>
+			<input>CFA70044637CA145B48A16C16791F772</input>
+			<output>3733351F76DE0E07581F84600E38EFDD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 233</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>42468662273D8CB3EFAB19DBC802888B3D0D1C355BF68229629B075428EBF5DE</key>
+			<iv>3733351F76DE0E07581F84600E38EFDD</iv>
+			<input>7B25481642E5130DBAAD50E9AA6053CE</input>
+			<output>F16F22EB9CCD854591AE2FC28E1D4B59</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 234</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E2B3E5EA6573FC8ABE4E890FA4F5502DCC623EDEC73B076CF3352896A6F6BE87</key>
+			<iv>F16F22EB9CCD854591AE2FC28E1D4B59</iv>
+			<input>A0F56388424E703951E590D46CF7D8A6</input>
+			<output>1D607C6E9BAD454DD5DE785F2A78F990</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 235</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>FDB55AF96E09AF677AA4737992E13C9ED10242B05C96422126EB50C98C8E4717</key>
+			<iv>1D607C6E9BAD454DD5DE785F2A78F990</iv>
+			<input>1F06BF130B7A53EDC4EAFA7636146CB3</input>
+			<output>7B16B6A8F88E05F6A9A036A67CB8A2B6</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 236</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E546D74518CF4AA64B399EA321C570CAAA14F418A41847D78F4B666FF036E5A1</key>
+			<iv>7B16B6A8F88E05F6A9A036A67CB8A2B6</iv>
+			<input>18F38DBC76C6E5C1319DEDDAB3244C54</input>
+			<output>63AD66FCF9D52195CD0339443F554311</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 237</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>2F9B91A24BEF0E503DC576E4F8D32C16C9B992E45DCD664242485F2BCF63A6B0</key>
+			<iv>63AD66FCF9D52195CD0339443F554311</iv>
+			<input>CADD46E7532044F676FCE847D9165CDC</input>
+			<output>6293FBB897D8F0C60171BEA3072CA512</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 238</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>97B7DF112EFFE9279D5EDF932889D84BAB2A695CCA1596844339E188C84F03A2</key>
+			<iv>6293FBB897D8F0C60171BEA3072CA512</iv>
+			<input>B82C4EB36510E777A09BA977D05AF45D</input>
+			<output>9555D7F244448C80E965CE6AB7EF0F7B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 239</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>39F26B429FE4111DAA984F03112B339F3E7FBEAE8E511A04AA5C2FE27FA00CD9</key>
+			<iv>9555D7F244448C80E965CE6AB7EF0F7B</iv>
+			<input>AE45B453B11BF83A37C6909039A2EBD4</input>
+			<output>FA242C9DB2984E9EFA8CD98AE7C29D6F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 240</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>64C6D001CB3C8AFC24A72DA11D172727C45B92333CC9549A50D0F668986291B6</key>
+			<iv>FA242C9DB2984E9EFA8CD98AE7C29D6F</iv>
+			<input>5D34BB4354D89BE18E3F62A20C3C14B8</input>
+			<output>2998B59B0441F068D7F3FCE7AEAA6FD9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 241</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>FE56E2EB2434CA49D46A684DBCE2426CEDC327A83888A4F287230A8F36C8FE6F</key>
+			<iv>2998B59B0441F068D7F3FCE7AEAA6FD9</iv>
+			<input>9A9032EAEF0840B5F0CD45ECA1F5654B</input>
+			<output>A3F77BBA27BA88F33D4330EB2CC0EFBA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 242</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0F9B3CAD0EDFA9C429F3A005C78FE9F84E345C121F322C01BA603A641A0811D5</key>
+			<iv>A3F77BBA27BA88F33D4330EB2CC0EFBA</iv>
+			<input>F1CDDE462AEB638DFD99C8487B6DAB94</input>
+			<output>9C751C64BCB82229ABA5130353455CCB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 243</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>1725A4C019FB909FB1DE2ACA00E9A33DD2414076A38A0E2811C52967494D4D1E</key>
+			<iv>9C751C64BCB82229ABA5130353455CCB</iv>
+			<input>18BE986D1724395B982D8ACFC7664AC5</input>
+			<output>540DE482B7170E925FA4B429F6BCD458</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 244</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E2A619367235AA4611A72FD4FAF68FB3864CA4F4149D00BA4E619D4EBFF19946</key>
+			<iv>540DE482B7170E925FA4B429F6BCD458</iv>
+			<input>F583BDF66BCE3AD9A079051EFA1F2C8E</input>
+			<output>6AADE1E1A12F5C83AF434CAD95B29678</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 245</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8629FB2CC8C06A07EC910681499E917FECE14515B5B25C39E122D1E32A430F3E</key>
+			<iv>6AADE1E1A12F5C83AF434CAD95B29678</iv>
+			<input>648FE21ABAF5C041FD362955B3681ECC</input>
+			<output>11308758A1C2075FEAECD260867CA343</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 246</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5EDD76C395D2A0D3D547CFB394B439EAFDD1C24D14705B660BCE0383AC3FAC7D</key>
+			<iv>11308758A1C2075FEAECD260867CA343</iv>
+			<input>D8F48DEF5D12CAD439D6C932DD2AA895</input>
+			<output>14C9A904A3909A8FF44D88E22F8626DF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 247</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>AF3FA8D6034564D7151C3933C7986CFCE9186B49B7E0C1E9FF838B6183B98AA2</key>
+			<iv>14C9A904A3909A8FF44D88E22F8626DF</iv>
+			<input>F1E2DE159697C404C05BF680532C5516</input>
+			<output>A042D7F391A37E5A3EDB3022400EC797</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 248</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8ACC720216DBDBDB4C213FE65E575A09495ABCBA2643BFB3C158BB43C3B74D35</key>
+			<iv>A042D7F391A37E5A3EDB3022400EC797</iv>
+			<input>25F3DAD4159EBF0C593D06D599CF36F5</input>
+			<output>439FEF326223A65F7A555C6231178190</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 249</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F2882A52603203A71895A5870CCF7EE40AC55388446019ECBB0DE721F2A0CCA5</key>
+			<iv>439FEF326223A65F7A555C6231178190</iv>
+			<input>7844585076E9D87C54B49A61529824ED</input>
+			<output>6FE1286C19AA3BC802F1C6C7B58DB4C4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 250</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>57EFB10BFC21E28397A9D5E5A533D35B65247BE45DCA2224B9FC21E6472D7861</key>
+			<iv>6FE1286C19AA3BC802F1C6C7B58DB4C4</iv>
+			<input>A5679B599C13E1248F3C7062A9FCADBF</input>
+			<output>C38D763981392FF038573CA341DD8EA1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 251</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>19328A5147BC2E7C5149DA257487D734A6A90DDDDCF30DD481AB1D4506F0F6C0</key>
+			<iv>C38D763981392FF038573CA341DD8EA1</iv>
+			<input>4EDD3B5ABB9DCCFFC6E00FC0D1B4046F</input>
+			<output>5FD553A2848C683B138D50F2741B124D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 252</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>ED66DE43FE0F966850EF6754E21B69A0F97C5E7F587F65EF92264DB772EBE48D</key>
+			<iv>5FD553A2848C683B138D50F2741B124D</iv>
+			<input>F4545412B9B3B81401A6BD71969CBE94</input>
+			<output>910CDCBE38068A51185A879FF2B45B9C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 253</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E53D9016DE7DF4E2377968864B6F69F8687082C16079EFBE8A7CCA28805FBF11</key>
+			<iv>910CDCBE38068A51185A879FF2B45B9C</iv>
+			<input>085B4E552072628A67960FD2A9740058</input>
+			<output>E0A0E68A14893501D75BC42B8EFC6F96</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 254</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C88C4383E2D16541765E5DB85957C59188D0644B74F0DABF5D270E030EA3D087</key>
+			<iv>E0A0E68A14893501D75BC42B8EFC6F96</iv>
+			<input>2DB1D3953CAC91A34127353E1238AC69</input>
+			<output>A66DD21DA627347F962A0AB7DCA887ED</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 255</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>6F01CC5C22DE71C7C2D5B429AA756A392EBDB656D2D7EEC0CB0D04B4D20B576A</key>
+			<iv>A66DD21DA627347F962A0AB7DCA887ED</iv>
+			<input>A78D8FDFC00F1486B48BE991F322AFA8</input>
+			<output>87551BC7A6B6D9B76239CB8A31FF1993</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 256</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>DAC405506CD3779FC2400B459B7C6B6EA9E8AD9174613777A934CF3EE3F44EF9</key>
+			<iv>87551BC7A6B6D9B76239CB8A31FF1993</iv>
+			<input>B5C5C90C4E0D06580095BF6C31090157</input>
+			<output>B909B206A041F33EB3AC7ED481DFBA21</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 257</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E482333E6FBAA8427A2E30D56069E0B810E11F97D420C4491A98B1EA622BF4D8</key>
+			<iv>B909B206A041F33EB3AC7ED481DFBA21</iv>
+			<input>3E46366E0369DFDDB86E3B90FB158BD6</input>
+			<output>DE5E71F446794D3402400C96FBFEB93F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 258</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>176CAD69CD20690B95DA40B95C43AC54CEBF6E639259897D18D8BD7C99D54DE7</key>
+			<iv>DE5E71F446794D3402400C96FBFEB93F</iv>
+			<input>F3EE9E57A29AC149EFF4706C3C2A4CEC</input>
+			<output>175A7C580A99E985A2FD2F185D9BAADB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 259</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>FA4DD79A64960C8264624CDF215B54A1D9E5123B98C060F8BA259264C44EE73C</key>
+			<iv>175A7C580A99E985A2FD2F185D9BAADB</iv>
+			<input>ED217AF3A9B66589F1B80C667D18F8F5</input>
+			<output>413EB5D166C1D196F0239FF34D184013</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 260</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>49855C1008EAF59432518A9F3807A0B398DBA7EAFE01B16E4A060D978956A72F</key>
+			<iv>413EB5D166C1D196F0239FF34D184013</iv>
+			<input>B3C88B8A6C7CF9165633C640195CF412</input>
+			<output>69A3A63C580336296FF826600C754747</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 261</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>849D231AE9F90F233F328BE6EE0AC180F17801D6A602874725FE2BF78523E068</key>
+			<iv>69A3A63C580336296FF826600C754747</iv>
+			<input>CD187F0AE113FAB70D630179D60D6133</input>
+			<output>B9AF0CA2B502C2DEB66834BD729AA528</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 262</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>40E3F7EA3E7CFBDBF57935DBB124CF7F48D70D741300459993961F4AF7B94540</key>
+			<iv>B9AF0CA2B502C2DEB66834BD729AA528</iv>
+			<input>C47ED4F0D785F4F8CA4BBE3D5F2E0EFF</input>
+			<output>99E16968796AB521FC460A8DF6744FA8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 263</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4FDF8D16B85E527490FBE95EA34138D6D136641C6A6AF0B86FD015C701CD0AE8</key>
+			<iv>99E16968796AB521FC460A8DF6744FA8</iv>
+			<input>0F3C7AFC8622A9AF6582DC851265F7A9</input>
+			<output>7B871B0153657949D1FE7259E16791B7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 264</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>6AD7099EA6DC50F5CC836C3EB934CF92AAB17F1D390F89F1BE2E679EE0AA9B5F</key>
+			<iv>7B871B0153657949D1FE7259E16791B7</iv>
+			<input>250884881E8202815C7885601A75F744</input>
+			<output>8D6B80EAC01BF7E204A79DD14BFDB71A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 265</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0860DD776AD2014ED90D0837A5A298B627DAFFF7F9147E13BA89FA4FAB572C45</key>
+			<iv>8D6B80EAC01BF7E204A79DD14BFDB71A</iv>
+			<input>62B7D4E9CC0E51BB158E64091C965724</input>
+			<output>DAD6A83408559AD3003C6995DC099303</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 266</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>9E8757199D96CA08B9C3CEF817E902B8FD0C57C3F141E4C0BAB593DA775EBF46</key>
+			<iv>DAD6A83408559AD3003C6995DC099303</iv>
+			<input>96E78A6EF744CB4660CEC6CFB24B9A0E</input>
+			<output>AA6EF32AFC8AA6ADCDE86D86CC59AFB4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 267</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>483AD9696154B929F35016B648F5952B5762A4E90DCB426D775DFE5CBB0710F2</key>
+			<iv>AA6EF32AFC8AA6ADCDE86D86CC59AFB4</iv>
+			<input>D6BD8E70FCC273214A93D84E5F1C9793</input>
+			<output>713F9516A55FBFA4AE8155EC12A3AB5D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 268</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>027B7F5F83B26099A4CE8FCC1AB84529265D31FFA894FDC9D9DCABB0A9A4BBAF</key>
+			<iv>713F9516A55FBFA4AE8155EC12A3AB5D</iv>
+			<input>4A41A636E2E6D9B0579E997A524DD002</input>
+			<output>B2E4BEAF6DB84214E379B89697191379</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 269</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D7AEFAD28855BB04A9604527F8376CAF94B98F50C52CBFDD3AA513263EBDA8D6</key>
+			<iv>B2E4BEAF6DB84214E379B89697191379</iv>
+			<input>D5D5858D0BE7DB9D0DAECAEBE28F2986</input>
+			<output>9FE3B8941D9F85B1400CC45B7BDE8E9F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 270</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B5EBE7CB901F69E61EC6F011E6A46A2E0B5A37C4D8B33A6C7AA9D77D45632649</key>
+			<iv>9FE3B8941D9F85B1400CC45B7BDE8E9F</iv>
+			<input>62451D19184AD2E2B7A6B5361E930681</input>
+			<output>E9ABFC5563B4AD1718EF4A91F7D60913</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 271</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>571805B63BC20F5784AF56FDB71CBCD7E2F1CB91BB07977B62469DECB2B52F5A</key>
+			<iv>E9ABFC5563B4AD1718EF4A91F7D60913</iv>
+			<input>E2F3E27DABDD66B19A69A6EC51B8D6F9</input>
+			<output>D825DC1C8C73A84BDFEFD9799D9E3960</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 272</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>9EED79D9ABB11094FB4475ED2EC042133AD4178D37743F30BDA944952F2B163A</key>
+			<iv>D825DC1C8C73A84BDFEFD9799D9E3960</iv>
+			<input>C9F57C6F90731FC37FEB231099DCFEC4</input>
+			<output>7D0DC4C31259FD0A46D2D2282F1FE22E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 273</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>EF905E20846E064A3B3281FD2BD59AB647D9D34E252DC23AFB7B96BD0034F414</key>
+			<iv>7D0DC4C31259FD0A46D2D2282F1FE22E</iv>
+			<input>717D27F92FDF16DEC076F4100515D8A5</input>
+			<output>93FAFC16EFF504A9D2B791A272A78135</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 274</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8F219C67ACF0F1C745FA0ABBADE96015D4232F58CAD8C69329CC071F72937521</key>
+			<iv>93FAFC16EFF504A9D2B791A272A78135</iv>
+			<input>60B1C247289EF78D7EC88B46863CFAA3</input>
+			<output>EF387517F8C781A79700C8196DCA6F1A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 275</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>48C6408FD8FA84D30DD53B83B31C425D3B1B5A4F321F4734BECCCF061F591A3B</key>
+			<iv>EF387517F8C781A79700C8196DCA6F1A</iv>
+			<input>C7E7DCE8740A7514482F31381EF52248</input>
+			<output>A6166002C7239645D55494BB64840B26</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 276</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>1C9EB0648715CA5738A4FD27A63693A09D0D3A4DF53CD1716B985BBD7BDD111D</key>
+			<iv>A6166002C7239645D55494BB64840B26</iv>
+			<input>5458F0EB5FEF4E843571C6A4152AD1FD</input>
+			<output>FB35646B2008AD29AFF508B94179F223</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 277</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4AA2E4BAC74E8CD9AEA969550D27877866385E26D5347C58C46D53043AA4E33E</key>
+			<iv>FB35646B2008AD29AFF508B94179F223</iv>
+			<input>563C54DE405B468E960D9472AB1114D8</input>
+			<output>59C1692D4598AD622B6586A06892E11D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 278</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B9F5A3BAAA0C2F6EA5E835F6E6E5D50E3FF9370B90ACD13AEF08D5A452360223</key>
+			<iv>59C1692D4598AD622B6586A06892E11D</iv>
+			<input>F35747006D42A3B70B415CA3EBC25276</input>
+			<output>3131E251A6A4AC7226A1809553198AB8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 279</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>EF46814F8656D3D8ABAF3B08EFEBC3150EC8D55A36087D48C9A95531012F889B</key>
+			<iv>3131E251A6A4AC7226A1809553198AB8</iv>
+			<input>56B322F52C5AFCB60E470EFE090E161B</input>
+			<output>2E30D8D5B7B636307A6D354FBED41A2D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 280</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3DFBE0FE20F0421CAABD62E2CDB0E60F20F80D8F81BE4B78B3C4607EBFFB92B6</key>
+			<iv>2E30D8D5B7B636307A6D354FBED41A2D</iv>
+			<input>D2BD61B1A6A691C4011259EA225B251A</input>
+			<output>6D791952F9416FC09B78517A2FFE986F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 281</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5197CF05753D155C5B08A5EB51B82F2D4D8114DD78FF24B828BC310490050AD9</key>
+			<iv>6D791952F9416FC09B78517A2FFE986F</iv>
+			<input>6C6C2FFB55CD5740F1B5C7099C08C922</input>
+			<output>37A8E0B9375AD5669A396D980D68D0F3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 282</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B3EFE2F914264AAAB7C7FD9C4843619E7A29F4644FA5F1DEB2855C9C9D6DDA2A</key>
+			<iv>37A8E0B9375AD5669A396D980D68D0F3</iv>
+			<input>E2782DFC611B5FF6ECCF587719FB4EB3</input>
+			<output>BC65630DB71EE8DA2194E5DFBC48360E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 283</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>CAAB7758FF4AFF39A98C2202A26165CFC64C9769F8BB19049311B9432125EC24</key>
+			<iv>BC65630DB71EE8DA2194E5DFBC48360E</iv>
+			<input>794495A1EB6CB5931E4BDF9EEA220451</input>
+			<output>9C47136C1B510BFCEFA7F6659BDA08C2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 284</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>CC38852E17544DB004372C4A3AA3DFDB5A0B8405E3EA12F87CB64F26BAFFE4E6</key>
+			<iv>9C47136C1B510BFCEFA7F6659BDA08C2</iv>
+			<input>0693F276E81EB289ADBB0E4898C2BA14</input>
+			<output>68AC57D13EC53C250FEBFC64B1992B1C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 285</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>108FE55553F353DFABD421E15A18C9F532A7D3D4DD2F2EDD735DB3420B66CFFA</key>
+			<iv>68AC57D13EC53C250FEBFC64B1992B1C</iv>
+			<input>DCB7607B44A71E6FAFE30DAB60BB162E</input>
+			<output>9A8C11E031E57B77138A3637784D1D71</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 286</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C432EA6E854DE8C191C6F0ED4A2BF1D7A82BC234ECCA55AA60D78575732BD28B</key>
+			<iv>9A8C11E031E57B77138A3637784D1D71</iv>
+			<input>D4BD0F3BD6BEBB1E3A12D10C10333822</input>
+			<output>3BBB1E76A491A5AA145ED931BB886333</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 287</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>980941D5FEFD458061B1B443E39818299390DC42485BF00074895C44C8A3B1B8</key>
+			<iv>3BBB1E76A491A5AA145ED931BB886333</iv>
+			<input>5C3BABBB7BB0AD41F07744AEA9B3E9FE</input>
+			<output>F79F1B46F57BDD36B58DDA33619D3920</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 288</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B4FF33FB094612B6A3438A285C3AEA41640FC704BD202D36C1048677A93E8898</key>
+			<iv>F79F1B46F57BDD36B58DDA33619D3920</iv>
+			<input>2CF6722EF7BB5736C2F23E6BBFA2F268</input>
+			<output>F1C3ED72D0B6D917DD6F8AE86CFD8CBF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 289</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>BC81027596771F9C591BE6C61762B1E795CC2A766D96F4211C6B0C9FC5C30427</key>
+			<iv>F1C3ED72D0B6D917DD6F8AE86CFD8CBF</iv>
+			<input>087E318E9F310D2AFA586CEE4B585BA6</input>
+			<output>EAF1AACEEB9F9BE0E880911BFEEAC2AC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 290</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D41458000DDED43B83DAA81B1D7FFB597F3D80B886096FC1F4EB9D843B29C68B</key>
+			<iv>EAF1AACEEB9F9BE0E880911BFEEAC2AC</iv>
+			<input>68955A759BA9CBA7DAC14EDD0A1D4ABE</input>
+			<output>7B35179E67E9B40346F7DE6356EDC98F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 291</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>FACDC2B3BA9E125B2A734DE75F99F48C04089726E1E0DBC2B21C43E76DC40F04</key>
+			<iv>7B35179E67E9B40346F7DE6356EDC98F</iv>
+			<input>2ED99AB3B740C660A9A9E5FC42E60FD5</input>
+			<output>0EDE849D7E56B296B12C1EDF37436A8D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 292</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E73022253439EB4464CE0B205BBB0F1F0AD613BB9FB6695403305D385A876589</key>
+			<iv>0EDE849D7E56B296B12C1EDF37436A8D</iv>
+			<input>1DFDE0968EA7F91F4EBD46C70422FB93</input>
+			<output>D02F1EAF3CF6A6B681BAF8ECB921FFC4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 293</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>9F3671205266DC4F7C771EBA74265F36DAF90D14A340CFE2828AA5D4E3A69A4D</key>
+			<iv>D02F1EAF3CF6A6B681BAF8ECB921FFC4</iv>
+			<input>78065305665F370B18B9159A2F9D5029</input>
+			<output>E365BE1A125C6930DFDCBB33E6937EC5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 294</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>111A3E012C9D5CB2967E8BD22907D6F7399CB30EB11CA6D25D561EE70535E488</key>
+			<iv>E365BE1A125C6930DFDCBB33E6937EC5</iv>
+			<input>8E2C4F217EFB80FDEA0995685D2189C1</input>
+			<output>C5B24EEC5CDD17AA56838B09EC4AB725</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 295</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>15DA3EE4EE9A560B05493FFC971713A5FC2EFDE2EDC1B1780BD595EEE97F53AD</key>
+			<iv>C5B24EEC5CDD17AA56838B09EC4AB725</iv>
+			<input>04C000E5C2070AB99337B42EBE10C552</input>
+			<output>4D8A43CD28BBCB86953FA55A409BF130</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 296</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>2C8B30484D954192818342F3766C1415B1A4BE2FC57A7AFE9EEA30B4A9E4A29D</key>
+			<iv>4D8A43CD28BBCB86953FA55A409BF130</iv>
+			<input>39510EACA30F179984CA7D0FE17B07B0</input>
+			<output>A524A6329E6DCE041F72459234ECDE78</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 297</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0F162BAD5F298EE0B0164CFED6A7AC271480181D5B17B4FA819875269D087CE5</key>
+			<iv>A524A6329E6DCE041F72459234ECDE78</iv>
+			<input>239D1BE512BCCF7231950E0DA0CBB832</input>
+			<output>90BBC5130D1C06182F737FE7F0FCD00D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 298</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>62744CA02B6684D05A91F2049D403480843BDD0E560BB2E2AEEB0AC16DF4ACE8</key>
+			<iv>90BBC5130D1C06182F737FE7F0FCD00D</iv>
+			<input>6D62670D744F0A30EA87BEFA4BE798A7</input>
+			<output>35F293EDDEC8D9446A4ACD34602839B5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 299</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>21F5373DA5D6BF15BC163383F62EA92FB1C94EE388C36BA6C4A1C7F50DDC955D</key>
+			<iv>35F293EDDEC8D9446A4ACD34602839B5</iv>
+			<input>43817B9D8EB03BC5E687C1876B6E9DAF</input>
+			<output>E45CF478D7C84325143165F58B041A13</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 300</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4CF4A508B4DF37A831916353620DC1F45595BA9B5F0B2883D090A20086D88F4E</key>
+			<iv>E45CF478D7C84325143165F58B041A13</iv>
+			<input>6D019235110988BD8D8750D0942368DB</input>
+			<output>964983C30745D7EEA1BD5E287DAC466C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 301</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>35C99C004D01E89F94A9B3BC79C492D7C3DC3958584EFF6D712DFC28FB74C922</key>
+			<iv>964983C30745D7EEA1BD5E287DAC466C</iv>
+			<input>793D3908F9DEDF37A538D0EF1BC95323</input>
+			<output>6834813D8403A963AD36C1A18CA605C0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 302</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F185723D6A2D2A6F9F4B9194A444AA2AABE8B865DC4D560EDC1B3D8977D2CCE2</key>
+			<iv>6834813D8403A963AD36C1A18CA605C0</iv>
+			<input>C44CEE3D272CC2F00BE22228DD8038FD</input>
+			<output>61F35AA76E1E0EC2D5E4F4F432B68260</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 303</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B571B0BC6CFD2BA23611FB9A900A31FACA1BE2C2B25358CC09FFC97D45644E82</key>
+			<iv>61F35AA76E1E0EC2D5E4F4F432B68260</iv>
+			<input>44F4C28106D001CDA95A6A0E344E9BD0</input>
+			<output>DD081A96602E6665B860466B8D14050E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 304</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>2A5757156C596DE633D0D8908011C3771713F854D27D3EA9B19F8F16C8704B8C</key>
+			<iv>DD081A96602E6665B860466B8D14050E</iv>
+			<input>9F26E7A900A4464405C1230A101BF28D</input>
+			<output>5BF18EA3D7F3ED1D941EA1B995313B98</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 305</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>DA008B517FA48E908A72B8525CC31AEF4CE276F7058ED3B425812EAF5D417014</key>
+			<iv>5BF18EA3D7F3ED1D941EA1B995313B98</iv>
+			<input>F057DC4413FDE376B9A260C2DCD2D998</input>
+			<output>74C361B6A13013E9ABF6841601513539</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 306</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E313244DC22AC16C1D59AC494AA728D738211741A4BEC05D8E77AAB95C10452D</key>
+			<iv>74C361B6A13013E9ABF6841601513539</iv>
+			<input>3913AF1CBD8E4FFC972B141B16643238</input>
+			<output>9937614570FD404D5B39BA43D3A20602</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 307</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>92A7173E943CBA80AF56203552625E8AA1167604D4438010D54E10FA8FB2432F</key>
+			<iv>9937614570FD404D5B39BA43D3A20602</iv>
+			<input>71B4337356167BECB20F8C7C18C5765D</input>
+			<output>726FCDDF8E6738B51D767828EBDFC71E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 308</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>242C75C141A58DC403020E52421BB347D379BBDB5A24B8A5C83868D2646D8431</key>
+			<iv>726FCDDF8E6738B51D767828EBDFC71E</iv>
+			<input>B68B62FFD5993744AC542E671079EDCD</input>
+			<output>78F735344BF10EED47969F1C02ECBF8C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 309</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5247008C3EB79AA67E5D2E0B95D0AC3AAB8E8EEF11D5B6488FAEF7CE66813BBD</key>
+			<iv>78F735344BF10EED47969F1C02ECBF8C</iv>
+			<input>766B754D7F1217627D5F2059D7CB1F7D</input>
+			<output>7D6A6CA54B084105DF6A778A4913BB04</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 310</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>06E7C1A6C8BC6A3355A86F61B41E70C6D6E4E24A5ADDF74D50C480442F9280B9</key>
+			<iv>7D6A6CA54B084105DF6A778A4913BB04</iv>
+			<input>54A0C12AF60BF0952BF5416A21CEDCFC</input>
+			<output>11F0A303D6C0ED5E18F40248AF1A794B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 311</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>D7722746B58D494BE9B97F586CA4BB0AC71441498C1D1A134830820C8088F9F2</key>
+			<iv>11F0A303D6C0ED5E18F40248AF1A794B</iv>
+			<input>D195E6E07D312378BC111039D8BACBCC</input>
+			<output>2A715E8AC7101415E65EBF34CC4CD786</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 312</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>98B1E5954DE8000B6FFFE98D918B6237ED651FC34B0D0E06AE6E3D384CC42E74</key>
+			<iv>2A715E8AC7101415E65EBF34CC4CD786</iv>
+			<input>4FC3C2D3F8654940864696D5FD2FD93D</input>
+			<output>965E8AF93D390E424C9F4F1FBF9D98A5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 313</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>74B910207ACD1D7C801724D53ED6BBC47B3B953A76340044E2F17227F359B6D1</key>
+			<iv>965E8AF93D390E424C9F4F1FBF9D98A5</iv>
+			<input>EC08F5B537251D77EFE8CD58AF5DD9F3</input>
+			<output>294782DD29C65B6C445C5D92F50E6D19</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 314</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3E1AD36FDCC33F6B3425B5D52717845E527C17E75FF25B28A6AD2FB50657DBC8</key>
+			<iv>294782DD29C65B6C445C5D92F50E6D19</iv>
+			<input>4AA3C34FA60E2217B432910019C13F9A</input>
+			<output>E22098E7EDBEECC49FA8E31B76E925CA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 315</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>BE9F93FE153DF61370F6709F8265DCCDB05C8F00B24CB7EC3905CCAE70BEFE02</key>
+			<iv>E22098E7EDBEECC49FA8E31B76E925CA</iv>
+			<input>80854091C9FEC97844D3C54AA5725893</input>
+			<output>24E80C1F59A4EA36044358E0C0D4F29D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 316</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A790F593CFA1643BD2EB3A1AAB8176A294B4831FEBE85DDA3D46944EB06A0C9F</key>
+			<iv>24E80C1F59A4EA36044358E0C0D4F29D</iv>
+			<input>190F666DDA9C9228A21D4A8529E4AA6F</input>
+			<output>63CF21803941B521532FF36F9FBFC7BD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 317</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0CF6F000352B4B583E4AEE707D111DC9F77BA29FD2A9E8FB6E6967212FD5CB22</key>
+			<iv>63CF21803941B521532FF36F9FBFC7BD</iv>
+			<input>AB660593FA8A2F63ECA1D46AD6906B6B</input>
+			<output>250941C1D45C82B0D9C381293CDD833A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 318</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>1F875BCF1967857990EC97864B1EA9F8D272E35E06F56A4BB7AAE60813084818</key>
+			<iv>250941C1D45C82B0D9C381293CDD833A</iv>
+			<input>1371ABCF2C4CCE21AEA679F6360FB431</input>
+			<output>8303B962DAFC4A225C0FD6EA60D29CF4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 319</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>42FE25BF51418FE7A7C7A1828219E1DB51715A3CDC092069EBA530E273DAD4EC</key>
+			<iv>8303B962DAFC4A225C0FD6EA60D29CF4</iv>
+			<input>5D797E7048260A9E372B3604C9074823</input>
+			<output>29E2DB359FAB42C0A83A4059A059CB51</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 320</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>6C821A4893FE0EAC88FC1F98BD44AD0A7893810943A262A9439F70BBD3831FBD</key>
+			<iv>29E2DB359FAB42C0A83A4059A059CB51</iv>
+			<input>2E7C3FF7C2BF814B2F3BBE1A3F5D4CD1</input>
+			<output>02BDB7EC18279FA9B7788D95FEB4000E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 321</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>411670D389D0A04859FDC26DE5AAD1297A2E36E55B85FD00F4E7FD2E2D371FB3</key>
+			<iv>02BDB7EC18279FA9B7788D95FEB4000E</iv>
+			<input>2D946A9B1A2EAEE4D101DDF558EE7C23</input>
+			<output>3960A92A34967F13B754F2265A6F68C1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 322</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>851BCD18F6043DE625BBEA33E1E860E3434E9FCF6F13821343B30F0877587772</key>
+			<iv>3960A92A34967F13B754F2265A6F68C1</iv>
+			<input>C40DBDCB7FD49DAE7C46285E0442B1CA</input>
+			<output>EF396AB8613AC6083932734D38869458</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 323</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>1944F363F3143A380F26BD4831A6BD9EAC77F5770E29441B7A817C454FDEE32A</key>
+			<iv>EF396AB8613AC6083932734D38869458</iv>
+			<input>9C5F3E7B051007DE2A9D577BD04EDD7D</input>
+			<output>CB73B8D257CC1A8235E48DA0E6AECC4E</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 324</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C2F3C203F591C78914E31BA1E083AB9867044DA559E55E994F65F1E5A9702F64</key>
+			<iv>CB73B8D257CC1A8235E48DA0E6AECC4E</iv>
+			<input>DBB731600685FDB11BC5A6E9D1251606</input>
+			<output>3B0B12757B5D1B6E0130FCC306E9DBAA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 325</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0DCB66B972631AFBB1DA22F1418EE1C45C0F5FD022B845F74E550D26AF99F4CE</key>
+			<iv>3B0B12757B5D1B6E0130FCC306E9DBAA</iv>
+			<input>CF38A4BA87F2DD72A5393950A10D4A5C</input>
+			<output>CCEF4079CE8FAF0E6B8CD4C8751059E1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 326</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8FF976D3C735506D86A3540664F1C40590E01FA9EC37EAF925D9D9EEDA89AD2F</key>
+			<iv>CCEF4079CE8FAF0E6B8CD4C8751059E1</iv>
+			<input>8232106AB5564A96377976F7257F25C1</input>
+			<output>D835D2FA5583D9B2C16424960163DF7F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 327</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3499925B26E4F846CAA230EC069F127F48D5CD53B9B4334BE4BDFD78DBEA7250</key>
+			<iv>D835D2FA5583D9B2C16424960163DF7F</iv>
+			<input>BB60E488E1D1A82B4C0164EA626ED67A</input>
+			<output>4634485DB5D9C40FA2F6EF36E477F0B7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 328</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>7A133EEC3DD747FE38A3370F8927A3C70EE1850E0C6DF744464B124E3F9D82E7</key>
+			<iv>4634485DB5D9C40FA2F6EF36E477F0B7</iv>
+			<input>4E8AACB71B33BFB8F20107E38FB8B1B8</input>
+			<output>AE30CD2A5D84CEF10B9C15EE1FE20CEB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 329</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F573665345317BAB5F14881777A0D789A0D1482451E939B54DD707A0207F8E0C</key>
+			<iv>AE30CD2A5D84CEF10B9C15EE1FE20CEB</iv>
+			<input>8F6058BF78E63C5567B7BF18FE87744E</input>
+			<output>B3926CDE5BFB1363DCCA28CDA2DC4CD8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 330</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>FEFB661FA786BF2DA1B70FD7D06B86E8134324FA0A122AD6911D2F6D82A3C2D4</key>
+			<iv>B3926CDE5BFB1363DCCA28CDA2DC4CD8</iv>
+			<input>0B88004CE2B7C486FEA387C0A7CB5161</input>
+			<output>633388FA9EAE0DB2036F63CB2E21C266</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 331</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>BFC495DFBA60078708D992724C9201577070AC0094BC276492724CA6AC8200B2</key>
+			<iv>633388FA9EAE0DB2036F63CB2E21C266</iv>
+			<input>413FF3C01DE6B8AAA96E9DA59CF987BF</input>
+			<output>54ACB838D247D26A1544B2E42F18CF3F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 332</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>EB0113E4FFE1201B59EAE94706B2571F24DC143846FBF50E8736FE42839ACF8D</key>
+			<iv>54ACB838D247D26A1544B2E42F18CF3F</iv>
+			<input>54C5863B4581279C51337B354A205648</input>
+			<output>B9210B8A8639CA5C94A1CF1169F89DDB</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 333</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0E1D5F7873FD6440227C5529AEB4C7999DFD1FB2C0C23F5213973153EA625256</key>
+			<iv>B9210B8A8639CA5C94A1CF1169F89DDB</iv>
+			<input>E51C4C9C8C1C445B7B96BC6EA8069086</input>
+			<output>8990488561B43B03CF9FE631E2E7D5E7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 334</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8B2759471137DBF37906B394EFEF96D2146D5737A1760451DC08D762088587B1</key>
+			<iv>8990488561B43B03CF9FE631E2E7D5E7</iv>
+			<input>853A063F62CABFB35B7AE6BD415B514B</input>
+			<output>9DCE77D8CCC0F041FA717C28474E9A30</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 335</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0D4B29E8D6F39CA01BC01CE73E2834C689A320EF6DB6F4102679AB4A4FCB1D81</key>
+			<iv>9DCE77D8CCC0F041FA717C28474E9A30</iv>
+			<input>866C70AFC7C4475362C6AF73D1C7A214</input>
+			<output>E1DA174FE5848D21735E55B91CA48A9B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 336</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>55228F6FF93B7DE9304CD75991C133A5687937A0883279315527FEF3536F971A</key>
+			<iv>E1DA174FE5848D21735E55B91CA48A9B</iv>
+			<input>5869A6872FC8E1492B8CCBBEAFE90763</input>
+			<output>C578F53AD69AD508711E674F8DD2A843</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 337</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>35CA943437046860F72A1F8554127676AD01C29A5EA8AC39243999BCDEBD3F59</key>
+			<iv>C578F53AD69AD508711E674F8DD2A843</iv>
+			<input>60E81B5BCE3F1589C766C8DCC5D345D3</input>
+			<output>177A50196260D3F0A3F97423899EBEE2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 338</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B8C3B8414C112FC2E2E848733D5CF69CBA7B92833CC87FC987C0ED9F572381BB</key>
+			<iv>177A50196260D3F0A3F97423899EBEE2</iv>
+			<input>8D092C757B1547A215C257F6694E80EA</input>
+			<output>6B03A799C51C7D0A9D3C9929617E69B1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 339</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E82B651AE5740119104FE3284CE780E4D178351AF9D402C31AFC74B6365DE80A</key>
+			<iv>6B03A799C51C7D0A9D3C9929617E69B1</iv>
+			<input>50E8DD5BA9652EDBF2A7AB5B71BB7678</input>
+			<output>8D4C7C1157422E7B6DDA47C5C2C246F4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 340</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3C0B660F2B78F768812AC671D3107AD85C34490BAE962CB877263373F49FAEFE</key>
+			<iv>8D4C7C1157422E7B6DDA47C5C2C246F4</iv>
+			<input>D4200315CE0CF671916525599FF7FA3C</input>
+			<output>787B3C51094569BC1F139102964DF5AF</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 341</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A197B59C700A4786E840733047964FD4244F755AA7D345046835A27162D25B51</key>
+			<iv>787B3C51094569BC1F139102964DF5AF</iv>
+			<input>9D9CD3935B72B0EE696AB5419486350C</input>
+			<output>AE02945B4E63AC35B6AC2DFA2DF3CEBA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 342</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>00E75C4B909D44A94FA20EDA6C3628418A4DE101E9B0E931DE998F8B4F2195EB</key>
+			<iv>AE02945B4E63AC35B6AC2DFA2DF3CEBA</iv>
+			<input>A170E9D7E097032FA7E27DEA2BA06795</input>
+			<output>AC4AACD3597FE73F519F7CEDAFE6E000</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 343</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4626BE31853C15DE412EF2A42328D47326074DD2B0CF0E0E8F06F366E0C775EB</key>
+			<iv>AC4AACD3597FE73F519F7CEDAFE6E000</iv>
+			<input>46C1E27A15A151770E8CFC7E4F1EFC32</input>
+			<output>5EB8B35708A135E041603BA323663F34</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 344</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>1733A037E76437411F49821D948A098978BFFE85B86E3BEECE66C8C5C3A14ADF</key>
+			<iv>5EB8B35708A135E041603BA323663F34</iv>
+			<input>51151E066258229F5E6770B9B7A2DDFA</input>
+			<output>6674FB922570377334A4F22D13E95BD8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 345</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>8474275A2E4D5E5448EB8D34B65EE7081ECB05179D1E0C9DFAC23AE8D0481107</key>
+			<iv>6674FB922570377334A4F22D13E95BD8</iv>
+			<input>9347876DC929691557A20F2922D4EE81</input>
+			<output>F0E3F09C0350C0172E449A01F24AB828</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 346</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>765AA3F4014B8475CF832DE6128F7F2DEE28F58B9E4ECC8AD486A0E92202A92F</key>
+			<iv>F0E3F09C0350C0172E449A01F24AB828</iv>
+			<input>F22E84AE2F06DA218768A0D2A4D19825</input>
+			<output>CC156010299679ADEE9CC000FD5C90E5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 347</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>DD3D3AFC83B7EEBC58CE35B35719B587223D959BB7D8B5273A1A60E9DF5E39CA</key>
+			<iv>CC156010299679ADEE9CC000FD5C90E5</iv>
+			<input>AB67990882FC6AC9974D18554596CAAA</input>
+			<output>80354EDEA10038E903C4896313236CE5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 348</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4764BB8C98BCF3FD4A21A370AE5432BBA208DB4516D88DCE39DEE98ACC7D552F</key>
+			<iv>80354EDEA10038E903C4896313236CE5</iv>
+			<input>9A5981701B0B1D4112EF96C3F94D873C</input>
+			<output>15140DC26F383EB99425FB51D445CC98</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 349</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>DF729AB7D09BC85489F8AD373EBDDA70B71CD68779E0B377ADFB12DB183899B7</key>
+			<iv>15140DC26F383EB99425FB51D445CC98</iv>
+			<input>9816213B48273BA9C3D90E4790E9E8CB</input>
+			<output>163465787010C97D3C2023D803F62556</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 350</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A945B0C5997C596B5155A6BCA5055127A128B3FF09F07A0A91DB31031BCEBCE1</key>
+			<iv>163465787010C97D3C2023D803F62556</iv>
+			<input>76372A7249E7913FD8AD0B8B9BB88B57</input>
+			<output>23E861D557EE72534C8B729240E3A54F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 351</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0E1C166F2B947D14D0C7E6ABD280A31E82C0D22A5E1E0859DD5043915B2D19AE</key>
+			<iv>23E861D557EE72534C8B729240E3A54F</iv>
+			<input>A759A6AAB2E8247F819240177785F239</input>
+			<output>652CA6A199D7DBC37936FCD70636989F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 352</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>208A37149072011877E3E85B3DC7F4A7E7EC748BC7C9D39AA466BF465D1B8131</key>
+			<iv>652CA6A199D7DBC37936FCD70636989F</iv>
+			<input>2E96217BBBE67C0CA7240EF0EF4757B9</input>
+			<output>7C29D6F4788553E3C50A48027478A98F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 353</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A8FFCB194C077EEED66632AEBE01652E9BC5A27FBF4C8079616CF744296328BE</key>
+			<iv>7C29D6F4788553E3C50A48027478A98F</iv>
+			<input>8875FC0DDC757FF6A185DAF583C69189</input>
+			<output>7B886FC819D625B224F2516901788E88</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 354</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3716969BDDBF04FF4010D4667CCA994AE04DCDB7A69AA5CB459EA62D281BA636</key>
+			<iv>7B886FC819D625B224F2516901788E88</iv>
+			<input>9FE95D8291B87A119676E6C8C2CBFC64</input>
+			<output>3EAB925C025F379153CE2C7191026976</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 355</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>991D0D313717C7AC62537C8572DE094BDEE65FEBA4C5925A16508A5CB919CF40</key>
+			<iv>3EAB925C025F379153CE2C7191026976</iv>
+			<input>AE0B9BAAEAA8C3532243A8E30E149001</input>
+			<output>B9904B8BDF431FDDB9166086C9D3E24C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 356</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>315772BB82A3DD286FE5891934B19434677614607B868D87AF46EADA70CA2D0C</key>
+			<iv>B9904B8BDF431FDDB9166086C9D3E24C</iv>
+			<input>A84A7F8AB5B41A840DB6F59C466F9D7F</input>
+			<output>3C7029336ECCA5D352DB9D0C060D3830</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 357</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C99E4E6A8C1D42A9E431FF8B2A8ACA615B063D53154A2854FD9D77D676C7153C</key>
+			<iv>3C7029336ECCA5D352DB9D0C060D3830</iv>
+			<input>F8C93CD10EBE9F818BD476921E3B5E55</input>
+			<output>4AF4290AA79EB96435D2D3FC745033D7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 358</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>55317B8B407B7D089ED2CEF7BE80E99111F21459B2D49130C84FA42A029726EB</key>
+			<iv>4AF4290AA79EB96435D2D3FC745033D7</iv>
+			<input>9CAF35E1CC663FA17AE3317C940A23F0</input>
+			<output>BFCA0B6B31AAD81F1BDC743B48B7CCA4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 359</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>6EAE6D8B06AA25493BA3608357D71404AE381F32837E492FD393D0114A20EA4F</key>
+			<iv>BFCA0B6B31AAD81F1BDC743B48B7CCA4</iv>
+			<input>3B9F160046D15841A571AE74E957FD95</input>
+			<output>89C1D565569A12A68B2E808AB5CFA2E3</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 360</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3245D7C1F5571A1329E1B2303F8A689D27F9CA57D5E45B8958BD509BFFEF48AC</key>
+			<iv>89C1D565569A12A68B2E808AB5CFA2E3</iv>
+			<input>5CEBBA4AF3FD3F5A1242D2B3685D7C99</input>
+			<output>EC8EEAED7894646B1D1A5E058ED41178</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 361</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>1DE05811428569D3F89CF1C01AF434AFCB7720BAAD703FE245A70E9E713B59D4</key>
+			<iv>EC8EEAED7894646B1D1A5E058ED41178</iv>
+			<input>2FA58FD0B7D273C0D17D43F0257E5C32</input>
+			<output>92802F392579C66AD72D2E85776720E8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 362</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0A8FB6D844AB0B73C05A121085E07FFE59F70F838809F988928A201B065C793C</key>
+			<iv>92802F392579C66AD72D2E85776720E8</iv>
+			<input>176FEEC9062E62A038C6E3D09F144B51</input>
+			<output>461DBCF9894F5319FE772F6529FBCEC0</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 363</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4E6818B3BBEF69FA7ABEC1EBE2E54CDC1FEAB37A0146AA916CFD0F7E2FA7B7FC</key>
+			<iv>461DBCF9894F5319FE772F6529FBCEC0</iv>
+			<input>44E7AE6BFF446289BAE4D3FB67053322</input>
+			<output>794CA9DC41BAE95D415A6D1119582763</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 364</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4A1EABB13924B188441724141F1C88A966A61AA640FC43CC2DA7626F36FF909F</key>
+			<iv>794CA9DC41BAE95D415A6D1119582763</iv>
+			<input>0476B30282CBD8723EA9E5FFFDF9C475</input>
+			<output>B761EAF5CC07651BD33D8BF93913EAE8</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 365</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>FFE4E48F8D96710A1BE7DBE36F4905CDD1C7F0538CFB26D7FE9AE9960FEC7A77</key>
+			<iv>B761EAF5CC07651BD33D8BF93913EAE8</iv>
+			<input>B5FA4F3EB4B2C0825FF0FFF770558D64</input>
+			<output>0B5146EB77161E60D6D1E2FAEAE80694</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 366</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>7A4F383AF4BB2DC6588E75EE82C7D9CFDA96B6B8FBED38B7284B0B6CE5047CE3</key>
+			<iv>0B5146EB77161E60D6D1E2FAEAE80694</iv>
+			<input>85ABDCB5792D5CCC4369AE0DED8EDC02</input>
+			<output>07635064CE85F6AE17961AF1F2B44469</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 367</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>EFFE7F8BBBEC8BEC83FA199102763BEDDDF5E6DC3568CE193FDD119D17B0388A</key>
+			<iv>07635064CE85F6AE17961AF1F2B44469</iv>
+			<input>95B147B14F57A62ADB746C7F80B1E222</input>
+			<output>3A9CD5F30C421FF333BA2C2F0A7AD07D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 368</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>1DF51B7A35E11E2AF79E8C59094A1ECFE769332F392AD1EA0C673DB21DCAE8F7</key>
+			<iv>3A9CD5F30C421FF333BA2C2F0A7AD07D</iv>
+			<input>F20B64F18E0D95C6746495C80B3C2522</input>
+			<output>F60032C249CF561CB02421DA189A57D1</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 369</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>CC09FFE72A10AE27FE14934A6628AB83116901ED70E587F6BC431C680550BF26</key>
+			<iv>F60032C249CF561CB02421DA189A57D1</iv>
+			<input>D1FCE49D1FF1B00D098A1F136F62B54C</input>
+			<output>EAD5844B160C08F9CDAA15FD5936EF26</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 370</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>09C84CA0DA0B9FD79D3090E690BAB419FBBC85A666E98F0F71E909955C665000</key>
+			<iv>EAD5844B160C08F9CDAA15FD5936EF26</iv>
+			<input>C5C1B347F01B31F0632403ACF6921F9A</input>
+			<output>26AD72F011133FD4CED8F38A1ABE7D73</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 371</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>74FA53C172A2003EC5933F486FCC7BBFDD11F75677FAB0DBBF31FA1F46D82D73</key>
+			<iv>26AD72F011133FD4CED8F38A1ABE7D73</iv>
+			<input>7D321F61A8A99FE958A3AFAEFF76CFA6</input>
+			<output>F115FBC0D3F386527176D1DF6AD4B38A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 372</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>0E5BA209B7BC28D184E73BD37F35C1312C040C96A4093689CE472BC02C0C9EF9</key>
+			<iv>F115FBC0D3F386527176D1DF6AD4B38A</iv>
+			<input>7AA1F1C8C51E28EF4174049B10F9BA8E</input>
+			<output>27ED0BA04734E70317BF58E11B0DD051</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 373</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>9404D9139B6597D1F7C7519713C6CBC80BE90736E33DD18AD9F8732137014EA8</key>
+			<iv>27ED0BA04734E70317BF58E11B0DD051</iv>
+			<input>9A5F7B1A2CD9BF0073206A446CF30AF9</input>
+			<output>24080A577426F8F270A13F3A5F3DB546</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 374</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E72476BC679C8DCBAB92BBA5D48BF6D32FE10D61971B2978A9594C1B683CFBEE</key>
+			<iv>24080A577426F8F270A13F3A5F3DB546</iv>
+			<input>7320AFAFFCF91A1A5C55EA32C74D3D1B</input>
+			<output>A754CC0464E35B387435790505F2DCE5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 375</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4548DE389CCAD4A65B02A9B5FE90930188B5C165F3F87240DD6C351E6DCE270B</key>
+			<iv>A754CC0464E35B387435790505F2DCE5</iv>
+			<input>A26CA884FB56596DF09012102A1B65D2</input>
+			<output>D9AED2566884E97D081EADB45780AA7D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 376</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>2E54365B503140D0EC9074DFA05F4B2C511B13339B7C9B3DD57298AA3A4E8D76</key>
+			<iv>D9AED2566884E97D081EADB45780AA7D</iv>
+			<input>6B1CE863CCFB9476B792DD6A5ECFD82D</input>
+			<output>9FA221E082CAD838AB4B210A8794BD8F</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 377</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>7C9FB092B8A96465076E14C575E9A8F0CEB932D319B643057E39B9A0BDDA30F9</key>
+			<iv>9FA221E082CAD838AB4B210A8794BD8F</iv>
+			<input>52CB86C9E89824B5EBFE601AD5B6E3DC</input>
+			<output>AAEA6DE5734CF14BED503512EB071C2A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 378</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>90AB85A18F2B0255D4F43AF5E98DAA7E64535F366AFAB24E93698CB256DD2CD3</key>
+			<iv>AAEA6DE5734CF14BED503512EB071C2A</iv>
+			<input>EC34353337826630D39A2E309C64028E</input>
+			<output>1359A157B415EB63E038AB7354E6B0F2</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 379</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>9135D4D54A1CE6BBF4F23AFDE23F537C770AFE61DEEF592D735127C1023B9C21</key>
+			<iv>1359A157B415EB63E038AB7354E6B0F2</iv>
+			<input>019E5174C537E4EE200600080BB2F902</input>
+			<output>0764EBDBFAE8FD447244408A5153CC3B</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 380</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4B5F1BC60EF5DCE83474A3970EB2ABA8706E15BA2407A4690115674B5368501A</key>
+			<iv>0764EBDBFAE8FD447244408A5153CC3B</iv>
+			<input>DA6ACF1344E93A53C086996AEC8DF8D4</input>
+			<output>A31F69E0055E8D4162AC06C088925FBA</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 381</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>9DD8E8D75BE2E4D1BC70B30DAE0B375FD3717C5A2159292863B9618BDBFA0FA0</key>
+			<iv>A31F69E0055E8D4162AC06C088925FBA</iv>
+			<input>D687F311551738398804109AA0B99CF7</input>
+			<output>EB84AC035534CDF1698E660F529E0EC7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 382</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>4A2B2FC8446B4C2575CFE584A490680238F5D059746DE4D90A37078489640167</key>
+			<iv>EB84AC035534CDF1698E660F529E0EC7</iv>
+			<input>D7F3C71F1F89A8F4C9BF56890A9B5F5D</input>
+			<output>9236D37A28C2CF29237127173B93C5D5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 383</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>9BE42576823EEAADB34657A5CBB44B21AAC303235CAF2BF029462093B2F7C4B2</key>
+			<iv>9236D37A28C2CF29237127173B93C5D5</iv>
+			<input>D1CF0ABEC655A688C689B2216F242323</input>
+			<output>86C122CFA62B1356FEE33FECF598ACC9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 384</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>5DFC1838B052E95A948D0AC31736CBE62C0221ECFA8438A6D7A51F7F476F687B</key>
+			<iv>86C122CFA62B1356FEE33FECF598ACC9</iv>
+			<input>C6183D4E326C03F727CB5D66DC8280C7</input>
+			<output>8A9926125B1CA354B1D7A9FED0850FEE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 385</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>2B12FA914EE7674EADED81C47A67A1B4A69B07FEA1989BF26672B68197EA6795</key>
+			<iv>8A9926125B1CA354B1D7A9FED0850FEE</iv>
+			<input>76EEE2A9FEB58E1439608B076D516A52</input>
+			<output>AD99A2A427BFF7A17C375DB38764EBFC</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 386</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>10607DE088CB92382089EF99B7C054280B02A55A86276C531A45EB32108E8C69</key>
+			<iv>AD99A2A427BFF7A17C375DB38764EBFC</iv>
+			<input>3B728771C62CF5768D646E5DCDA7F59C</input>
+			<output>0E141FD7D6928E7B7885638B6334947C</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 387</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>605ECCB38F9FFD9DAB2DB523313FFADB0516BA8D50B5E22862C088B973BA1815</key>
+			<iv>0E141FD7D6928E7B7885638B6334947C</iv>
+			<input>703EB15307546FA58BA45ABA86FFAEF3</input>
+			<output>996CB8723B08B99A4959072DC8A73292</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 388</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>C6371257BDA461F3A4D2F1ED5DD4B0B69C7A02FF6BBD5BB22B998F94BB1D2A87</key>
+			<iv>996CB8723B08B99A4959072DC8A73292</iv>
+			<input>A669DEE4323B9C6E0FFF44CE6CEB4A6D</input>
+			<output>72966BAA5E4D7FA9129088F2C072E301</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 389</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>DDD8877C25005F9B8336823CBF4D4B1DEEEC695535F0241B390907667B6FC986</key>
+			<iv>72966BAA5E4D7FA9129088F2C072E301</iv>
+			<input>1BEF952B98A43E6827E473D1E299FBAB</input>
+			<output>32C321C999A2D68EA4517D332C785FC4</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 390</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>00882DCBC6CFDED1A2ED7D9892F494A5DC2F489CAC52F2959D587A5557179642</key>
+			<iv>32C321C999A2D68EA4517D332C785FC4</iv>
+			<input>DD50AAB7E3CF814A21DBFFA42DB9DFB8</input>
+			<output>391D95DD63982E0A9AF3980A234DB5B9</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 391</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>234B9097BD6519EFE106103720AC937DE532DD41CFCADC9F07ABE25F745A23FB</key>
+			<iv>391D95DD63982E0A9AF3980A234DB5B9</iv>
+			<input>23C3BD5C7BAAC73E43EB6DAFB25807D8</input>
+			<output>D3A279EE1BABABA71DB01DC35EBA879D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 392</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>AFF7D52D959CC7E41F1F3FF3CA2425053690A4AFD46177381A1BFF9C2AE0A466</key>
+			<iv>D3A279EE1BABABA71DB01DC35EBA879D</iv>
+			<input>8CBC45BA28F9DE0BFE192FC4EA88B678</input>
+			<output>B4696871EE3A9D035BC32308DA5A5DA7</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 393</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>B557440CEEB6E4EF54F6CD1B222246AC82F9CCDE3A5BEA3B41D8DC94F0BAF9C1</key>
+			<iv>B4696871EE3A9D035BC32308DA5A5DA7</iv>
+			<input>1AA091217B2A230B4BE9F2E8E80663A9</input>
+			<output>C5047AFD7884E0124928229AA6E72F67</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 394</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>BF64C071FAAD2C48CB269C03563FA06147FDB62342DF0A2908F0FE0E565DD6A6</key>
+			<iv>C5047AFD7884E0124928229AA6E72F67</iv>
+			<input>0A33847D141BC8A79FD05118741DE6CD</input>
+			<output>240D684E6BAD3FD4E41D58DB871E93CD</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 395</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>F6945509258A1584398F5438DFD679DB63F0DE6D297235FDECEDA6D5D143456B</key>
+			<iv>240D684E6BAD3FD4E41D58DB871E93CD</iv>
+			<input>49F09578DF2739CCF2A9C83B89E9D9BA</input>
+			<output>F66917F0C3C67774F9263062F918DDD5</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 396</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>A8E48107D59287ABBA374E7CE5BC28E89599C99DEAB4428915CB96B7285B98BE</key>
+			<iv>F66917F0C3C67774F9263062F918DDD5</iv>
+			<input>5E70D40EF018922F83B81A443A6A5133</input>
+			<output>85C42456F11D0191BC4B4DD4EA0406EE</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 397</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>E4F367569F4F9114AFE937A0190C9738105DEDCB1BA94318A980DB63C25F9E50</key>
+			<iv>85C42456F11D0191BC4B4DD4EA0406EE</iv>
+			<input>4C17E6514ADD16BF15DE79DCFCB0BFD0</input>
+			<output>D48B6C87A25C71113947569411C2186A</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 398</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>987ED2D586DA9AB08C584BBEA0478953C4D6814CB9F5320990C78DF7D39D863A</key>
+			<iv>D48B6C87A25C71113947569411C2186A</iv>
+			<input>7C8DB58319950BA423B17C1EB94B1E6B</input>
+			<output>AB6957C2F3D360593E9096F3A392A701</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 399</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>3DF2BF13B7FF97CA13567A890E11C9796FBFD68E4A265250AE571B04700F213B</key>
+			<iv>AB6957C2F3D360593E9096F3A392A701</iv>
+			<input>A58C6DC631250D7A9F0E3137AE56402A</input>
+			<output>C0FEFFF07506A0B4CD7B8B0CF25D3664</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tsymmetric/scripts/AESMonteCarloEncryptECB128.txt	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,6400 @@
+<action>
+	<actionname>AES ECB MonteCarlo ENC 0</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>C34C052CC0DA8D73451AFE5F03BE297F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 1</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>C34C052CC0DA8D73451AFE5F03BE297F</key>
+			<input>C34C052CC0DA8D73451AFE5F03BE297F</input>
+			<output>0AC15A9AFBB24D54AD99E987208272E2<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 2</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>C98D5FB63B68C027E88317D8233C5B9D</key>
+			<input>0AC15A9AFBB24D54AD99E987208272E2</input>
+			<output>A3D43BFFA65D0E80092F67A314857870<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 3</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>6A5964499D35CEA7E1AC707B37B923ED</key>
+			<input>A3D43BFFA65D0E80092F67A314857870</input>
+			<output>355F697E8B868B65B25A04E18D782AFA<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 4</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>5F060D3716B345C253F6749ABAC10917</key>
+			<input>355F697E8B868B65B25A04E18D782AFA</input>
+			<output>ACC863637868E3E068D2FD6E3508454A<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 5</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>F3CE6E546EDBA6223B2489F48FC94C5D</key>
+			<input>ACC863637868E3E068D2FD6E3508454A</input>
+			<output>665F9F12A824F3D52A1C71D6210D5470<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 6</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>9591F146C6FF55F71138F822AEC4182D</key>
+			<input>665F9F12A824F3D52A1C71D6210D5470</input>
+			<output>9B27361DBC8E5618E8E98036F5AD40B0<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 7</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>0EB6C75B7A7103EFF9D178145B69589D</key>
+			<input>9B27361DBC8E5618E8E98036F5AD40B0</input>
+			<output>21D9BD7EBA0163A293F2D56C316CBD36<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 8</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>2F6F7A25C070604D6A23AD786A05E5AB</key>
+			<input>21D9BD7EBA0163A293F2D56C316CBD36</input>
+			<output>3E8037A9988E28FF81F2A7154ACD91BE<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 9</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>11EF4D8C58FE48B2EBD10A6D20C87415</key>
+			<input>3E8037A9988E28FF81F2A7154ACD91BE</input>
+			<output>014EE14F1AA8C0D4A47A72F197F4DCB0<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 10</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>10A1ACC3425688664FAB789CB73CA8A5</key>
+			<input>014EE14F1AA8C0D4A47A72F197F4DCB0</input>
+			<output>0B542083DBC03A96AA00C1A5AE58C9F1<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 11</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>1BF58C409996B2F0E5ABB93919646154</key>
+			<input>0B542083DBC03A96AA00C1A5AE58C9F1</input>
+			<output>7340B59E1E3BB9211CE167F2DEBDB090<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 12</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>68B539DE87AD0BD1F94ADECBC7D9D1C4</key>
+			<input>7340B59E1E3BB9211CE167F2DEBDB090</input>
+			<output>67E05F75135BA834CBCDCFF068541BBE<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 13</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>0F5566AB94F6A3E53287113BAF8DCA7A</key>
+			<input>67E05F75135BA834CBCDCFF068541BBE</input>
+			<output>8BD5553105C3507B0A07FDB351B25B4F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 14</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>8480339A9135F39E3880EC88FE3F9135</key>
+			<input>8BD5553105C3507B0A07FDB351B25B4F</input>
+			<output>649F061F95C0A79BD3066EFFE5B27CAB<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 15</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>E01F358504F55405EB8682771B8DED9E</key>
+			<input>649F061F95C0A79BD3066EFFE5B27CAB</input>
+			<output>697F4EB0603340E90FE91C27B6D9CEAA<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 16</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>89607B3564C614ECE46F9E50AD542334</key>
+			<input>697F4EB0603340E90FE91C27B6D9CEAA</input>
+			<output>A8CBBA624FA28A7F8637324E1E20CB9C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 17</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>21ABC1572B649E936258AC1EB374E8A8</key>
+			<input>A8CBBA624FA28A7F8637324E1E20CB9C</input>
+			<output>73B852132DE715872A40EB25B1133C00<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 18</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>5213934406838B144818473B0267D4A8</key>
+			<input>73B852132DE715872A40EB25B1133C00</input>
+			<output>1328A1C2F386BB3E4D4BE0942B8249A2<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 19</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>413B3286F505302A0553A7AF29E59D0A</key>
+			<input>1328A1C2F386BB3E4D4BE0942B8249A2</input>
+			<output>06F72DEA0067F543AA8C342CC9191745<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 20</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>47CC1F6CF562C569AFDF9383E0FC8A4F</key>
+			<input>06F72DEA0067F543AA8C342CC9191745</input>
+			<output>110B6011B60C94382C2321BFCAA62A1C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 21</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>56C77F7D436E515183FCB23C2A5AA053</key>
+			<input>110B6011B60C94382C2321BFCAA62A1C</input>
+			<output>80C90EF6794361DFA400EFE922F45A59<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 22</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>D60E718B3A2D308E27FC5DD508AEFA0A</key>
+			<input>80C90EF6794361DFA400EFE922F45A59</input>
+			<output>F8DF0AC62EE229245DB1F300F2E5B143<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 23</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>2ED17B4D14CF19AA7A4DAED5FA4B4B49</key>
+			<input>F8DF0AC62EE229245DB1F300F2E5B143</input>
+			<output>45390146539E773B502E84A0C29AD5B0<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 24</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>6BE87A0B47516E912A632A7538D19EF9</key>
+			<input>45390146539E773B502E84A0C29AD5B0</input>
+			<output>B07721757865838BDFC2329998B5174F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 25</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>DB9F5B7E3F34ED1AF5A118ECA06489B6</key>
+			<input>B07721757865838BDFC2329998B5174F</input>
+			<output>B83F3B7A9FFBA35DF1D6661A0F8AD0F4<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 26</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>63A06004A0CF4E4704777EF6AFEE5942</key>
+			<input>B83F3B7A9FFBA35DF1D6661A0F8AD0F4</input>
+			<output>7098C99B1B245DE623B78F1B07D08EBE<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 27</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>1338A99FBBEB13A127C0F1EDA83ED7FC</key>
+			<input>7098C99B1B245DE623B78F1B07D08EBE</input>
+			<output>58A095EF9268B923920238486D0B13E1<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 28</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>4B983C702983AA82B5C2C9A5C535C41D</key>
+			<input>58A095EF9268B923920238486D0B13E1</input>
+			<output>97DD8052CE0D87715075A42942C120ED<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 29</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>DC45BC22E78E2DF3E5B76D8C87F4E4F0</key>
+			<input>97DD8052CE0D87715075A42942C120ED</input>
+			<output>F480B5A67DAFCB9524DC21453AF66FAF<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 30</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>28C509849A21E666C16B4CC9BD028B5F</key>
+			<input>F480B5A67DAFCB9524DC21453AF66FAF</input>
+			<output>71CE64CE8C98367F2F12E6851AC70FF3<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 31</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>590B6D4A16B9D019EE79AA4CA7C584AC</key>
+			<input>71CE64CE8C98367F2F12E6851AC70FF3</input>
+			<output>81C3AA693CC1C647399701DA17D5FDD5<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 32</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>D8C8C7232A78165ED7EEAB96B0107979</key>
+			<input>81C3AA693CC1C647399701DA17D5FDD5</input>
+			<output>5BB93103F6DDF0415592EE2217704D41<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 33</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>8371F620DCA5E61F827C45B4A7603438</key>
+			<input>5BB93103F6DDF0415592EE2217704D41</input>
+			<output>87B8B17FF9079829AB5C47E055FFCEE3<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 34</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>04C9475F25A27E3629200254F29FFADB</key>
+			<input>87B8B17FF9079829AB5C47E055FFCEE3</input>
+			<output>615FE7D34154F42D6CE9D647904295E0<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 35</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>6596A08C64F68A1B45C9D41362DD6F3B</key>
+			<input>615FE7D34154F42D6CE9D647904295E0</input>
+			<output>A60C213CDF9B54DF9041948F98585CE2<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 36</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>C39A81B0BB6DDEC4D588409CFA8533D9</key>
+			<input>A60C213CDF9B54DF9041948F98585CE2</input>
+			<output>FB126C61071EB9167B6FF28E5244E624<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 37</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>3888EDD1BC7367D2AEE7B212A8C1D5FD</key>
+			<input>FB126C61071EB9167B6FF28E5244E624</input>
+			<output>8A79CE45F030B91B53D1591D10FF1B02<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 38</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>B2F123944C43DEC9FD36EB0FB83ECEFF</key>
+			<input>8A79CE45F030B91B53D1591D10FF1B02</input>
+			<output>BE20190BAE15162F43E93F67A580192B<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 39</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>0CD13A9FE256C8E6BEDFD4681DBED7D4</key>
+			<input>BE20190BAE15162F43E93F67A580192B</input>
+			<output>0107D3E3511F91545D02B498A9E3C318<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 40</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>0DD6E97CB34959B2E3DD60F0B45D14CC</key>
+			<input>0107D3E3511F91545D02B498A9E3C318</input>
+			<output>2A832A1205D6B5FCF1B20126EE59DD9D<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 41</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>2755C36EB69FEC4E126F61D65A04C951</key>
+			<input>2A832A1205D6B5FCF1B20126EE59DD9D</input>
+			<output>F362782F550DCBFC49CEF15C3A0ABA7A<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 42</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>D437BB41E39227B25BA1908A600E732B</key>
+			<input>F362782F550DCBFC49CEF15C3A0ABA7A</input>
+			<output>51A8A0C6434A3BE8C939B6DDD56EAA53<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 43</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>859F1B87A0D81C5A92982657B560D978</key>
+			<input>51A8A0C6434A3BE8C939B6DDD56EAA53</input>
+			<output>89D3F1086F3D96C18A76C61F25A52221<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 44</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>0C4CEA8FCFE58A9B18EEE04890C5FB59</key>
+			<input>89D3F1086F3D96C18A76C61F25A52221</input>
+			<output>A5F7E0A5FA70DDB718EF970F50EB7B86<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 45</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>A9BB0A2A3595572C00017747C02E80DF</key>
+			<input>A5F7E0A5FA70DDB718EF970F50EB7B86</input>
+			<output>7BB64305538E71AFBF993B5BD23D5523<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 46</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>D20D492F661B2683BF984C1C1213D5FC</key>
+			<input>7BB64305538E71AFBF993B5BD23D5523</input>
+			<output>E6BF8F5338568603EC668C6D15331FA5<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 47</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>34B2C67C5E4DA08053FEC0710720CA59</key>
+			<input>E6BF8F5338568603EC668C6D15331FA5</input>
+			<output>27644649FCDF52085CDB20E3DEE1E2F6<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 48</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>13D68035A292F2880F25E092D9C128AF</key>
+			<input>27644649FCDF52085CDB20E3DEE1E2F6</input>
+			<output>7629AACAED7F49938373C83410AD1744<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 49</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>65FF2AFF4FEDBB1B8C5628A6C96C3FEB</key>
+			<input>7629AACAED7F49938373C83410AD1744</input>
+			<output>D440FC6E9A65819934FAF8641C05A17C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 50</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>B1BFD691D5883A82B8ACD0C2D5699E97</key>
+			<input>D440FC6E9A65819934FAF8641C05A17C</input>
+			<output>FBEE29FEFD725E1852B58502D3076C46<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 51</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>4A51FF6F28FA649AEA1955C0066EF2D1</key>
+			<input>FBEE29FEFD725E1852B58502D3076C46</input>
+			<output>E345A47A6C89BE4350CDD8C9D319529D<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 52</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>A9145B154473DAD9BAD48D09D577A04C</key>
+			<input>E345A47A6C89BE4350CDD8C9D319529D</input>
+			<output>1C6A7CBAF21E483B6025DB6DA573C5C6<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 53</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>B57E27AFB66D92E2DAF156647004658A</key>
+			<input>1C6A7CBAF21E483B6025DB6DA573C5C6</input>
+			<output>2B05F4D8EB50D851A013798753B65A1F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 54</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>9E7BD3775D3D4AB37AE22FE323B23F95</key>
+			<input>2B05F4D8EB50D851A013798753B65A1F</input>
+			<output>CEFE04978228A0DBCCE9EE42B21DD34A<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 55</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>5085D7E0DF15EA68B60BC1A191AFECDF</key>
+			<input>CEFE04978228A0DBCCE9EE42B21DD34A</input>
+			<output>7B41DF8CD85B61EA800536648DBDA2AE<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 56</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>2BC4086C074E8B82360EF7C51C124E71</key>
+			<input>7B41DF8CD85B61EA800536648DBDA2AE</input>
+			<output>08688872151D18CD19E2FC14B9E4C962<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 57</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>23AC801E1253934F2FEC0BD1A5F68713</key>
+			<input>08688872151D18CD19E2FC14B9E4C962</input>
+			<output>F08C88BE5E748C4D82D2E7D7813A33AF<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 58</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>D32008A04C271F02AD3EEC0624CCB4BC</key>
+			<input>F08C88BE5E748C4D82D2E7D7813A33AF</input>
+			<output>319B7D38AB1AC3AEA0A0490C341F4F20<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 59</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>E2BB7598E73DDCAC0D9EA50A10D3FB9C</key>
+			<input>319B7D38AB1AC3AEA0A0490C341F4F20</input>
+			<output>EE70748772E8D88B2717D78F31F0EA86<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 60</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>0CCB011F95D504272A8972852123111A</key>
+			<input>EE70748772E8D88B2717D78F31F0EA86</input>
+			<output>A3A5DC791EA1BBB9D7A2B292572DFD5C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 61</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>AF6EDD668B74BF9EFD2BC017760EEC46</key>
+			<input>A3A5DC791EA1BBB9D7A2B292572DFD5C</input>
+			<output>255692B06B3A18498BCAF99F7B3EE374<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 62</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>8A384FD6E04EA7D776E139880D300F32</key>
+			<input>255692B06B3A18498BCAF99F7B3EE374</input>
+			<output>500E492232891293875F50279B5DC5C3<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 63</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>DA3606F4D2C7B544F1BE69AF966DCAF1</key>
+			<input>500E492232891293875F50279B5DC5C3</input>
+			<output>57C3FCCE9B5BA3BC19BBF7BB9B37A9AC<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 64</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>8DF5FA3A499C16F8E8059E140D5A635D</key>
+			<input>57C3FCCE9B5BA3BC19BBF7BB9B37A9AC</input>
+			<output>BF06FDFDB687C8B24FB0E2A6D6D37EA5<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 65</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>32F307C7FF1BDE4AA7B57CB2DB891DF8</key>
+			<input>BF06FDFDB687C8B24FB0E2A6D6D37EA5</input>
+			<output>6D459ED545CF3C6FF2746411CD9B3E31<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 66</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>5FB69912BAD4E22555C118A3161223C9</key>
+			<input>6D459ED545CF3C6FF2746411CD9B3E31</input>
+			<output>C74E0704A9D9EC2D90F75B34FC95CD32<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 67</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>98F89E16130D0E08C5364397EA87EEFB</key>
+			<input>C74E0704A9D9EC2D90F75B34FC95CD32</input>
+			<output>0453D4FBC2D7F8E0AD0AD90F98D1EC5C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 68</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>9CAB4AEDD1DAF6E8683C9A98725602A7</key>
+			<input>0453D4FBC2D7F8E0AD0AD90F98D1EC5C</input>
+			<output>5BBA052D6C39DC1E9553B7646CB7344B<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 69</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>C7114FC0BDE32AF6FD6F2DFC1EE136EC</key>
+			<input>5BBA052D6C39DC1E9553B7646CB7344B</input>
+			<output>9870FFE04984426501ECB55FFBB363CB<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 70</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>5F61B020F4676893FC8398A3E5525527</key>
+			<input>9870FFE04984426501ECB55FFBB363CB</input>
+			<output>1363D65F7C943FC4512E41A717D3704D<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 71</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>4C02667F88F35757ADADD904F281256A</key>
+			<input>1363D65F7C943FC4512E41A717D3704D</input>
+			<output>664762AED6BC5FB74A646A928837FC83<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 72</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>2A4504D15E4F08E0E7C9B3967AB6D9E9</key>
+			<input>664762AED6BC5FB74A646A928837FC83</input>
+			<output>655CB6BAB4B0532273689E4DC9234C42<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 73</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>4F19B26BEAFF5BC294A12DDBB39595AB</key>
+			<input>655CB6BAB4B0532273689E4DC9234C42</input>
+			<output>E8AAE0E0B9D2BE6259AEBC478DC90FD9<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 74</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>A7B3528B532DE5A0CD0F919C3E5C9A72</key>
+			<input>E8AAE0E0B9D2BE6259AEBC478DC90FD9</input>
+			<output>FECACAF43DD920FA3078256C6A587741<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 75</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>5979987F6EF4C55AFD77B4F05404ED33</key>
+			<input>FECACAF43DD920FA3078256C6A587741</input>
+			<output>11F3F56529B8B172D87A4C86BB90F3B6<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 76</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>488A6D1A474C7428250DF876EF941E85</key>
+			<input>11F3F56529B8B172D87A4C86BB90F3B6</input>
+			<output>B44340D44F1ABA37CB09FE57FC771A9E<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 77</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>FCC92DCE0856CE1FEE04062113E3041B</key>
+			<input>B44340D44F1ABA37CB09FE57FC771A9E</input>
+			<output>C49F12B88C34A0D696FE283B01D5710C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 78</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>38563F7684626EC978FA2E1A12367517</key>
+			<input>C49F12B88C34A0D696FE283B01D5710C</input>
+			<output>58D6D2D36C14DDBDA7604AB740918D76<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 79</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>6080EDA5E876B374DF9A64AD52A7F861</key>
+			<input>58D6D2D36C14DDBDA7604AB740918D76</input>
+			<output>21F735F77B0EAD7551CE06900A568EB3<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 80</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>4177D85293781E018E54623D58F176D2</key>
+			<input>21F735F77B0EAD7551CE06900A568EB3</input>
+			<output>FE2E9BDB393BF6D1BBF108B8AC3B6818<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 81</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>BF594389AA43E8D035A56A85F4CA1ECA</key>
+			<input>FE2E9BDB393BF6D1BBF108B8AC3B6818</input>
+			<output>FECFCD3722C6C8E6608258341220E739<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 82</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>41968EBE88852036552732B1E6EAF9F3</key>
+			<input>FECFCD3722C6C8E6608258341220E739</input>
+			<output>10A8BB234C9D9A22DEC7887E931F85BD<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 83</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>513E359DC418BA148BE0BACF75F57C4E</key>
+			<input>10A8BB234C9D9A22DEC7887E931F85BD</input>
+			<output>767EB7DBA70BC7094DF7A5BDD233EB5C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 84</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>2740824663137D1DC6171F72A7C69712</key>
+			<input>767EB7DBA70BC7094DF7A5BDD233EB5C</input>
+			<output>FCD7184F3F4DB7CA182225B9A358209D<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 85</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>DB979A095C5ECAD7DE353ACB049EB78F</key>
+			<input>FCD7184F3F4DB7CA182225B9A358209D</input>
+			<output>A5CD025AEBF0380EAC66EF034806179F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 86</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>7E5A9853B7AEF2D97253D5C84C98A010</key>
+			<input>A5CD025AEBF0380EAC66EF034806179F</input>
+			<output>FE46F4A72C7031FE8D900152CD20B95F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 87</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>801C6CF49BDEC327FFC3D49A81B8194F</key>
+			<input>FE46F4A72C7031FE8D900152CD20B95F</input>
+			<output>CF1ACB502A4B608C61364891E34F93A0<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 88</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>4F06A7A4B195A3AB9EF59C0B62F78AEF</key>
+			<input>CF1ACB502A4B608C61364891E34F93A0</input>
+			<output>95AB1367FF6C03DE87FFA282A3E52200<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 89</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>DAADB4C34EF9A075190A3E89C112A8EF</key>
+			<input>95AB1367FF6C03DE87FFA282A3E52200</input>
+			<output>762B6393252B347F55AF3E4CA16F2FC9<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 90</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>AC86D7506BD2940A4CA500C5607D8726</key>
+			<input>762B6393252B347F55AF3E4CA16F2FC9</input>
+			<output>A63491A22E23AD921ADAB9CC0DA20521<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 91</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>0AB246F245F13998567FB9096DDF8207</key>
+			<input>A63491A22E23AD921ADAB9CC0DA20521</input>
+			<output>C0852A5E7CEEAFB5FA87C440B598BFD6<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 92</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>CA376CAC391F962DACF87D49D8473DD1</key>
+			<input>C0852A5E7CEEAFB5FA87C440B598BFD6</input>
+			<output>485747C528B08033169E991E98E4CBB5<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 93</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>82602B6911AF161EBA66E45740A3F664</key>
+			<input>485747C528B08033169E991E98E4CBB5</input>
+			<output>415B95B222161A8C9ED20CF99C26848C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 94</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>C33BBEDB33B90C9224B4E8AEDC8572E8</key>
+			<input>415B95B222161A8C9ED20CF99C26848C</input>
+			<output>7E673E6348C38CD40C9B11F4C9F3E3A0<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 95</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>BD5C80B87B7A8046282FF95A15769148</key>
+			<input>7E673E6348C38CD40C9B11F4C9F3E3A0</input>
+			<output>B88508E55279AFF0D848C38DBEC76B2C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 96</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>05D9885D29032FB6F0673AD7ABB1FA64</key>
+			<input>B88508E55279AFF0D848C38DBEC76B2C</input>
+			<output>3902B5DC34E815BA50A53DB9C8FFAA92<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 97</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>3CDB3D811DEB3A0CA0C2076E634E50F6</key>
+			<input>3902B5DC34E815BA50A53DB9C8FFAA92</input>
+			<output>FEF57F51360547EA6B88085B8656A1D0<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 98</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>C22E42D02BEE7DE6CB4A0F35E518F126</key>
+			<input>FEF57F51360547EA6B88085B8656A1D0</input>
+			<output>94D052E1F097106A5B714ADD0EF79E64<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 99</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>56FE1031DB796D8C903B45E8EBEF6F42</key>
+			<input>94D052E1F097106A5B714ADD0EF79E64</input>
+			<output>7FD3EF411360E5270F63A8BACCCC74C0<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 100</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>292DFF70C81988AB9F58ED5227231B82</key>
+			<input>7FD3EF411360E5270F63A8BACCCC74C0</input>
+			<output>F572692DE6EFBC2309B947D1A75BE009<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 101</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>DC5F965D2EF6348896E1AA838078FB8B</key>
+			<input>F572692DE6EFBC2309B947D1A75BE009</input>
+			<output>BFD3233C513448C283C05311B8085B5C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 102</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>638CB5617FC27C4A1521F9923870A0D7</key>
+			<input>BFD3233C513448C283C05311B8085B5C</input>
+			<output>078739F570071AA1A96A1F00F31E05FD<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 103</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>640B8C940FC566EBBC4BE692CB6EA52A</key>
+			<input>078739F570071AA1A96A1F00F31E05FD</input>
+			<output>947CA236277CDD0AC13C194B99E8CF16<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 104</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>F0772EA228B9BBE17D77FFD952866A3C</key>
+			<input>947CA236277CDD0AC13C194B99E8CF16</input>
+			<output>34DE5F2D355BC4ACE54AD0CB8C008CB8<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 105</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>C4A9718F1DE27F4D983D2F12DE86E684</key>
+			<input>34DE5F2D355BC4ACE54AD0CB8C008CB8</input>
+			<output>E5729CBD84C89B914F35412F902A2CA3<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 106</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>21DBED32992AE4DCD7086E3D4EACCA27</key>
+			<input>E5729CBD84C89B914F35412F902A2CA3</input>
+			<output>EB326D6ABAFC93EADBEC9B05CE4AAF0C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 107</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>CAE9805823D677360CE4F53880E6652B</key>
+			<input>EB326D6ABAFC93EADBEC9B05CE4AAF0C</input>
+			<output>9F088089F8D8E8E28A9A2A1FF50F2ED3<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 108</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>55E100D1DB0E9FD4867EDF2775E94BF8</key>
+			<input>9F088089F8D8E8E28A9A2A1FF50F2ED3</input>
+			<output>C8D2BF3D6ADB57F478656D4808142160<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 109</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>9D33BFECB1D5C820FE1BB26F7DFD6A98</key>
+			<input>C8D2BF3D6ADB57F478656D4808142160</input>
+			<output>062016811215B9DBDD3C794A15FBEBBA<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 110</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>9B13A96DA3C071FB2327CB2568068122</key>
+			<input>062016811215B9DBDD3C794A15FBEBBA</input>
+			<output>71F9F04E9AED1C302E5ED2AD36B5C7F5<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 111</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>EAEA5923392D6DCB0D7919885EB346D7</key>
+			<input>71F9F04E9AED1C302E5ED2AD36B5C7F5</input>
+			<output>253982568F6C3FDFDE173E46B614989C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 112</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>CFD3DB75B6415214D36E27CEE8A7DE4B</key>
+			<input>253982568F6C3FDFDE173E46B614989C</input>
+			<output>6D51D51276A6FA9C933E4D4496D0455E<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 113</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>A2820E67C0E7A88840506A8A7E779B15</key>
+			<input>6D51D51276A6FA9C933E4D4496D0455E</input>
+			<output>B9A6924F773CE826BBBC6DDBFA4E146A<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 114</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>1B249C28B7DB40AEFBEC075184398F7F</key>
+			<input>B9A6924F773CE826BBBC6DDBFA4E146A</input>
+			<output>474943C523162BC81186779A07144BC6<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 115</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>5C6DDFED94CD6B66EA6A70CB832DC4B9</key>
+			<input>474943C523162BC81186779A07144BC6</input>
+			<output>20128A092B99B4BC212B1107C3BA1DF9<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 116</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>7C7F55E4BF54DFDACB4161CC4097D940</key>
+			<input>20128A092B99B4BC212B1107C3BA1DF9</input>
+			<output>90330B8FB5A50E958250A953EF5145C7<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 117</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>EC4C5E6B0AF1D14F4911C89FAFC69C87</key>
+			<input>90330B8FB5A50E958250A953EF5145C7</input>
+			<output>C1B788D0EB2C8C7B9E020CC2BEACD595<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 118</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>2DFBD6BBE1DD5D34D713C45D116A4912</key>
+			<input>C1B788D0EB2C8C7B9E020CC2BEACD595</input>
+			<output>EF87960DABBE82F6CFA8045CE4A9EED0<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 119</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>C27C40B64A63DFC218BBC001F5C3A7C2</key>
+			<input>EF87960DABBE82F6CFA8045CE4A9EED0</input>
+			<output>405C8408D5027DF90CBE3159701D161A<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 120</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>8220C4BE9F61A23B1405F15885DEB1D8</key>
+			<input>405C8408D5027DF90CBE3159701D161A</input>
+			<output>FCAB7F88E85D6573A98D23D684A5A5F3<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 121</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>7E8BBB36773CC748BD88D28E017B142B</key>
+			<input>FCAB7F88E85D6573A98D23D684A5A5F3</input>
+			<output>191E6F1EECBF5149F4D49446E97D8820<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 122</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>6795D4289B839601495C46C8E8069C0B</key>
+			<input>191E6F1EECBF5149F4D49446E97D8820</input>
+			<output>C77128F53D48594194EFBA67E46C6B23<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 123</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>A0E4FCDDA6CBCF40DDB3FCAF0C6AF728</key>
+			<input>C77128F53D48594194EFBA67E46C6B23</input>
+			<output>DFB898170571450CC5E2244AE4D3AF43<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 124</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>7F5C64CAA3BA8A4C1851D8E5E8B9586B</key>
+			<input>DFB898170571450CC5E2244AE4D3AF43</input>
+			<output>3BD1633B5053609A3B42CC098F9F5D87<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 125</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>448D07F1F3E9EAD6231314EC672605EC</key>
+			<input>3BD1633B5053609A3B42CC098F9F5D87</input>
+			<output>AC15B23F205AEB10470F853BA18361E0<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 126</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>E898B5CED3B301C6641C91D7C6A5640C</key>
+			<input>AC15B23F205AEB10470F853BA18361E0</input>
+			<output>2DA73BA6E01B1ADFBEEAFA2E37942078<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 127</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>C53F8E6833A81B19DAF66BF9F1314474</key>
+			<input>2DA73BA6E01B1ADFBEEAFA2E37942078</input>
+			<output>C5B3D7089173958B32340B88D35B738B<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 128</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>008C5960A2DB8E92E8C26071226A37FF</key>
+			<input>C5B3D7089173958B32340B88D35B738B</input>
+			<output>8318BAA96569F3ADCD30C08D54494392<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 129</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>8394E3C9C7B27D3F25F2A0FC7623746D</key>
+			<input>8318BAA96569F3ADCD30C08D54494392</input>
+			<output>4F6F2A06A1A344B261084563BCCC5A5A<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 130</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>CCFBC9CF6611398D44FAE59FCAEF2E37</key>
+			<input>4F6F2A06A1A344B261084563BCCC5A5A</input>
+			<output>07EC18166362BF049A48D146A63FF378<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 131</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>CB17D1D905738689DEB234D96CD0DD4F</key>
+			<input>07EC18166362BF049A48D146A63FF378</input>
+			<output>81CB17ABAC28A3ED135442454C212646<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 132</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>4ADCC672A95B2564CDE6769C20F1FB09</key>
+			<input>81CB17ABAC28A3ED135442454C212646</input>
+			<output>C1CBDE45E27B9B1198CE93A51E38D9C5<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 133</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>8B1718374B20BE755528E5393EC922CC</key>
+			<input>C1CBDE45E27B9B1198CE93A51E38D9C5</input>
+			<output>8E4EB89DDFEE065784556FA0B426954A<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 134</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>0559A0AA94CEB822D17D8A998AEFB786</key>
+			<input>8E4EB89DDFEE065784556FA0B426954A</input>
+			<output>6A966414CC6FE52F957E9DE7012EC4BD<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 135</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>6FCFC4BE58A15D0D4403177E8BC1733B</key>
+			<input>6A966414CC6FE52F957E9DE7012EC4BD</input>
+			<output>7C88474D963BFDFE61F052F51D1796EF<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 136</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>134783F3CE9AA0F325F3458B96D6E5D4</key>
+			<input>7C88474D963BFDFE61F052F51D1796EF</input>
+			<output>6269F5DA04B09D442DDCB46001573AE9<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 137</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>712E7629CA2A3DB7082FF1EB9781DF3D</key>
+			<input>6269F5DA04B09D442DDCB46001573AE9</input>
+			<output>FBD2965ACE0B360A12EF39873A8F3805<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 138</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>8AFCE07304210BBD1AC0C86CAD0EE738</key>
+			<input>FBD2965ACE0B360A12EF39873A8F3805</input>
+			<output>5B46EF12C9BE55DCD5571D82E5BC6FF1<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 139</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>D1BA0F61CD9F5E61CF97D5EE48B288C9</key>
+			<input>5B46EF12C9BE55DCD5571D82E5BC6FF1</input>
+			<output>403DEFDB60876F3161CF02F319F5EA9A<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 140</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>9187E0BAAD183150AE58D71D51476253</key>
+			<input>403DEFDB60876F3161CF02F319F5EA9A</input>
+			<output>70FD321C583C1B54ED6AD3A79721E84A<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 141</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>E17AD2A6F5242A04433204BAC6668A19</key>
+			<input>70FD321C583C1B54ED6AD3A79721E84A</input>
+			<output>32AE26E948D563782532AC711BFAB644<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 142</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>D3D4F44FBDF1497C6600A8CBDD9C3C5D</key>
+			<input>32AE26E948D563782532AC711BFAB644</input>
+			<output>ECF948F5EBB98E4C7286046E0F7AF127<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 143</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>3F2DBCBA5648C7301486ACA5D2E6CD7A</key>
+			<input>ECF948F5EBB98E4C7286046E0F7AF127</input>
+			<output>818F87EFA0B5E4098E737AD44DB537BA<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 144</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>BEA23B55F6FD23399AF5D6719F53FAC0</key>
+			<input>818F87EFA0B5E4098E737AD44DB537BA</input>
+			<output>029F170737413F1BFBE02C292D506E44<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 145</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>BC3D2C52C1BC1C226115FA58B2039484</key>
+			<input>029F170737413F1BFBE02C292D506E44</input>
+			<output>77A7C520912761121373E35FD3B5AF0F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 146</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>CB9AE972509B7D307266190761B63B8B</key>
+			<input>77A7C520912761121373E35FD3B5AF0F</input>
+			<output>D407B965C368E1F77195ED446BEEBA73<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 147</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>1F9D501793F39CC703F3F4430A5881F8</key>
+			<input>D407B965C368E1F77195ED446BEEBA73</input>
+			<output>D1F304E0B3614A4840F128AA364BA6A3<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 148</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>CE6E54F72092D68F4302DCE93C13275B</key>
+			<input>D1F304E0B3614A4840F128AA364BA6A3</input>
+			<output>69B748543EE72474D0CC301BDBD50A6C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 149</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>A7D91CA31E75F2FB93CEECF2E7C62D37</key>
+			<input>69B748543EE72474D0CC301BDBD50A6C</input>
+			<output>BA471D91DBC6D27EBA7B510E67830C3F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 150</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>1D9E0132C5B3208529B5BDFC80452108</key>
+			<input>BA471D91DBC6D27EBA7B510E67830C3F</input>
+			<output>7C0CF396D078E01A741613B1E1D7A9CB<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 151</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>6192F2A415CBC09F5DA3AE4D619288C3</key>
+			<input>7C0CF396D078E01A741613B1E1D7A9CB</input>
+			<output>6F670A289398F49C75ACBBE9EAC2ABFC<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 152</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>0EF5F88C86533403280F15A48B50233F</key>
+			<input>6F670A289398F49C75ACBBE9EAC2ABFC</input>
+			<output>C392EF479528BF1B02296E6C894E4FDD<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 153</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>CD6717CB137B8B182A267BC8021E6CE2</key>
+			<input>C392EF479528BF1B02296E6C894E4FDD</input>
+			<output>C4226C8C98D5F137A4C6A239E04B0FB3<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 154</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>09457B478BAE7A2F8EE0D9F1E2556351</key>
+			<input>C4226C8C98D5F137A4C6A239E04B0FB3</input>
+			<output>2382714FC945AD4A1E03858B63973B9E<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 155</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>2AC70A0842EBD76590E35C7A81C258CF</key>
+			<input>2382714FC945AD4A1E03858B63973B9E</input>
+			<output>E41F350AC9320A8A23E27C0349978168<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 156</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>CED83F028BD9DDEFB3012079C855D9A7</key>
+			<input>E41F350AC9320A8A23E27C0349978168</input>
+			<output>7E9137997CB7676F3D0141797C6F31A8<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 157</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>B049089BF76EBA808E006100B43AE80F</key>
+			<input>7E9137997CB7676F3D0141797C6F31A8</input>
+			<output>4BF7EBC15369A757981EE4A0B7F55706<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 158</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>FBBEE35AA4071DD7161E85A003CFBF09</key>
+			<input>4BF7EBC15369A757981EE4A0B7F55706</input>
+			<output>EC677E86A8D2A5935D33D6471A58A781<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 159</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>17D99DDC0CD5B8444B2D53E719971888</key>
+			<input>EC677E86A8D2A5935D33D6471A58A781</input>
+			<output>F31066D48884BC9B37F218FCF385344B<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 160</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>E4C9FB08845104DF7CDF4B1BEA122CC3</key>
+			<input>F31066D48884BC9B37F218FCF385344B</input>
+			<output>51CFEA4E482A7B7BCF4D31DA5CED4370<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 161</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>B5061146CC7B7FA4B3927AC1B6FF6FB3</key>
+			<input>51CFEA4E482A7B7BCF4D31DA5CED4370</input>
+			<output>89F3CD1590669A16F8460991BFD3CF5C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 162</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>3CF5DC535C1DE5B24BD47350092CA0EF</key>
+			<input>89F3CD1590669A16F8460991BFD3CF5C</input>
+			<output>9930DA8E5DBC1F6C87B0B41BD386E2E0<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 163</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>A5C506DD01A1FADECC64C74BDAAA420F</key>
+			<input>9930DA8E5DBC1F6C87B0B41BD386E2E0</input>
+			<output>41A8CB583E5B9D2BA7CDA3763B6529C0<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 164</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>E46DCD853FFA67F56BA9643DE1CF6BCF</key>
+			<input>41A8CB583E5B9D2BA7CDA3763B6529C0</input>
+			<output>53479DCFB0C69624B42B9C272B0A1A85<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 165</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>B72A504A8F3CF1D1DF82F81ACAC5714A</key>
+			<input>53479DCFB0C69624B42B9C272B0A1A85</input>
+			<output>E72F27AE86E913EF55309120358BAD35<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 166</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>500577E409D5E23E8AB2693AFF4EDC7F</key>
+			<input>E72F27AE86E913EF55309120358BAD35</input>
+			<output>9B1EF901BACC70819DBC627C7CDC8CD9<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 167</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>CB1B8EE5B31992BF170E0B46839250A6</key>
+			<input>9B1EF901BACC70819DBC627C7CDC8CD9</input>
+			<output>9546C7B789345E4C32EE84BCE8E78C7E<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 168</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>5E5D49523A2DCCF325E08FFA6B75DCD8</key>
+			<input>9546C7B789345E4C32EE84BCE8E78C7E</input>
+			<output>33700B93E03CE8202BAC7E64E3255108<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 169</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>6D2D42C1DA1124D30E4CF19E88508DD0</key>
+			<input>33700B93E03CE8202BAC7E64E3255108</input>
+			<output>44246615BCA5C0A8DCB7E63729398F0A<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 170</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>290924D466B4E47BD2FB17A9A16902DA</key>
+			<input>44246615BCA5C0A8DCB7E63729398F0A</input>
+			<output>3215FC55FEE5A30BFA11F8EBBC912652<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 171</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>1B1CD8819851477028EAEF421DF82488</key>
+			<input>3215FC55FEE5A30BFA11F8EBBC912652</input>
+			<output>796C9136407BC4F484B253DAEB206912<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 172</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>627049B7D82A8384AC58BC98F6D84D9A</key>
+			<input>796C9136407BC4F484B253DAEB206912</input>
+			<output>B18977B404F0671C10AA979389408CCA<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 173</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>D3F93E03DCDAE498BCF22B0B7F98C150</key>
+			<input>B18977B404F0671C10AA979389408CCA</input>
+			<output>B2592621EE947D4ED9AD4295E0675F93<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 174</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>61A01822324E99D6655F699E9FFF9EC3</key>
+			<input>B2592621EE947D4ED9AD4295E0675F93</input>
+			<output>62D3B7E28765DA8F83EBE19C97293C0A<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 175</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>0373AFC0B52B4359E6B4880208D6A2C9</key>
+			<input>62D3B7E28765DA8F83EBE19C97293C0A</input>
+			<output>F417D650D6B7631542CFF8F95FC81C9B<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 176</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>F7647990639C204CA47B70FB571EBE52</key>
+			<input>F417D650D6B7631542CFF8F95FC81C9B</input>
+			<output>700A5DE153D6B438FFF7BA902DEC32FF<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 177</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>876E2471304A94745B8CCA6B7AF28CAD</key>
+			<input>700A5DE153D6B438FFF7BA902DEC32FF</input>
+			<output>67DC08A48F1EC7E32121B8693BB23621<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 178</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>E0B22CD5BF5453977AAD72024140BA8C</key>
+			<input>67DC08A48F1EC7E32121B8693BB23621</input>
+			<output>90038BB156A7F7992E260E9CBFAC0D82<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 179</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>70B1A764E9F3A40E548B7C9EFEECB70E</key>
+			<input>90038BB156A7F7992E260E9CBFAC0D82</input>
+			<output>C6BB1407C2D037BF238BEC772BA95352<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 180</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>B60AB3632B2393B1770090E9D545E45C</key>
+			<input>C6BB1407C2D037BF238BEC772BA95352</input>
+			<output>8C3D249574FF74F84053977219D69F5E<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 181</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>3A3797F65FDCE7493753079BCC937B02</key>
+			<input>8C3D249574FF74F84053977219D69F5E</input>
+			<output>131F7FC5A1528AD5DCB167AFAA8BFD47<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 182</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>2928E833FE8E6D9CEBE2603466188645</key>
+			<input>131F7FC5A1528AD5DCB167AFAA8BFD47</input>
+			<output>6E68AE6FDF2C10B42B85486D3EFBCEB9<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 183</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>4740465C21A27D28C067285958E348FC</key>
+			<input>6E68AE6FDF2C10B42B85486D3EFBCEB9</input>
+			<output>26808ABFA3967D742D64A26CADF8DD70<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 184</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>61C0CCE38234005CED038A35F51B958C</key>
+			<input>26808ABFA3967D742D64A26CADF8DD70</input>
+			<output>8BBCBA5E4C219D000A2F6B701CDA09C3<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 185</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>EA7C76BDCE159D5CE72CE145E9C19C4F</key>
+			<input>8BBCBA5E4C219D000A2F6B701CDA09C3</input>
+			<output>5D707BB328BEFF51C8C1D984C1608AA0<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 186</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>B70C0D0EE6AB620D2FED38C128A116EF</key>
+			<input>5D707BB328BEFF51C8C1D984C1608AA0</input>
+			<output>8D0A485482B914FC282C2DA9F7147D0C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 187</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>3A06455A641276F107C11568DFB56BE3</key>
+			<input>8D0A485482B914FC282C2DA9F7147D0C</input>
+			<output>C5678BC12445627CBAA94177F070F736<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 188</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>FF61CE9B4057148DBD68541F2FC59CD5</key>
+			<input>C5678BC12445627CBAA94177F070F736</input>
+			<output>EB9B50846E92C20CD6EDBA7A3A260684<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 189</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>14FA9E1F2EC5D6816B85EE6515E39A51</key>
+			<input>EB9B50846E92C20CD6EDBA7A3A260684</input>
+			<output>E2178B471A3F72A271013C4CBE41FA1C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 190</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>F6ED155834FAA4231A84D229ABA2604D</key>
+			<input>E2178B471A3F72A271013C4CBE41FA1C</input>
+			<output>C10C8084A17D90339E5ED8C638B902A4<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 191</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>37E195DC9587341084DA0AEF931B62E9</key>
+			<input>C10C8084A17D90339E5ED8C638B902A4</input>
+			<output>03C839CCF269548279F30A1F45C30556<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 192</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>3429AC1067EE6092FD2900F0D6D867BF</key>
+			<input>03C839CCF269548279F30A1F45C30556</input>
+			<output>1C5DC5C94B5C7E332D4122A0A4FACD96<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 193</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>287469D92CB21EA1D06822507222AA29</key>
+			<input>1C5DC5C94B5C7E332D4122A0A4FACD96</input>
+			<output>E7292B7D15E9311F242FACFAFC0B0B81<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 194</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>CF5D42A4395B2FBEF4478EAA8E29A1A8</key>
+			<input>E7292B7D15E9311F242FACFAFC0B0B81</input>
+			<output>EA6DF86EEE09613104DB81B97B949AEC<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 195</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>2530BACAD7524E8FF09C0F13F5BD3B44</key>
+			<input>EA6DF86EEE09613104DB81B97B949AEC</input>
+			<output>8FBCCDEBA43FE3FFDE4C3C279BDD4A27<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 196</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>AA8C7721736DAD702ED033346E607163</key>
+			<input>8FBCCDEBA43FE3FFDE4C3C279BDD4A27</input>
+			<output>985971BE962C63B0F50D1004963E9BED<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 197</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>32D5069FE541CEC0DBDD2330F85EEA8E</key>
+			<input>985971BE962C63B0F50D1004963E9BED</input>
+			<output>F2CC0FF4B6D2F88766F1B8BE370FE463<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 198</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>C019096B53933647BD2C9B8ECF510EED</key>
+			<input>F2CC0FF4B6D2F88766F1B8BE370FE463</input>
+			<output>FE33F823B7B97FC017B35B6E22415D3E<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 199</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>3E2AF148E42A4987AA9FC0E0ED1053D3</key>
+			<input>FE33F823B7B97FC017B35B6E22415D3E</input>
+			<output>465D804A6053EC2580B59F0CD645C060<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 200</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>787771028479A5A22A2A5FEC3B5593B3</key>
+			<input>465D804A6053EC2580B59F0CD645C060</input>
+			<output>DE05AD28693E3D471B8F39BAD1803C0E<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 201</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>A672DC2AED4798E531A56656EAD5AFBD</key>
+			<input>DE05AD28693E3D471B8F39BAD1803C0E</input>
+			<output>61EB397D55A2FC3D78974C8A10200AC6<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 202</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>C799E557B8E564D849322ADCFAF5A57B</key>
+			<input>61EB397D55A2FC3D78974C8A10200AC6</input>
+			<output>BD95D742D81AD795AA4E10FB41F54294<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 203</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>7A0C321560FFB34DE37C3A27BB00E7EF</key>
+			<input>BD95D742D81AD795AA4E10FB41F54294</input>
+			<output>F43A1E8C6E057E68414D23DA6932DE2C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 204</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>8E362C990EFACD25A23119FDD23239C3</key>
+			<input>F43A1E8C6E057E68414D23DA6932DE2C</input>
+			<output>8EBB208032245988E851148B34B92F0E<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 205</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>008D0C193CDE94AD4A600D76E68B16CD</key>
+			<input>8EBB208032245988E851148B34B92F0E</input>
+			<output>2F18B4B14A360E06C50C89A4E6FE6C17<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 206</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>2F95B8A876E89AAB8F6C84D200757ADA</key>
+			<input>2F18B4B14A360E06C50C89A4E6FE6C17</input>
+			<output>681E131FA7EA5EBE10B59D3F16009582<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 207</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>478BABB7D102C4159FD919ED1675EF58</key>
+			<input>681E131FA7EA5EBE10B59D3F16009582</input>
+			<output>376FA31CC9D18E756E96715D61403C5D<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 208</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>70E408AB18D34A60F14F68B07735D305</key>
+			<input>376FA31CC9D18E756E96715D61403C5D</input>
+			<output>519E87E4A1AC61C376842F028D1BD75F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 209</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>217A8F4FB97F2BA387CB47B2FA2E045A</key>
+			<input>519E87E4A1AC61C376842F028D1BD75F</input>
+			<output>BFAED9E9964967342808C6C332E02204<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 210</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>9ED456A62F364C97AFC38171C8CE265E</key>
+			<input>BFAED9E9964967342808C6C332E02204</input>
+			<output>5A9F55C61A03D6A3196FFD6879CBCA02<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 211</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>C44B036035359A34B6AC7C19B105EC5C</key>
+			<input>5A9F55C61A03D6A3196FFD6879CBCA02</input>
+			<output>0FD872478223CDE765A62036EDD6F42F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 212</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>CB937127B71657D3D30A5C2F5CD31873</key>
+			<input>0FD872478223CDE765A62036EDD6F42F</input>
+			<output>965ED2AF7D26CDA8A8B7E7B2F1ADA768<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 213</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>5DCDA388CA309A7B7BBDBB9DAD7EBF1B</key>
+			<input>965ED2AF7D26CDA8A8B7E7B2F1ADA768</input>
+			<output>05599B8D42D92457605A69200C6DC0AA<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 214</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>5894380588E9BE2C1BE7D2BDA1137FB1</key>
+			<input>05599B8D42D92457605A69200C6DC0AA</input>
+			<output>3436A49EE590788F625A6FB44BF72FA3<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 215</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>6CA29C9B6D79C6A379BDBD09EAE45012</key>
+			<input>3436A49EE590788F625A6FB44BF72FA3</input>
+			<output>DB181195EFF35E307167BADA138A837A<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 216</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>B7BA8D0E828A989308DA07D3F96ED368</key>
+			<input>DB181195EFF35E307167BADA138A837A</input>
+			<output>45E06B534233447E3CB696C1DD179477<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 217</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>F25AE65DC0B9DCED346C91122479471F</key>
+			<input>45E06B534233447E3CB696C1DD179477</input>
+			<output>D2EDC4E2B4EDD671D984E8AA5BABAAD7<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 218</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>20B722BF74540A9CEDE879B87FD2EDC8</key>
+			<input>D2EDC4E2B4EDD671D984E8AA5BABAAD7</input>
+			<output>DB92F4E9F2DD6A61E20A79CFC82CD061<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 219</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>FB25D656868960FD0FE20077B7FE3DA9</key>
+			<input>DB92F4E9F2DD6A61E20A79CFC82CD061</input>
+			<output>79383629DF124FD94A1C36BECB711747<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 220</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>821DE07F599B2F2445FE36C97C8F2AEE</key>
+			<input>79383629DF124FD94A1C36BECB711747</input>
+			<output>3F3F592FB3DB51CF08B70E6F2174AB43<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 221</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>BD22B950EA407EEB4D4938A65DFB81AD</key>
+			<input>3F3F592FB3DB51CF08B70E6F2174AB43</input>
+			<output>D34FDA2917E9697118502CB7A6CAE07C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 222</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>6E6D6379FDA9179A55191411FB3161D1</key>
+			<input>D34FDA2917E9697118502CB7A6CAE07C</input>
+			<output>24D2C38E5C52A404DBE0D8BB6DA44AEE<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 223</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>4ABFA0F7A1FBB39E8EF9CCAA96952B3F</key>
+			<input>24D2C38E5C52A404DBE0D8BB6DA44AEE</input>
+			<output>2ED6A7503B3547C04E0B7B709218CD4A<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 224</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>646907A79ACEF45EC0F2B7DA048DE675</key>
+			<input>2ED6A7503B3547C04E0B7B709218CD4A</input>
+			<output>4F11BE7A8B5D1A04AB82F60000BC7B50<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 225</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>2B78B9DD1193EE5A6B7041DA04319D25</key>
+			<input>4F11BE7A8B5D1A04AB82F60000BC7B50</input>
+			<output>B98B51B76B262CB9ED157567A05770AF<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 226</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>92F3E86A7AB5C2E3866534BDA466ED8A</key>
+			<input>B98B51B76B262CB9ED157567A05770AF</input>
+			<output>D6CA5483F89D5AA01DBCFEBE30C26F5E<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 227</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>4439BCE9822898439BD9CA0394A482D4</key>
+			<input>D6CA5483F89D5AA01DBCFEBE30C26F5E</input>
+			<output>7706922EBA53937E287084C8FDFEB33F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 228</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>333F2EC7387B0B3DB3A94ECB695A31EB</key>
+			<input>7706922EBA53937E287084C8FDFEB33F</input>
+			<output>0F2DA3B8BFCB1046CA94EC9322320BF9<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 229</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>3C128D7F87B01B7B793DA2584B683A12</key>
+			<input>0F2DA3B8BFCB1046CA94EC9322320BF9</input>
+			<output>29CAD5CDC5A2834A5D533335FED2EA81<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 230</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>15D858B242129831246E916DB5BAD093</key>
+			<input>29CAD5CDC5A2834A5D533335FED2EA81</input>
+			<output>A48A2D319552BF02E84E4662E75884DB<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 231</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>B1527583D7402733CC20D70F52E25448</key>
+			<input>A48A2D319552BF02E84E4662E75884DB</input>
+			<output>334560ECD22BB9F660BC4FFAB13891C9<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 232</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>8217156F056B9EC5AC9C98F5E3DAC581</key>
+			<input>334560ECD22BB9F660BC4FFAB13891C9</input>
+			<output>DAAEB8436205DFB6688D9DE0A21A6B9D<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 233</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>58B9AD2C676E4173C411051541C0AE1C</key>
+			<input>DAAEB8436205DFB6688D9DE0A21A6B9D</input>
+			<output>E38798615C2158872704125A7CFC6540<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 234</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>BB3E354D3B4F19F4E315174F3D3CCB5C</key>
+			<input>E38798615C2158872704125A7CFC6540</input>
+			<output>BACB9EA5499A093F6595E8D1D5CF7E50<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 235</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>01F5ABE872D510CB8680FF9EE8F3B50C</key>
+			<input>BACB9EA5499A093F6595E8D1D5CF7E50</input>
+			<output>813B0D4AC4C2B8371A1A132927D24F62<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 236</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>80CEA6A2B617A8FC9C9AECB7CF21FA6E</key>
+			<input>813B0D4AC4C2B8371A1A132927D24F62</input>
+			<output>D1AD1AE650B377520EE19370D9E968A9<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 237</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>5163BC44E6A4DFAE927B7FC716C892C7</key>
+			<input>D1AD1AE650B377520EE19370D9E968A9</input>
+			<output>3CEC25102A51A5A4C26E7391590D54ED<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 238</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>6D8F9954CCF57A0A50150C564FC5C62A</key>
+			<input>3CEC25102A51A5A4C26E7391590D54ED</input>
+			<output>505FD54017E89E9FAA6376E399F2FF09<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 239</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>3DD04C14DB1DE495FA767AB5D6373923</key>
+			<input>505FD54017E89E9FAA6376E399F2FF09</input>
+			<output>1B45550B4E3AB908A2CC72FFFB38701A<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 240</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>2695191F95275D9D58BA084A2D0F4939</key>
+			<input>1B45550B4E3AB908A2CC72FFFB38701A</input>
+			<output>E2469D9D2F91E3AA88DC7970C94E7237<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 241</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>C4D38482BAB6BE37D066713AE4413B0E</key>
+			<input>E2469D9D2F91E3AA88DC7970C94E7237</input>
+			<output>9352C72F2B5093D1AF52BA959963F59B<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 242</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>578143AD91E62DE67F34CBAF7D22CE95</key>
+			<input>9352C72F2B5093D1AF52BA959963F59B</input>
+			<output>F26DE32F035B270BA42075574056564E<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 243</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>A5ECA08292BD0AEDDB14BEF83D7498DB</key>
+			<input>F26DE32F035B270BA42075574056564E</input>
+			<output>6AC08B3D91FC31A34B3A81F7C300587E<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 244</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>CF2C2BBF03413B4E902E3F0FFE74C0A5</key>
+			<input>6AC08B3D91FC31A34B3A81F7C300587E</input>
+			<output>E5E6455304C3B5E2349E2372D6E4B0B8<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 245</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>2ACA6EEC07828EACA4B01C7D2890701D</key>
+			<input>E5E6455304C3B5E2349E2372D6E4B0B8</input>
+			<output>90524F27C63CCA1E4CA9674381786C30<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 246</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>BA9821CBC1BE44B2E8197B3EA9E81C2D</key>
+			<input>90524F27C63CCA1E4CA9674381786C30</input>
+			<output>44625D68290415039E2C6C05B4954896<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 247</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>FEFA7CA3E8BA51B17635173B1D7D54BB</key>
+			<input>44625D68290415039E2C6C05B4954896</input>
+			<output>EC401B0D3780FDB4A3952706B07F6CEF<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 248</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>12BA67AEDF3AAC05D5A0303DAD023854</key>
+			<input>EC401B0D3780FDB4A3952706B07F6CEF</input>
+			<output>DCEDC88021F6FD1C61C08DAABF0E73BA<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 249</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>CE57AF2EFECC5119B460BD97120C4BEE</key>
+			<input>DCEDC88021F6FD1C61C08DAABF0E73BA</input>
+			<output>C15C85D8161B97DD61EB8B514CDCFFD5<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 250</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>0F0B2AF6E8D7C6C4D58B36C65ED0B43B</key>
+			<input>C15C85D8161B97DD61EB8B514CDCFFD5</input>
+			<output>B68B65E041C84433DEA4D9E15E9F98AB<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 251</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>B9804F16A91F82F70B2FEF27004F2C90</key>
+			<input>B68B65E041C84433DEA4D9E15E9F98AB</input>
+			<output>8122505A5B6F8D985A8D9D7E9E2FF4F3<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 252</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>38A21F4CF2700F6F51A272599E60D863</key>
+			<input>8122505A5B6F8D985A8D9D7E9E2FF4F3</input>
+			<output>8F72F8FFA71D24C900D2BBE8784B9C48<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 253</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>B7D0E7B3556D2BA65170C9B1E62B442B</key>
+			<input>8F72F8FFA71D24C900D2BBE8784B9C48</input>
+			<output>1D541D794774264680CF3689365CD845<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 254</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>AA84FACA12190DE0D1BFFF38D0779C6E</key>
+			<input>1D541D794774264680CF3689365CD845</input>
+			<output>CBAE9336C5C1F038176B5123CC205BF7<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 255</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>612A69FCD7D8FDD8C6D4AE1B1C57C799</key>
+			<input>CBAE9336C5C1F038176B5123CC205BF7</input>
+			<output>C4CE2DC1BAE3028392BD8A005A360F56<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 256</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>A5E4443D6D3BFF5B5469241B4661C8CF</key>
+			<input>C4CE2DC1BAE3028392BD8A005A360F56</input>
+			<output>549B7075DE975B759A6DAE7D761CDC01<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 257</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>F17F3448B3ACA42ECE048A66307D14CE</key>
+			<input>549B7075DE975B759A6DAE7D761CDC01</input>
+			<output>2338FFEEE2A391B2DAFD1EBB0ECF19E3<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 258</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>D247CBA6510F359C14F994DD3EB20D2D</key>
+			<input>2338FFEEE2A391B2DAFD1EBB0ECF19E3</input>
+			<output>B27705C512C6849DE6012A490F834F36<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 259</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>6030CE6343C9B101F2F8BE943131421B</key>
+			<input>B27705C512C6849DE6012A490F834F36</input>
+			<output>33A239E0426921192F8C89C6FBCDD23C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 260</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>5392F78301A09018DD743752CAFC9027</key>
+			<input>33A239E0426921192F8C89C6FBCDD23C</input>
+			<output>90CCBE46338C7E9FB25409F82BF81234<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 261</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>C35E49C5322CEE876F203EAAE1048213</key>
+			<input>90CCBE46338C7E9FB25409F82BF81234</input>
+			<output>873D1CAF1F2C2A56BEE419FE8A01489F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 262</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>4463556A2D00C4D1D1C427546B05CA8C</key>
+			<input>873D1CAF1F2C2A56BEE419FE8A01489F</input>
+			<output>1E9ED35EB85ADD9AB88B6D85299FD8E7<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 263</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>5AFD8634955A194B694F4AD1429A126B</key>
+			<input>1E9ED35EB85ADD9AB88B6D85299FD8E7</input>
+			<output>36871F8BD629B27EEDE04E086FC539C4<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 264</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>6C7A99BF4373AB3584AF04D92D5F2BAF</key>
+			<input>36871F8BD629B27EEDE04E086FC539C4</input>
+			<output>10D10983F98D799235E8142BD67C1FD2<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 265</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>7CAB903CBAFED2A7B14710F2FB23347D</key>
+			<input>10D10983F98D799235E8142BD67C1FD2</input>
+			<output>193CEDEEE0410DE79F1B2FC077B14199<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 266</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>65977DD25ABFDF402E5C3F328C9275E4</key>
+			<input>193CEDEEE0410DE79F1B2FC077B14199</input>
+			<output>1EC99AD6EEF155B6B5F61452D2E73A7D<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 267</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>7B5EE704B44E8AF69BAA2B605E754F99</key>
+			<input>1EC99AD6EEF155B6B5F61452D2E73A7D</input>
+			<output>92DA7D1858210C87B32C6FEA1CC6A0E6<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 268</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>E9849A1CEC6F86712886448A42B3EF7F</key>
+			<input>92DA7D1858210C87B32C6FEA1CC6A0E6</input>
+			<output>A06C4ACCA35DE95CFAD365349969271D<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 269</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>49E8D0D04F326F2DD25521BEDBDAC862</key>
+			<input>A06C4ACCA35DE95CFAD365349969271D</input>
+			<output>4B892CB63A35A3DED0F43BA4309CBB2E<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 270</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>0261FC667507CCF302A11A1AEB46734C</key>
+			<input>4B892CB63A35A3DED0F43BA4309CBB2E</input>
+			<output>E05F73446706A68A5099088279B58064<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 271</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>E23E8F2212016A795238129892F3F328</key>
+			<input>E05F73446706A68A5099088279B58064</input>
+			<output>542D8314299AF433EC549EBFFCF2B3D9<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 272</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>B6130C363B9B9E4ABE6C8C276E0140F1</key>
+			<input>542D8314299AF433EC549EBFFCF2B3D9</input>
+			<output>4935A91590E8A70D9F75489F6D5B70E7<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 273</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>FF26A523AB7339472119C4B8035A3016</key>
+			<input>4935A91590E8A70D9F75489F6D5B70E7</input>
+			<output>C3A4940C6EC7D0E2F11C3CF60AB2C31D<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 274</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>3C82312FC5B4E9A5D005F84E09E8F30B</key>
+			<input>C3A4940C6EC7D0E2F11C3CF60AB2C31D</input>
+			<output>F109AC488D917B5FC28BA28C9720A46F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 275</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>CD8B9D67482592FA128E5AC29EC85764</key>
+			<input>F109AC488D917B5FC28BA28C9720A46F</input>
+			<output>65234934641FA21D8C3A3804D09208F3<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 276</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>A8A8D4532C3A30E79EB462C64E5A5F97</key>
+			<input>65234934641FA21D8C3A3804D09208F3</input>
+			<output>DE015A71CB9C9A3B11C2C9B744B6B5ED<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 277</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>76A98E22E7A6AADC8F76AB710AECEA7A</key>
+			<input>DE015A71CB9C9A3B11C2C9B744B6B5ED</input>
+			<output>973D0C12D7826B45CC7824EF09D82BAB<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 278</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>E19482303024C199430E8F9E0334C1D1</key>
+			<input>973D0C12D7826B45CC7824EF09D82BAB</input>
+			<output>EBD2D23B9D08F63385A0D21FF76FAC33<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 279</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>0A46500BAD2C37AAC6AE5D81F45B6DE2</key>
+			<input>EBD2D23B9D08F63385A0D21FF76FAC33</input>
+			<output>A7A460A555E4C4E53457AE00FC0D9BA8<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 280</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>ADE230AEF8C8F34FF2F9F3810856F64A</key>
+			<input>A7A460A555E4C4E53457AE00FC0D9BA8</input>
+			<output>56F0329103B5238E03C781E2AB0E7A2D<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 281</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>FB12023FFB7DD0C1F13E7263A3588C67</key>
+			<input>56F0329103B5238E03C781E2AB0E7A2D</input>
+			<output>0D5710472E980CF439109BAC3EAB19A8<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 282</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>F6451278D5E5DC35C82EE9CF9DF395CF</key>
+			<input>0D5710472E980CF439109BAC3EAB19A8</input>
+			<output>063CB786AD88ECADC4EAC8FE39A84286<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 283</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>F079A5FE786D30980CC42131A45BD749</key>
+			<input>063CB786AD88ECADC4EAC8FE39A84286</input>
+			<output>825BD1E57F0E16D744C2A69233C8654B<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 284</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>7222741B0763264F480687A39793B202</key>
+			<input>825BD1E57F0E16D744C2A69233C8654B</input>
+			<output>8EA54322F26DC051F831A5CBBD07A73C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 285</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>FC873739F50EE61EB03722682A94153E</key>
+			<input>8EA54322F26DC051F831A5CBBD07A73C</input>
+			<output>803F3194726F4D5C5BD80D12D1284F0A<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 286</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>7CB806AD8761AB42EBEF2F7AFBBC5A34</key>
+			<input>803F3194726F4D5C5BD80D12D1284F0A</input>
+			<output>5A1D90E682989AB1A84F01422CE69F82<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 287</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>26A5964B05F931F343A02E38D75AC5B6</key>
+			<input>5A1D90E682989AB1A84F01422CE69F82</input>
+			<output>3F5AFCD41950EEFBC3D7CEF744F0C060<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 288</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>19FF6A9F1CA9DF088077E0CF93AA05D6</key>
+			<input>3F5AFCD41950EEFBC3D7CEF744F0C060</input>
+			<output>2EE3691BD58D7645DA91CD4943F10157<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 289</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>371C0384C924A94D5AE62D86D05B0481</key>
+			<input>2EE3691BD58D7645DA91CD4943F10157</input>
+			<output>BEF4B188364E87A9E49855CC68C02A50<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 290</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>89E8B20CFF6A2EE4BE7E784AB89B2ED1</key>
+			<input>BEF4B188364E87A9E49855CC68C02A50</input>
+			<output>2263387A7A52AB73704774D07EA5AA69<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 291</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>AB8B8A7685388597CE390C9AC63E84B8</key>
+			<input>2263387A7A52AB73704774D07EA5AA69</input>
+			<output>84E68DA3E9D999016D0B734DAE8C128B<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 292</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>2F6D07D56CE11C96A3327FD768B29633</key>
+			<input>84E68DA3E9D999016D0B734DAE8C128B</input>
+			<output>978F5F49D7BA1189F16FC0635231DF5F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 293</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>B8E2589CBB5B0D1F525DBFB43A83496C</key>
+			<input>978F5F49D7BA1189F16FC0635231DF5F</input>
+			<output>FE59B2F2BDE0AB5E1700A1771EDF8663<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 294</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>46BBEA6E06BBA641455D1EC3245CCF0F</key>
+			<input>FE59B2F2BDE0AB5E1700A1771EDF8663</input>
+			<output>A94B982DC50C338E25ABFB4113F904A8<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 295</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>EFF07243C3B795CF60F6E58237A5CBA7</key>
+			<input>A94B982DC50C338E25ABFB4113F904A8</input>
+			<output>79A5BB282D8247192AC9F8A3DB431EA1<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 296</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>9655C96BEE35D2D64A3F1D21ECE6D506</key>
+			<input>79A5BB282D8247192AC9F8A3DB431EA1</input>
+			<output>FC339DA0D4593CD79D407CD6F1E1E7ED<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 297</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>6A6654CB3A6CEE01D77F61F71D0732EB</key>
+			<input>FC339DA0D4593CD79D407CD6F1E1E7ED</input>
+			<output>08EAB51652B85C6E9BC07B718E57E144<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 298</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>628CE1DD68D4B26F4CBF1A869350D3AF</key>
+			<input>08EAB51652B85C6E9BC07B718E57E144</input>
+			<output>9EA63934609F947AAA926443D0D5BEFA<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 299</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>FC2AD8E9084B2615E62D7EC543856D55</key>
+			<input>9EA63934609F947AAA926443D0D5BEFA</input>
+			<output>7FE121C45E158FF1F527BAFDDBEAE223<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 300</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>83CBF92D565EA9E4130AC438986F8F76</key>
+			<input>7FE121C45E158FF1F527BAFDDBEAE223</input>
+			<output>B1B70D5AD08BE5DCB8126D8700F25969<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 301</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>327CF47786D54C38AB18A9BF989DD61F</key>
+			<input>B1B70D5AD08BE5DCB8126D8700F25969</input>
+			<output>389812FA2D4A6419380A2AC8961CCDA6<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 302</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>0AE4E68DAB9F2821931283770E811BB9</key>
+			<input>389812FA2D4A6419380A2AC8961CCDA6</input>
+			<output>CEF20323EE53A2BA576F4DF86A7AC078<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 303</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>C416E5AE45CC8A9BC47DCE8F64FBDBC1</key>
+			<input>CEF20323EE53A2BA576F4DF86A7AC078</input>
+			<output>A65611BF1901C940B883D746F1694278<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 304</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>6240F4115CCD43DB7CFE19C9959299B9</key>
+			<input>A65611BF1901C940B883D746F1694278</input>
+			<output>7E43C2A99D11C656351B96CECD400E75<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 305</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>1C0336B8C1DC858D49E58F0758D297CC</key>
+			<input>7E43C2A99D11C656351B96CECD400E75</input>
+			<output>7DE74D06851AD329C60DD1934C34CBE4<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 306</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>61E47BBE44C656A48FE85E9414E65C28</key>
+			<input>7DE74D06851AD329C60DD1934C34CBE4</input>
+			<output>A99B66FE5825C895DCC6BE718AB8BE34<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 307</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>C87F1D401CE39E31532EE0E59E5EE21C</key>
+			<input>A99B66FE5825C895DCC6BE718AB8BE34</input>
+			<output>4752E30DDA44BA393EF197270C111AB7<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 308</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>8F2DFE4DC6A724086DDF77C2924FF8AB</key>
+			<input>4752E30DDA44BA393EF197270C111AB7</input>
+			<output>5A3FC324D12AC30FE5BBE87FC4B655F0<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 309</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>D5123D69178DE70788649FBD56F9AD5B</key>
+			<input>5A3FC324D12AC30FE5BBE87FC4B655F0</input>
+			<output>79061587E9D9FEEF52F753AE9BCDC4B1<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 310</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>AC1428EEFE5419E8DA93CC13CD3469EA</key>
+			<input>79061587E9D9FEEF52F753AE9BCDC4B1</input>
+			<output>86C32E69874EAA0D103581199AFA813A<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 311</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>2AD70687791AB3E5CAA64D0A57CEE8D0</key>
+			<input>86C32E69874EAA0D103581199AFA813A</input>
+			<output>82A924A5928570E29D18DE200F8558DD<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 312</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>A87E2222EB9FC30757BE932A584BB00D</key>
+			<input>82A924A5928570E29D18DE200F8558DD</input>
+			<output>2D3E0ECCC1FEA93736BD205A5217D830<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 313</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>85402CEE2A616A306103B3700A5C683D</key>
+			<input>2D3E0ECCC1FEA93736BD205A5217D830</input>
+			<output>52FA0FCF771191A4A4C4E48C7B11DC1F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 314</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>D7BA23215D70FB94C5C757FC714DB422</key>
+			<input>52FA0FCF771191A4A4C4E48C7B11DC1F</input>
+			<output>C2A47519AACA187B97C884D20ED1D825<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 315</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>151E5638F7BAE3EF520FD32E7F9C6C07</key>
+			<input>C2A47519AACA187B97C884D20ED1D825</input>
+			<output>66F1D0799F3C473978C189F745695293<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 316</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>73EF86416886A4D62ACE5AD93AF53E94</key>
+			<input>66F1D0799F3C473978C189F745695293</input>
+			<output>803361A1428EAC3E134B0726E5CF0754<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 317</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>F3DCE7E02A0808E839855DFFDF3A39C0</key>
+			<input>803361A1428EAC3E134B0726E5CF0754</input>
+			<output>2CC85CEDEE03D7AB279D766D3F2BADF4<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 318</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>DF14BB0DC40BDF431E182B92E0119434</key>
+			<input>2CC85CEDEE03D7AB279D766D3F2BADF4</input>
+			<output>706626C1CE6731DD4DBA263C4D7EAB67<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 319</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>AF729DCC0A6CEE9E53A20DAEAD6F3F53</key>
+			<input>706626C1CE6731DD4DBA263C4D7EAB67</input>
+			<output>BD7A59659E3774B85465C91740017628<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 320</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>1208C4A9945B9A2607C7C4B9ED6E497B</key>
+			<input>BD7A59659E3774B85465C91740017628</input>
+			<output>F1778330059467556D08223682EC32AA<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 321</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>E37F479991CFFD736ACFE68F6F827BD1</key>
+			<input>F1778330059467556D08223682EC32AA</input>
+			<output>7B3C6979DCEE500E3FBB2CF4E17B0A3B<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 322</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>98432EE04D21AD7D5574CA7B8EF971EA</key>
+			<input>7B3C6979DCEE500E3FBB2CF4E17B0A3B</input>
+			<output>AFEBC6E81B90C3D82ECE26D788AB2412<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 323</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>37A8E80856B16EA57BBAECAC065255F8</key>
+			<input>AFEBC6E81B90C3D82ECE26D788AB2412</input>
+			<output>E4087042AB32B9C43128AADACB4F7FA6<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 324</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>D3A0984AFD83D7614A924676CD1D2A5E</key>
+			<input>E4087042AB32B9C43128AADACB4F7FA6</input>
+			<output>07E1230BC456A3DCE7DF8A4EF7265BC8<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 325</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>D441BB4139D574BDAD4DCC383A3B7196</key>
+			<input>07E1230BC456A3DCE7DF8A4EF7265BC8</input>
+			<output>88F0C30172B9A0EA8CD657CE6847AC94<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 326</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>5CB178404B6CD457219B9BF6527CDD02</key>
+			<input>88F0C30172B9A0EA8CD657CE6847AC94</input>
+			<output>710FE26B2DAB5A12D147D6446732B272<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 327</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>2DBE9A2B66C78E45F0DC4DB2354E6F70</key>
+			<input>710FE26B2DAB5A12D147D6446732B272</input>
+			<output>9C30630A9ADF9B4EBF099452AB75D14A<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 328</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>B18EF921FC18150B4FD5D9E09E3BBE3A</key>
+			<input>9C30630A9ADF9B4EBF099452AB75D14A</input>
+			<output>77526DA4D9AE9FD4347AAC10EA4728AA<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 329</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>C6DC948525B68ADF7BAF75F0747C9690</key>
+			<input>77526DA4D9AE9FD4347AAC10EA4728AA</input>
+			<output>A9EDBD1A190BC67AC91D27BB7F5A1BD1<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 330</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>6F31299F3CBD4CA5B2B2524B0B268D41</key>
+			<input>A9EDBD1A190BC67AC91D27BB7F5A1BD1</input>
+			<output>B8700A2BAEABCB0C67251C26F82ACEF7<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 331</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>D74123B4921687A9D5974E6DF30C43B6</key>
+			<input>B8700A2BAEABCB0C67251C26F82ACEF7</input>
+			<output>FF5F30BA14A8C49276B040B00864BE29<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 332</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>281E130E86BE433BA3270EDDFB68FD9F</key>
+			<input>FF5F30BA14A8C49276B040B00864BE29</input>
+			<output>B448E87BE1E1A41FF94353F6018929C8<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 333</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>9C56FB75675FE7245A645D2BFAE1D457</key>
+			<input>B448E87BE1E1A41FF94353F6018929C8</input>
+			<output>9F59D422CB9265C17732E0B16DEF352A<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 334</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>030F2F57ACCD82E52D56BD9A970EE17D</key>
+			<input>9F59D422CB9265C17732E0B16DEF352A</input>
+			<output>06FD7DB54E62FAC3C511F4DE5C1E93B9<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 335</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>05F252E2E2AF7826E8474944CB1072C4</key>
+			<input>06FD7DB54E62FAC3C511F4DE5C1E93B9</input>
+			<output>0DDA3E4AD600F8D3EA6B06AE465DF3BC<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 336</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>08286CA834AF80F5022C4FEA8D4D8178</key>
+			<input>0DDA3E4AD600F8D3EA6B06AE465DF3BC</input>
+			<output>17305FA95D26FB72995165DA8A07FCDF<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 337</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>1F18330169897B879B7D2A30074A7DA7</key>
+			<input>17305FA95D26FB72995165DA8A07FCDF</input>
+			<output>12B56FEBEE2773A2258FC6E0F9115728<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 338</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>0DAD5CEA87AE0825BEF2ECD0FE5B2A8F</key>
+			<input>12B56FEBEE2773A2258FC6E0F9115728</input>
+			<output>36440D1A561E8F77B89DF6EA3D8EC7F5<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 339</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>3BE951F0D1B08752066F1A3AC3D5ED7A</key>
+			<input>36440D1A561E8F77B89DF6EA3D8EC7F5</input>
+			<output>752C4D620413C0F4A313CF37EB34CFDD<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 340</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>4EC51C92D5A347A6A57CD50D28E122A7</key>
+			<input>752C4D620413C0F4A313CF37EB34CFDD</input>
+			<output>B2A282D0B6A9EB8B7B7C962675AEC843<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 341</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>FC679E42630AAC2DDE00432B5D4FEAE4</key>
+			<input>B2A282D0B6A9EB8B7B7C962675AEC843</input>
+			<output>D0C3D785B5507C1460DDC44B123ED5FE<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 342</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>2CA449C7D65AD039BEDD87604F713F1A</key>
+			<input>D0C3D785B5507C1460DDC44B123ED5FE</input>
+			<output>4DAE52B77F8001CBAB8D1949E73DD578<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 343</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>610A1B70A9DAD1F215509E29A84CEA62</key>
+			<input>4DAE52B77F8001CBAB8D1949E73DD578</input>
+			<output>29AA82197E8158D88FFFE5BEAFC0C967<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 344</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>48A09969D75B892A9AAF7B97078C2305</key>
+			<input>29AA82197E8158D88FFFE5BEAFC0C967</input>
+			<output>58C665AA97945F7D3AA23BE8B8DDA20D<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 345</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>1066FCC340CFD657A00D407FBF518108</key>
+			<input>58C665AA97945F7D3AA23BE8B8DDA20D</input>
+			<output>5A104A7093DB3308EB4009829B5E26B1<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 346</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>4A76B6B3D314E55F4B4D49FD240FA7B9</key>
+			<input>5A104A7093DB3308EB4009829B5E26B1</input>
+			<output>8C8EA0BEE4640F6BB6D906A7A6EA3810<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 347</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>C6F8160D3770EA34FD944F5A82E59FA9</key>
+			<input>8C8EA0BEE4640F6BB6D906A7A6EA3810</input>
+			<output>1517ED0B6D4EC3B85479AB28DF48BFDB<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 348</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>D3EFFB065A3E298CA9EDE4725DAD2072</key>
+			<input>1517ED0B6D4EC3B85479AB28DF48BFDB</input>
+			<output>9546CCBB8094E65E464C38E0809552E3<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 349</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>46A937BDDAAACFD2EFA1DC92DD387291</key>
+			<input>9546CCBB8094E65E464C38E0809552E3</input>
+			<output>7D5AD8DEDB92F80D2B28C3458843AE84<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 350</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>3BF3EF63013837DFC4891FD7557BDC15</key>
+			<input>7D5AD8DEDB92F80D2B28C3458843AE84</input>
+			<output>E62676E27ED61D0FD7DFE170E0938361<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 351</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>DDD599817FEE2AD01356FEA7B5E85F74</key>
+			<input>E62676E27ED61D0FD7DFE170E0938361</input>
+			<output>DA9865198B9463681C66FB96C2C1DAA5<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 352</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>074DFC98F47A49B80F300531772985D1</key>
+			<input>DA9865198B9463681C66FB96C2C1DAA5</input>
+			<output>62CD9DAA9487F34AF168E6E20A0684CF<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 353</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>6580613260FDBAF2FE58E3D37D2F011E</key>
+			<input>62CD9DAA9487F34AF168E6E20A0684CF</input>
+			<output>10BA978FDABA586691946145BE246D3C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 354</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>753AF6BDBA47E2946FCC8296C30B6C22</key>
+			<input>10BA978FDABA586691946145BE246D3C</input>
+			<output>13443CF524213B08776D7F5169B79C0F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 355</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>667ECA489E66D99C18A1FDC7AABCF02D</key>
+			<input>13443CF524213B08776D7F5169B79C0F</input>
+			<output>6507336876ED4F6DB3E35D6CF5A89A2B<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 356</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>0379F920E88B96F1AB42A0AB5F146A06</key>
+			<input>6507336876ED4F6DB3E35D6CF5A89A2B</input>
+			<output>B84902B5CBBC6DB8111CA45BC5F99991<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 357</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>BB30FB952337FB49BA5E04F09AEDF397</key>
+			<input>B84902B5CBBC6DB8111CA45BC5F99991</input>
+			<output>20973140A999B8AD9982B9B706F7C32E<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 358</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>9BA7CAD58AAE43E423DCBD479C1A30B9</key>
+			<input>20973140A999B8AD9982B9B706F7C32E</input>
+			<output>EE7FF1177C5E080AA03854A2A819565E<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 359</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>75D83BC2F6F04BEE83E4E9E5340366E7</key>
+			<input>EE7FF1177C5E080AA03854A2A819565E</input>
+			<output>7A4F74EC2181269AC17D0E48A4DA2A88<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 360</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>0F974F2ED7716D744299E7AD90D94C6F</key>
+			<input>7A4F74EC2181269AC17D0E48A4DA2A88</input>
+			<output>5B7A7751F0FD91E203A14CE518838DD7<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 361</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>54ED387F278CFC964138AB48885AC1B8</key>
+			<input>5B7A7751F0FD91E203A14CE518838DD7</input>
+			<output>71319FDDBACB038354A37A41F1910F94<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 362</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>25DCA7A29D47FF15159BD10979CBCE2C</key>
+			<input>71319FDDBACB038354A37A41F1910F94</input>
+			<output>81AC58FD503FC3AA78199168AE2C9085<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 363</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>A470FF5FCD783CBF6D824061D7E75EA9</key>
+			<input>81AC58FD503FC3AA78199168AE2C9085</input>
+			<output>1F668F512038142C1155B950B0B040EC<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 364</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>BB16700EED4028937CD7F93167571E45</key>
+			<input>1F668F512038142C1155B950B0B040EC</input>
+			<output>6B27D7791E9B14A5AC3D9582DBDBD929<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 365</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>D031A777F3DB3C36D0EA6CB3BC8CC76C</key>
+			<input>6B27D7791E9B14A5AC3D9582DBDBD929</input>
+			<output>9B7151FDC4E135EE93DAB2D9EB74D59C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 366</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>4B40F68A373A09D84330DE6A57F812F0</key>
+			<input>9B7151FDC4E135EE93DAB2D9EB74D59C</input>
+			<output>1F199945BCFA624B1AD3DCBBD95291B2<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 367</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>54596FCF8BC06B9359E302D18EAA8342</key>
+			<input>1F199945BCFA624B1AD3DCBBD95291B2</input>
+			<output>E2C82FA8FE98F26283A6E0B75D0A58C6<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 368</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>B6914067755899F1DA45E266D3A0DB84</key>
+			<input>E2C82FA8FE98F26283A6E0B75D0A58C6</input>
+			<output>5A240FFB99C3594C273B51CACF01B28B<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 369</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>ECB54F9CEC9BC0BDFD7EB3AC1CA1690F</key>
+			<input>5A240FFB99C3594C273B51CACF01B28B</input>
+			<output>D01847391534848FB102CA85C97749B1<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 370</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>3CAD08A5F9AF44324C7C7929D5D620BE</key>
+			<input>D01847391534848FB102CA85C97749B1</input>
+			<output>DC5CF60EBDF4A8DDDDF997E7ACA67515<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 371</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>E0F1FEAB445BECEF9185EECE797055AB</key>
+			<input>DC5CF60EBDF4A8DDDDF997E7ACA67515</input>
+			<output>749E3815FE305B307D9F4DB6A7E4658C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 372</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>946FC6BEBA6BB7DFEC1AA378DE943027</key>
+			<input>749E3815FE305B307D9F4DB6A7E4658C</input>
+			<output>8152C1E676A4FC8B0CD093FEB4B51615<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 373</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>153D0758CCCF4B54E0CA30866A212632</key>
+			<input>8152C1E676A4FC8B0CD093FEB4B51615</input>
+			<output>0847044668710F6E5C93DD248AC921BA<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 374</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>1D7A031EA4BE443ABC59EDA2E0E80788</key>
+			<input>0847044668710F6E5C93DD248AC921BA</input>
+			<output>1D6C3EFB413A59AB40F34CEFBFF25C17<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 375</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>00163DE5E5841D91FCAAA14D5F1A5B9F</key>
+			<input>1D6C3EFB413A59AB40F34CEFBFF25C17</input>
+			<output>5D7C206A79D61868FFE7AA28044996D3<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 376</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>5D6A1D8F9C5205F9034D0B655B53CD4C</key>
+			<input>5D7C206A79D61868FFE7AA28044996D3</input>
+			<output>78B4DE3B84D5D1010245CA3077A41BAC<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 377</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>25DEC3B41887D4F80108C1552CF7D6E0</key>
+			<input>78B4DE3B84D5D1010245CA3077A41BAC</input>
+			<output>9E003AACEDECDBB077BDE832465F40C7<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 378</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>BBDEF918F56B0F4876B529676AA89627</key>
+			<input>9E003AACEDECDBB077BDE832465F40C7</input>
+			<output>EEFF9E6C73E6DC5432AA446385AA1499<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 379</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>55216774868DD31C441F6D04EF0282BE</key>
+			<input>EEFF9E6C73E6DC5432AA446385AA1499</input>
+			<output>03252A19E37D9F040C56E4D712982798<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 380</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>56044D6D65F04C18484989D3FD9AA526</key>
+			<input>03252A19E37D9F040C56E4D712982798</input>
+			<output>CF59A752BA0E14BE23AFD09437B39C65<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 381</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>995DEA3FDFFE58A66BE65947CA293943</key>
+			<input>CF59A752BA0E14BE23AFD09437B39C65</input>
+			<output>8B08FB7974A77167DFB234F57C8DFFE1<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 382</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>12551146AB5929C1B4546DB2B6A4C6A2</key>
+			<input>8B08FB7974A77167DFB234F57C8DFFE1</input>
+			<output>DD2A93C1106CFDAE4A1684EE02C82FE2<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 383</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>CF7F8287BB35D46FFE42E95CB46CE940</key>
+			<input>DD2A93C1106CFDAE4A1684EE02C82FE2</input>
+			<output>38696128584F60636354E9F802590391<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 384</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>F716E3AFE37AB40C9D1600A4B635EAD1</key>
+			<input>38696128584F60636354E9F802590391</input>
+			<output>7E552E3AD28729F642D590E3C289D598<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 385</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>8943CD9531FD9DFADFC3904774BC3F49</key>
+			<input>7E552E3AD28729F642D590E3C289D598</input>
+			<output>17A40392AA00D7B5A6E9F59007E60C22<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 386</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>9EE7CE079BFD4A4F792A65D7735A336B</key>
+			<input>17A40392AA00D7B5A6E9F59007E60C22</input>
+			<output>A048D6755C2AD24DD8833DDCEB145BA6<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 387</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>3EAF1872C7D79802A1A9580B984E68CD</key>
+			<input>A048D6755C2AD24DD8833DDCEB145BA6</input>
+			<output>2F1CCE852396986EC4B2852E5F684CD2<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 388</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>11B3D6F7E441006C651BDD25C726241F</key>
+			<input>2F1CCE852396986EC4B2852E5F684CD2</input>
+			<output>2C28BD1E98DA63B95C0C81202BBCFE39<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 389</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>3D9B6BE97C9B63D539175C05EC9ADA26</key>
+			<input>2C28BD1E98DA63B95C0C81202BBCFE39</input>
+			<output>6AE097A8E685B58BA2309B59D6A9EB2B<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 390</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>577BFC419A1ED65E9B27C75C3A33310D</key>
+			<input>6AE097A8E685B58BA2309B59D6A9EB2B</input>
+			<output>6EFC01751753999843A9BB6749097E0C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 391</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>3987FD348D4D4FC6D88E7C3B733A4F01</key>
+			<input>6EFC01751753999843A9BB6749097E0C</input>
+			<output>6B6B75F78016052E4F89C73EA826D2F2<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 392</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>52EC88C30D5B4AE89707BB05DB1C9DF3</key>
+			<input>6B6B75F78016052E4F89C73EA826D2F2</input>
+			<output>1E9890E8F0AABCBFB8C4EDAEA0F563EF<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 393</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>4C74182BFDF1F6572FC356AB7BE9FE1C</key>
+			<input>1E9890E8F0AABCBFB8C4EDAEA0F563EF</input>
+			<output>143ED9FE6FD7DFB822C31DE8A3E868A9<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 394</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>584AC1D5922629EF0D004B43D80196B5</key>
+			<input>143ED9FE6FD7DFB822C31DE8A3E868A9</input>
+			<output>9C2834AA5C95F2874DC6B267C0469E14<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 395</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>C462F57FCEB3DB6840C6F924184708A1</key>
+			<input>9C2834AA5C95F2874DC6B267C0469E14</input>
+			<output>0720377F673352693EE2EF76D4FCFB0F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 396</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>C342C200A98089017E241652CCBBF3AE</key>
+			<input>0720377F673352693EE2EF76D4FCFB0F</input>
+			<output>E83ED303F4B0ABF675C7BBC470B924FE<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 397</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>2B7C11035D3022F70BE3AD96BC02D750</key>
+			<input>E83ED303F4B0ABF675C7BBC470B924FE</input>
+			<output>D87ADD68CBCAEA46DFFF99AE3723BC94<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 398</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>F306CC6B96FAC8B1D41C34388B216BC4</key>
+			<input>D87ADD68CBCAEA46DFFF99AE3723BC94</input>
+			<output>2C290AE7C65B6E5BBAA32DE577DBA343<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 399</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>DF2FC68C50A1A6EA6EBF19DDFCFAC887</key>
+			<input>2C290AE7C65B6E5BBAA32DE577DBA343</input>
+			<output>A04377ABE259B0D0B5BA2D40A501971B<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tsymmetric/scripts/AESMonteCarloEncryptECB192.txt	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,6400 @@
+<action>
+	<actionname>AES ECB MonteCarlo ENC 0</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>F3F6752AE8D7831138F041560631B114<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 1</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>AAFE47EE82411A2BF3F6752AE8D7831138F041560631B114</key>
+			<input>F3F6752AE8D7831138F041560631B114</input>
+			<output>77BA00ED5412DFF27C8ED91F3C376172<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 2</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>A92B07597B52873C844C75C7BCC55CE3447E98493A06D066</key>
+			<input>77BA00ED5412DFF27C8ED91F3C376172</input>
+			<output>2D92DE893574463412BD7D121A94952F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 3</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>5FD632DA76165EDBA9DEAB4E89B11AD756C3E55B20924549</key>
+			<input>2D92DE893574463412BD7D121A94952F</input>
+			<output>96650F835912F5E748422727802C6CE1<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 4</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>984A4BEC5D3474103FBBA4CDD0A3EF301E81C27CA0BE29A8</key>
+			<input>96650F835912F5E748422727802C6CE1</input>
+			<output>5FCCD4B5F125ADC5B85A56DB32283732<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 5</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>6B7EDEEAC755885F60777078218642F5A6DB94A792961E9A</key>
+			<input>5FCCD4B5F125ADC5B85A56DB32283732</input>
+			<output>EA5B1DAE2E4F9FD254A2CC28E128EB9B<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 6</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>CA5585D8C9727F208A2C6DD60FC9DD27F279588F73BEF501</key>
+			<input>EA5B1DAE2E4F9FD254A2CC28E128EB9B</input>
+			<output>BB87C0FF5DB4B2A593B93398407F823A<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 7</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>BADA7C0D4A0CDD4631ABAD29527D6F8261C06B1733C1773B</key>
+			<input>BB87C0FF5DB4B2A593B93398407F823A</input>
+			<output>D5AF7D56281F86E3E079BE6B9465DBB4<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 8</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>FF98AB620A203FFCE404D07F7A62E96181B9D57CA7A4AC8F</key>
+			<input>D5AF7D56281F86E3E079BE6B9465DBB4</input>
+			<output>511331CCA62B067CAC47475800EE33CD<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 9</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>1186A7F46656EA07B517E1B3DC49EF1D2DFE9224A74A9F42</key>
+			<input>511331CCA62B067CAC47475800EE33CD</input>
+			<output>64ACDC3579D7871644DD585C582AF3A2<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 10</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>313ADFF9712EABE4D1BB3D86A59E680B6923CA78FF606CE0</key>
+			<input>64ACDC3579D7871644DD585C582AF3A2</input>
+			<output>EA3C45FB8A6E548DAB14BAE07966246C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 11</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>DDABAC02BE6C40493B87787D2FF03C86C23770988606488C</key>
+			<input>EA3C45FB8A6E548DAB14BAE07966246C</input>
+			<output>6BC276C465C9ADBE900049A5B58D2DCB<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 12</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>9A9F7E267C2BFCD150450EB94A3991385237393D338B6547</key>
+			<input>6BC276C465C9ADBE900049A5B58D2DCB</input>
+			<output>E2F0FFA8D6DF327CA0FB80A325B21931<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 13</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>80246B9FB6224226B2B5F1119CE6A344F2CCB99E16397C76</key>
+			<input>E2F0FFA8D6DF327CA0FB80A325B21931</input>
+			<output>ACEE4C9B8A00A7760DD9CD2F6C6DFA8C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 14</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>60CDC3E8265B71E81E5BBD8A16E60432FF1574B17A5486FA</key>
+			<input>ACEE4C9B8A00A7760DD9CD2F6C6DFA8C</input>
+			<output>9579E43690FD2800FED810F7442D366B<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 15</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>9DEC584DB87D63F48B2259BC861B2C3201CD64463E79B091</key>
+			<input>9579E43690FD2800FED810F7442D366B</input>
+			<output>72D4D064851A050D415FC94E3FBB6A1C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 16</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>BBC1ED636907611EF9F689D80301293F4092AD0801C2DA8D</key>
+			<input>72D4D064851A050D415FC94E3FBB6A1C</input>
+			<output>0CCC3B9B35CE3584D7B78C14905BEE55<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 17</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>AE398529289F7994F53AB24336CF1CBB9725211C919934D8</key>
+			<input>0CCC3B9B35CE3584D7B78C14905BEE55</input>
+			<output>66B6A61BF7BCC6392B8FEC12152E5363<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 18</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>4617E60BD8AF29D5938C1458C173DA82BCAACD0E84B767BB</key>
+			<input>66B6A61BF7BCC6392B8FEC12152E5363</input>
+			<output>6C2247EA3BC566A84A30BF0B30AB4EEC<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 19</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>6B762D1391AA17CBFFAE53B2FAB6BC2AF69A7205B41C2957</key>
+			<input>6C2247EA3BC566A84A30BF0B30AB4EEC</input>
+			<output>C16FBCDFAE34E839BA449D697452550D<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 20</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>374499A8C09A60DA3EC1EF6D548254134CDEEF6CC04E7C5A</key>
+			<input>C16FBCDFAE34E839BA449D697452550D</input>
+			<output>C8B704B4AFE68AF5C91A810F2873F13F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 21</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>09DCC638DD59F37CF676EBD9FB64DEE685C46E63E83D8D65</key>
+			<input>C8B704B4AFE68AF5C91A810F2873F13F</input>
+			<output>FC9C31036B26234ED1CBA46E0BE944EE<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 22</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>CE2CEB8869D7EC160AEADADA9042FDA8540FCA0DE3D4C98B</key>
+			<input>FC9C31036B26234ED1CBA46E0BE944EE</input>
+			<output>DCF13203AD179CD008779F189EBC78F0<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 23</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>505FBECF6B0B083CD61BE8D93D5561785C7855157D68B17B</key>
+			<input>DCF13203AD179CD008779F189EBC78F0</input>
+			<output>24AEB937E259D44D352FF39C1A8A79E0<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 24</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>1D1649FDB7484DD2F2B551EEDF0CB5356957A68967E2C89B</key>
+			<input>24AEB937E259D44D352FF39C1A8A79E0</input>
+			<output>19016D033872CB7694A712A84DBC43F2<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 25</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>9BE41771C0F74BDEEBB43CEDE77E7E43FDF0B4212A5E8B69</key>
+			<input>19016D033872CB7694A712A84DBC43F2</input>
+			<output>0536107FEA26AB6A4FE2667EF7FCF16A<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 26</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>FF3619AED9A1F724EE822C920D58D529B212D25FDDA27A03</key>
+			<input>0536107FEA26AB6A4FE2667EF7FCF16A</input>
+			<output>5D35213390FCA53AD422DC2ED4BF674D<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 27</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>59D2F5AF4BB6F28BB3B70DA19DA4701366300E71091D1D4E</key>
+			<input>5D35213390FCA53AD422DC2ED4BF674D</input>
+			<output>04A6F9B1AE64AD03659C4E375A690852<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 28</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>C8384D35CAF0074EB711F41033C0DD1003AC40465374151C</key>
+			<input>04A6F9B1AE64AD03659C4E375A690852</input>
+			<output>18AB347EFC2F8F93655E16732BB509DE<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 29</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>910CE58F963B684EAFBAC06ECFEF528366F2563578C11CC2</key>
+			<input>18AB347EFC2F8F93655E16732BB509DE</input>
+			<output>F6037C06C71793BD14A4FC89A05D918F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 30</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>5D1EF94FBA1E098459B9BC6808F8C13E7256AABCD89C8D4D</key>
+			<input>F6037C06C71793BD14A4FC89A05D918F</input>
+			<output>75094DD9B2FDDAC96B49CAB676057288<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 31</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>61FDA8DA3EF8949C2CB0F1B1BA051BF7191F600AAE99FFC5</key>
+			<input>75094DD9B2FDDAC96B49CAB676057288</input>
+			<output>346F9F9E70C05B53DCDAF736FE59749D<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 32</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>5C383CCC2DCAE66A18DF6E2FCAC540A4C5C5973C50C08B58</key>
+			<input>346F9F9E70C05B53DCDAF736FE59749D</input>
+			<output>1DB82CC8EF5B736AAEFD1F1B9CE5B67D<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 33</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>1EC7FDBB8AE4FF05056742E7259E33CE6B388827CC253D25</key>
+			<input>1DB82CC8EF5B736AAEFD1F1B9CE5B67D</input>
+			<output>31B5E80D946AE577268973AF865151EB<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 34</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>FFE21FDAB07E755034D2AAEAB1F4D6B94DB1FB884A746CCE</key>
+			<input>31B5E80D946AE577268973AF865151EB</input>
+			<output>9FD63EB3EC6A15FC149A4F058EDA7080<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 35</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>7EC4053A63B2353BAB0494595D9EC345592BB48DC4AE1C4E</key>
+			<input>9FD63EB3EC6A15FC149A4F058EDA7080</input>
+			<output>41730A9E9D197435AC36902C57B16588<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 36</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>FB6D2FAFD47FE8D1EA779EC7C087B770F51D24A1931F79C6</key>
+			<input>41730A9E9D197435AC36902C57B16588</input>
+			<output>08AD282171F0772F85C0A43E8BACEC74<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 37</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>9531B1BBE0863D44E2DAB6E6B177C05F70DD809F18B395B2</key>
+			<input>08AD282171F0772F85C0A43E8BACEC74</input>
+			<output>8561E508FA237E4170CECD3A8352CFA4<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 38</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>0AB0CF2D1CA2957A67BB53EE4B54BE1E00134DA59BE15A16</key>
+			<input>8561E508FA237E4170CECD3A8352CFA4</input>
+			<output>4470EFA3C3172EBF64A064F59AE364A9<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 39</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>291FD5C38E400CFA23CBBC4D884390A164B3295001023EBF</key>
+			<input>4470EFA3C3172EBF64A064F59AE364A9</input>
+			<output>FCC5636DFE9E45CB7761DD14A1CF4773<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 40</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>114E4DEF0447E1D5DF0EDF2076DDD56A13D2F444A0CD79CC</key>
+			<input>FCC5636DFE9E45CB7761DD14A1CF4773</input>
+			<output>2130BA8736D4933678C3B536AEDBC500<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 41</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>0C19F74860652278FE3E65A74009465C6B1141720E16BCCC</key>
+			<input>2130BA8736D4933678C3B536AEDBC500</input>
+			<output>1725EECBA8F9A542E9956168390C82C2<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 42</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>EF9E7E57576D8A3EE91B8B6CE8F0E31E8284201A371A3E0E</key>
+			<input>1725EECBA8F9A542E9956168390C82C2</input>
+			<output>60912D3EEDC962D68A29AED73DDAA24D<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 43</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>CE6464925302B9F4898AA652053981C808AD8ECD0AC09C43</key>
+			<input>60912D3EEDC962D68A29AED73DDAA24D</input>
+			<output>43A8B490BBC75DC8D2D2F060C8672E9E<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 44</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>8657F15C75C74469CA2212C2BEFEDC00DA7F7EADC2A7B2DD</key>
+			<input>43A8B490BBC75DC8D2D2F060C8672E9E</input>
+			<output>67D856AF692A4BA7DEC7C8C14A37BD50<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 45</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>2D566517DCC2D4EBADFA446DD7D497A704B8B66C88900F8D</key>
+			<input>67D856AF692A4BA7DEC7C8C14A37BD50</input>
+			<output>293C5A05F31E863C6CA26DB8018751CA<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 46</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>826DFA3FD5229B9B84C61E6824CA119B681ADBD489175E47</key>
+			<input>293C5A05F31E863C6CA26DB8018751CA</input>
+			<output>9421BF2E7727F49C252D644B952C76C4<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 47</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>A5A13E0D1C01D7CF10E7A14653EDE5074D37BF9F1C3B2883</key>
+			<input>9421BF2E7727F49C252D644B952C76C4</input>
+			<output>CEE8F6FCF7CAF1C5EA9F746C10BD405B<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 48</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>923D8EE015266BA8DE0F57BAA42714C2A7A8CBF30C8668D8</key>
+			<input>CEE8F6FCF7CAF1C5EA9F746C10BD405B</input>
+			<output>403220B81E6E0837ACCEDA5ACB3730BE<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 49</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>B41FA03C1181401A9E3D7702BA491CF50B6611A9C7B15866</key>
+			<input>403220B81E6E0837ACCEDA5ACB3730BE</input>
+			<output>8C5D05679F78F853CF83CB8E5BBEBA44<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 50</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>00B6D7172075472F126072652531E4A6C4E5DA279C0FE222</key>
+			<input>8C5D05679F78F853CF83CB8E5BBEBA44</input>
+			<output>6F9C74C0BB40608AAD1A1202FCAF62EB<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 51</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>BEB1F890B29E8EFE7DFC06A59E71842C69FFC82560A080C9</key>
+			<input>6F9C74C0BB40608AAD1A1202FCAF62EB</input>
+			<output>B812DB4E295951BB04B1636A9CE91DDB<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 52</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>9455ABC4AC495686C5EEDDEBB728D5976D4EAB4FFC499D12</key>
+			<input>B812DB4E295951BB04B1636A9CE91DDB</input>
+			<output>B164574EAECAD5A06FFB4F3E6C607D61<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 53</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>1E9CCB2A3541F810748A8AA519E2003702B5E4719029E073</key>
+			<input>B164574EAECAD5A06FFB4F3E6C607D61</input>
+			<output>1433D23C1500EDBA0EFFD03D96E18F20<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 54</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>F4817B9409F1F1D160B958990CE2ED8D0C4A344C06C86F53</key>
+			<input>1433D23C1500EDBA0EFFD03D96E18F20</input>
+			<output>B81C889B6FAF5DA800AEBA561992853B<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 55</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>49F7CD1535080039D8A5D002634DB0250CE48E1A1F5AEA68</key>
+			<input>B81C889B6FAF5DA800AEBA561992853B</input>
+			<output>5B558B7C5916CF14FA5BC9266CFE875F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 56</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>FCD5479474EA721783F05B7E3A5B7F31F6BF473C73A46D37</key>
+			<input>5B558B7C5916CF14FA5BC9266CFE875F</input>
+			<output>49BE310D74A9980E9A78B0A8BB3BA1AB<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 57</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>6A68208CC7D6782ECA4E6A734EF2E73F6CC7F794C89FCC9C</key>
+			<input>49BE310D74A9980E9A78B0A8BB3BA1AB</input>
+			<output>7BD5BABAD7F1EEAA56E17BF9B6678DC8<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 58</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>38DE1A69C03EF9C1B19BD0C9990309953A268C6D7EF84154</key>
+			<input>7BD5BABAD7F1EEAA56E17BF9B6678DC8</input>
+			<output>62448A767C344E7E7CDB02112F475EFE<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 59</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>02634EC657B436A8D3DF5ABFE53747EB46FD8E7C51BF1FAA</key>
+			<input>62448A767C344E7E7CDB02112F475EFE</input>
+			<output>F490A20D8B5C53E34C4CF5B7B72A4591<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 60</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>DCDAAB8CBD526850274FF8B26E6B14080AB17BCBE6955A3B</key>
+			<input>F490A20D8B5C53E34C4CF5B7B72A4591</input>
+			<output>ACFFD7CD5C01B183AB92DBB62DC088F6<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 61</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>51EB6B7172C22A248BB02F7F326AA58BA123A07DCB55D2CD</key>
+			<input>ACFFD7CD5C01B183AB92DBB62DC088F6</input>
+			<output>0BEDDFA8E7A1AC84E3E164A59D599BAB<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 62</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>4796B5FA7B22626B805DF0D7D5CB090F42C2C4D8560C4966</key>
+			<input>0BEDDFA8E7A1AC84E3E164A59D599BAB</input>
+			<output>9CC82E2B6B96254345C1FDBAD667275E<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 63</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>D8E112F9657BD2BF1C95DEFCBE5D2C4C07033962806B6E38</key>
+			<input>9CC82E2B6B96254345C1FDBAD667275E</input>
+			<output>75926F4D3503411CD3C059DA4FFABD62<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 64</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>A19B892107C4F8F86907B1B18B5E6D50D4C360B8CF91D35A</key>
+			<input>75926F4D3503411CD3C059DA4FFABD62</input>
+			<output>1073561CF6BA28EC57F4B7E5073D27FA<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 65</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>AEFE35F52D8D54A27974E7AD7DE445BC8337D75DC8ACF4A0</key>
+			<input>1073561CF6BA28EC57F4B7E5073D27FA</input>
+			<output>83E161BA51E6F3A4588C94F7A24BA81F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 66</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>5E41A6382F88A350FA9586172C02B618DBBB43AA6AE75CBF</key>
+			<input>83E161BA51E6F3A4588C94F7A24BA81F</input>
+			<output>BD693B4C49378F17322D175932B87111<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 67</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>A2D760EE839234F147FCBD5B6535390FE99654F3585F2DAE</key>
+			<input>BD693B4C49378F17322D175932B87111</input>
+			<output>101A83CF8487BEDD2C93180BB5024EC9<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 68</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>0F463C72AF8E4B5357E63E94E1B287D2C5054CF8ED5D6367</key>
+			<input>101A83CF8487BEDD2C93180BB5024EC9</input>
+			<output>757949BE62D3328D09E2F45DF2AD095A<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 69</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>C3C0A16686A5D66B229F772A8361B55FCCE7B8A51FF06A3D</key>
+			<input>757949BE62D3328D09E2F45DF2AD095A</input>
+			<output>63EBBF9E15BECEC1A0885BECB3D06BF8<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 70</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>3A0B55738CF3B3E94174C8B496DF7B9E6C6FE349AC2001C5</key>
+			<input>63EBBF9E15BECEC1A0885BECB3D06BF8</input>
+			<output>E176B5C7AFCE06E8ED0C63A4CF7E3034<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 71</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>450F848D964934DAA0027D7339117D76816380ED635E31F1</key>
+			<input>E176B5C7AFCE06E8ED0C63A4CF7E3034</input>
+			<output>97B91F0A898E5B3A77A0883140D477BC<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 72</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>F3AF781D6EA3529237BB6279B09F264CF6C308DC238A464D</key>
+			<input>97B91F0A898E5B3A77A0883140D477BC</input>
+			<output>346AD1C470309DFE6CB08DCC24E17470<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 73</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>4E43AB584BF1F8C603D1B3BDC0AFBBB29A738510076B323D</key>
+			<input>346AD1C470309DFE6CB08DCC24E17470</input>
+			<output>F8B462FB7D758B3AF2CDF7D9244B738F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 74</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>5A1F023E8F0987B4FB65D146BDDA308868BE72C9232041B2</key>
+			<input>F8B462FB7D758B3AF2CDF7D9244B738F</input>
+			<output>B44D090FD0B7F762146FF6301C6DBF54<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 75</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>FFC4BB75031165DA4F28D8496D6DC7EA7CD184F93F4DFEE6</key>
+			<input>B44D090FD0B7F762146FF6301C6DBF54</input>
+			<output>15CB042313710F2CD1C3409B5F3AF419<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 76</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>8107240E1FB855765AE3DC6A7E1CC8C6AD12C46260770AFF</key>
+			<input>15CB042313710F2CD1C3409B5F3AF419</input>
+			<output>0AB01B03F415A58D52CF7A1E40856275<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 77</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>4493743ADE27D1D85053C7698A096D4BFFDDBE7C20F2688A</key>
+			<input>0AB01B03F415A58D52CF7A1E40856275</input>
+			<output>05BE037C28719B4C4EEBEA329FAC63D5<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 78</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>F582EC062155016255EDC415A278F607B136544EBF5E0B5F</key>
+			<input>05BE037C28719B4C4EEBEA329FAC63D5</input>
+			<output>74C3C4F42B3F575C6B8D5BAD9AF0191F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 79</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>8FAF8EEAA5E2D76B212E00E18947A15BDABB0FE325AE1240</key>
+			<input>74C3C4F42B3F575C6B8D5BAD9AF0191F</input>
+			<output>92CB4A3DF34E6711FB56391F26D949AD<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 80</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>1CAD393CC06BC104B3E54ADC7A09C64A21ED36FC03775BED</key>
+			<input>92CB4A3DF34E6711FB56391F26D949AD</input>
+			<output>3754BB3D8C3D7370EDBA842CDF17D5C0<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 81</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>E3AB53BB36BDFBBB84B1F1E1F634B53ACC57B2D0DC608E2D</key>
+			<input>3754BB3D8C3D7370EDBA842CDF17D5C0</input>
+			<output>94EAC7FD54D228619791BCCBF9F633F4<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 82</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>480B1D923E853259105B361CA2E69D5B5BC60E1B2596BDD9</key>
+			<input>94EAC7FD54D228619791BCCBF9F633F4</input>
+			<output>CAB29222355968E9CF492D5BF08B0999<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 83</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>D8F6791107FB3D26DAE9A43E97BFF5B2948F2340D51DB440</key>
+			<input>CAB29222355968E9CF492D5BF08B0999</input>
+			<output>00837C78B88005288DB39452F1EB8F13<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 84</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>6521B6B771FE24B2DA6AD8462F3FF09A193CB71224F63B53</key>
+			<input>00837C78B88005288DB39452F1EB8F13</input>
+			<output>2082F77D48A63E223A79217CD4516854<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 85</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>9D9F3198682E2476FAE82F3B6799CEB82345966EF0A75307</key>
+			<input>2082F77D48A63E223A79217CD4516854</input>
+			<output>C5074D4B3F455346B078DAFBC1327AB6<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 86</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>61832291235DC7C33FEF627058DC9DFE933D4C95319529B1</key>
+			<input>C5074D4B3F455346B078DAFBC1327AB6</input>
+			<output>72EE56572A2B7CEC53FC4E4FC0293D63<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 87</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>5C2877854338D45D4D01342772F7E112C0C102DAF1BC14D2</key>
+			<input>72EE56572A2B7CEC53FC4E4FC0293D63</input>
+			<output>7350039161DF9E8E45B360E6139E4226<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 88</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>A8225CF65297BA953E5137B613287F9C8572623CE22256F4</key>
+			<input>7350039161DF9E8E45B360E6139E4226</input>
+			<output>4339288215BE1BB87E31AF8FB35DEDC1<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 89</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>51649B52A8458F4B7D681F3406966424FB43CDB3517FBB35</key>
+			<input>4339288215BE1BB87E31AF8FB35DEDC1</input>
+			<output>4D7AB61CC2C930CBB0DF43EEE92EBA1F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 90</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>750E4E7E9183E2FF3012A928C45F54EF4B9C8E5DB851012A</key>
+			<input>4D7AB61CC2C930CBB0DF43EEE92EBA1F</input>
+			<output>1090FE663EA77DC2EC30E8F89E662918<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 91</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>B65FBDF702246E442082574EFAF8292DA7AC66A526372832</key>
+			<input>1090FE663EA77DC2EC30E8F89E662918</input>
+			<output>14307A2CC40BDFB0413DF10F961337CA<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 92</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>7BEC3480AA0A44FF34B22D623EF3F69DE69197AAB0241FF8</key>
+			<input>14307A2CC40BDFB0413DF10F961337CA</input>
+			<output>8F378E272D82DE8E63EC418912EF8642<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 93</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>63921E8700657D6ABB85A34513712813857DD623A2CB99BA</key>
+			<input>8F378E272D82DE8E63EC418912EF8642</input>
+			<output>3947DDC00E3C4D958E508DF58AB4982A<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 94</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>754B2E8355FABCAF82C27E851D4D65860B2D5BD6287F0190</key>
+			<input>3947DDC00E3C4D958E508DF58AB4982A</input>
+			<output>492DB375B3CC640DD8FEDBAF2C943535<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 95</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>E8F8C2450F8597B3CBEFCDF0AE81018BD3D3807904EB34A5</key>
+			<input>492DB375B3CC640DD8FEDBAF2C943535</input>
+			<output>D74BD4118D448B674935B80E4B1BFB93<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 96</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>34A2C5B010AE479A1CA419E123C58AEC9AE638774FF0CF36</key>
+			<input>D74BD4118D448B674935B80E4B1BFB93</input>
+			<output>E9742B41295BC3ED3AA66E80E8718665<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 97</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>0E11D08AA9EC81A4F5D032A00A9E4901A04056F7A7814953</key>
+			<input>E9742B41295BC3ED3AA66E80E8718665</input>
+			<output>5FB17BFE146B410F90EC922B1385D0E4<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 98</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>B15779E61FD27B02AA61495E1EF5080E30ACC4DCB40499B7</key>
+			<input>5FB17BFE146B410F90EC922B1385D0E4</input>
+			<output>1B0CCF643F19DDBC0E3ED0EEAE83ACC1<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 99</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>861B580225193DD5B16D863A21ECD5B23E9214321A873576</key>
+			<input>1B0CCF643F19DDBC0E3ED0EEAE83ACC1</input>
+			<output>B3A7D434E30DC0CDEE4D17BBC27B855E<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 100</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>B6DF2A8726C31D6E02CA520EC2E1157FD0DF0389D8FCB028</key>
+			<input>B3A7D434E30DC0CDEE4D17BBC27B855E</input>
+			<output>57DE2345D91E26A2AB7CA88AEA23A84F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 101</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>6976D3780B5F01E25514714B1BFF33DD7BA3AB0332DF1867</key>
+			<input>57DE2345D91E26A2AB7CA88AEA23A84F</input>
+			<output>7B03541D239B569FEE7ABD8980F1BD05<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 102</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>734CAC477A2727542E1725563864654295D9168AB22EA562</key>
+			<input>7B03541D239B569FEE7ABD8980F1BD05</input>
+			<output>5CB7E72B2E6CFF8C18AEB026FE40C2FA<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 103</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>B59171BEBC7BFB8672A0C27D16089ACE8D77A6AC4C6E6798</key>
+			<input>5CB7E72B2E6CFF8C18AEB026FE40C2FA</input>
+			<output>50B9186306DA92FE785D6EB9223E43A9<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 104</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>E460BA8A2F82DBB72219DA1E10D20830F52AC8156E502431</key>
+			<input>50B9186306DA92FE785D6EB9223E43A9</input>
+			<output>B3D8CE8B04B99CF2F82571E1588C358B<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 105</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>CE7C790CD4B34C4791C11495146B94C20D0FB9F436DC11BA</key>
+			<input>B3D8CE8B04B99CF2F82571E1588C358B</input>
+			<output>9845F0A5681A40A6DC3D9BCA639FE786<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 106</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>699FE59B482743180984E4307C71D464D132223E5543F63C</key>
+			<input>9845F0A5681A40A6DC3D9BCA639FE786</input>
+			<output>C7EBF5CEAAD5652563A8550020EC7070<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 107</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>FEBE2836F5099F53CE6F11FED6A4B141B29A773E75AF864C</key>
+			<input>C7EBF5CEAAD5652563A8550020EC7070</input>
+			<output>DE94A376634FE9856A84E2EE6EED86E8<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 108</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>22BCFFB0740FC30510FBB288B5EB58C4D81E95D01B4200A4</key>
+			<input>DE94A376634FE9856A84E2EE6EED86E8</input>
+			<output>64B9917E23328A4FE1F8FDB8AE43E7F3<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 109</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>E8491AFDF41F0DFB744223F696D9D28B39E66868B501E757</key>
+			<input>64B9917E23328A4FE1F8FDB8AE43E7F3</input>
+			<output>2C59820184ABC99E82A7F51D4E3A86A8<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 110</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>3BE5F390D72ABE6A581BA1F712721B15BB419D75FB3B61FF</key>
+			<input>2C59820184ABC99E82A7F51D4E3A86A8</input>
+			<output>387ACD0BAD539773287C209A0876581F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 111</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>B7388762F772C83560616CFCBF218C66933DBDEFF34D39E0</key>
+			<input>387ACD0BAD539773287C209A0876581F</input>
+			<output>F12D3E1F21AFB9CACAB541EFB7334438<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 112</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>FBD600191276FA5C914C52E39E8E35AC5988FC00447E7DD8</key>
+			<input>F12D3E1F21AFB9CACAB541EFB7334438</input>
+			<output>68D2FA1BB635D9D35E4BF440335CBD80<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 113</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>1E2B19106450AA2FF99EA8F828BBEC7F07C308407722C058</key>
+			<input>68D2FA1BB635D9D35E4BF440335CBD80</input>
+			<output>4532507D5E0227054CB36CBD3C489D53<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 114</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>C0B60F65BAD77DA4BCACF88576B9CB7A4B7064FD4B6A5D0B</key>
+			<input>4532507D5E0227054CB36CBD3C489D53</input>
+			<output>6DB8FD7DE7924B7E92CF27BC0AD11D16<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 115</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>451836B53318CC33D11405F8912B8004D9BF434141BB401D</key>
+			<input>6DB8FD7DE7924B7E92CF27BC0AD11D16</input>
+			<output>A3D5F6A8D4372B66F8D3DD9FF945DECA<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 116</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>0E57235F9B527C5172C1F350451CAB62216C9EDEB8FE9ED7</key>
+			<input>A3D5F6A8D4372B66F8D3DD9FF945DECA</input>
+			<output>BEDFF233AD31EEB9943EEBF52F66AABF<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 117</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>BB7E1C438E5F36A3CC1E0163E82D45DBB552752B97983468</key>
+			<input>BEDFF233AD31EEB9943EEBF52F66AABF</input>
+			<output>4531EDEC06570582755199A0C4745EA5<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 118</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>DE70EC87811AFD32892FEC8FEE7A4059C003EC8B53EC6ACD</key>
+			<input>4531EDEC06570582755199A0C4745EA5</input>
+			<output>F3189383C202A472CE238571D187F8EB<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 119</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>CA2AE67397E9238A7A377F0C2C78E42B0E2069FA826B9226</key>
+			<input>F3189383C202A472CE238571D187F8EB</input>
+			<output>B48952CBAC43D0114985A9035DFF0382<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 120</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>335EF040D622E95BCEBE2DC7803B343A47A5C0F9DF9491A4</key>
+			<input>B48952CBAC43D0114985A9035DFF0382</input>
+			<output>9B71302FDFBC47DF6276AB73D4D0D8B3<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 121</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>683CC10DFBC6C09C55CF1DE85F8773E525D36B8A0B444917</key>
+			<input>9B71302FDFBC47DF6276AB73D4D0D8B3</input>
+			<output>69EED4A0C5428005199DF12B338393E2<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 122</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>B86C9A2F1A978E123C21C9489AC5F3E03C4E9AA138C7DAF5</key>
+			<input>69EED4A0C5428005199DF12B338393E2</input>
+			<output>D0C2ACA653E6D7D80D32F445B0DD2347<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 123</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>EF7E3DCDF05FFA86ECE365EEC9232438317C6EE4881AF9B2</key>
+			<input>D0C2ACA653E6D7D80D32F445B0DD2347</input>
+			<output>F373D4DBD7ADAFEF582621EC8C7CD2A2<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 124</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>B8059C7A6BA2273E1F90B1351E8E8BD7695A4F0804662B10</key>
+			<input>F373D4DBD7ADAFEF582621EC8C7CD2A2</input>
+			<output>0AD37AFC8C929513F9BDB976E69C7CF3<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 125</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>F5C9ECCBB672D46F1543CBC9921C1EC490E7F67EE2FA57E3</key>
+			<input>0AD37AFC8C929513F9BDB976E69C7CF3</input>
+			<output>E80B118DFB34F11DB344B6AE34EDEBC8<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 126</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>AA67DC18543A7A88FD48DA446928EFD923A340D0D617BC2B</key>
+			<input>E80B118DFB34F11DB344B6AE34EDEBC8</input>
+			<output>628D5C42DDEBA9AE4983F51D339366B4<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 127</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>BF0C30A039C0FEE89FC58606B4C346776A20B5CDE584DA9F</key>
+			<input>628D5C42DDEBA9AE4983F51D339366B4</input>
+			<output>1BE2A5A8CCA8E065557F6982AF3E056F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 128</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>A219F6B8E2FF1AA3842723AE786BA6123F5FDC4F4ABADFF0</key>
+			<input>1BE2A5A8CCA8E065557F6982AF3E056F</input>
+			<output>5E1187D78AEB34780F07905A84D2EBBA<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 129</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>851DDD078D4B7802DA36A479F280926A30584C15CE68344A</key>
+			<input>5E1187D78AEB34780F07905A84D2EBBA</input>
+			<output>31EE3AC2EC79D14EBCA71E760326CD74<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 130</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>E6741084FEDEEFFEEBD89EBB1EF943248CFF5263CD4EF93E</key>
+			<input>31EE3AC2EC79D14EBCA71E760326CD74</input>
+			<output>298E3A00F280BBF8364CF8D6D44CF54E<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 131</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>8A41136FE9DB1FB5C256A4BBEC79F8DCBAB3AAB519020C70</key>
+			<input>298E3A00F280BBF8364CF8D6D44CF54E</input>
+			<output>39B7A0416C1F9B19C7B99A1F6A70258C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 132</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>E1F1B622EB8BC9B1FBE104FA806663C57D0A30AA737229FC</key>
+			<input>39B7A0416C1F9B19C7B99A1F6A70258C</input>
+			<output>B1655FA9AB2C4956E2C56F7A6C421BE5<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 133</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>0EE0B7E1AF7093694A845B532B4A2A939FCF5FD01F303219</key>
+			<input>B1655FA9AB2C4956E2C56F7A6C421BE5</input>
+			<output>1AD9CBB1A28F7A2A6CBC7EC98EF483FC<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 134</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>180A2BD07F77D34E505D90E289C550B9F373211991C4B1E5</key>
+			<input>1AD9CBB1A28F7A2A6CBC7EC98EF483FC</input>
+			<output>6363BE57D6D587EE3ABA9FE81F3D3A10<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 135</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>848B7408CAACF02E333E2EB55F10D757C9C9BEF18EF98BF5</key>
+			<input>6363BE57D6D587EE3ABA9FE81F3D3A10</input>
+			<output>05618580D7915AA7398EF4DB7D1F1DE3<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 136</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>E581D7B4F84F2860365FAB3588818DF0F0474A2AF3E69616</key>
+			<input>05618580D7915AA7398EF4DB7D1F1DE3</input>
+			<output>F8D0118087404FD729F96CA6551338AD<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 137</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>6C81D6873EFFF763CE8FBAB50FC1C227D9BE268CA6F5AEBB</key>
+			<input>F8D0118087404FD729F96CA6551338AD</input>
+			<output>784913B38D32A7395D73AF1378A0DC56<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 138</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>D971137D872F606EB6C6A90682F3651E84CD899FDE5572ED</key>
+			<input>784913B38D32A7395D73AF1378A0DC56</input>
+			<output>D07C418BD183457B6683AE99C457FC0B<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 139</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>196BBA79E35EEC7966BAE88D53702065E24E27061A028EE6</key>
+			<input>D07C418BD183457B6683AE99C457FC0B</input>
+			<output>5595D16DF7668779825BC135D1408013<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 140</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>6F140EC274635FA2332F39E0A416A71C6015E633CB420EF5</key>
+			<input>5595D16DF7668779825BC135D1408013</input>
+			<output>1AB9F5075E063403FEFD976044C89C95<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 141</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>926F3A2AA0BD8C952996CCE7FA10931F9EE871538F8A9260</key>
+			<input>1AB9F5075E063403FEFD976044C89C95</input>
+			<output>6DF413E53FCEDA296D7ABA796179D600<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 142</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>740F74BF0E0C38154462DF02C5DE4936F392CB2AEEF34460</key>
+			<input>6DF413E53FCEDA296D7ABA796179D600</input>
+			<output>0D0F499B0D51948A9CCBC4B6531A05F7<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 143</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>2500C9B63042B24B496D9699C88FDDBC6F590F9CBDE94197</key>
+			<input>0D0F499B0D51948A9CCBC4B6531A05F7</input>
+			<output>85833A1072B6A0ED932D4D89D53A785A<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 144</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>FCB377C07622271FCCEEAC89BA397D51FC74421568D339CD</key>
+			<input>85833A1072B6A0ED932D4D89D53A785A</input>
+			<output>545EDE1A4B737F1E51CBDAE311E91D5C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 145</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>BB108ABE391C394E98B07293F14A024FADBF98F6793A2491</key>
+			<input>545EDE1A4B737F1E51CBDAE311E91D5C</input>
+			<output>DA8CC635CF1450685DDAAA5A56BC3BD9<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 146</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>34F8623EC93A6C2A423CB4A63E5E5227F06532AC2F861F48</key>
+			<input>DA8CC635CF1450685DDAAA5A56BC3BD9</input>
+			<output>FE73162BF90B52DEE7D0EA9D73F8444D<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 147</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>5E3CB25583365D5EBC4FA28DC75500F917B5D8315C7E5B05</key>
+			<input>FE73162BF90B52DEE7D0EA9D73F8444D</input>
+			<output>BC75D12F66C232E1979D0F6C3E1ED8F1<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 148</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>EABE655116470AE1003A73A2A19732188028D75D626083F4</key>
+			<input>BC75D12F66C232E1979D0F6C3E1ED8F1</input>
+			<output>661A3FA0530BF47C266D609FE01DAF48<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 149</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>97A1B8E97CF217C366204C02F29CC664A645B7C2827D2CBC</key>
+			<input>661A3FA0530BF47C266D609FE01DAF48</input>
+			<output>791144514CF8E4CC15BC6ADE3291F9CD<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 150</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>5189DC6F535B5A091F310853BE6422A8B3F9DD1CB0ECD571</key>
+			<input>791144514CF8E4CC15BC6ADE3291F9CD</input>
+			<output>4369FDB3626F399A6526C476373A52D4<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 151</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>21CD36EDB27428AB5C58F5E0DC0B1B32D6DF196A87D687A5</key>
+			<input>4369FDB3626F399A6526C476373A52D4</input>
+			<output>4C8869494C044703CFDD09F83B2208AA<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 152</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>85C08C7D4667AE3710D09CA9900F5C3119021092BCF48F0F</key>
+			<input>4C8869494C044703CFDD09F83B2208AA</input>
+			<output>06BC45BDB38A7028CB2D189E9E0C3046<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 153</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>807182BD7E1F29BE166CD91423852C19D22F080C22F8BF49</key>
+			<input>06BC45BDB38A7028CB2D189E9E0C3046</input>
+			<output>74AFD5F37F8F0712710585FB8DB22FF8<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 154</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>1AF15D0DE00CEF3F62C30CE75C0A2B0BA32A8DF7AF4A90B1</key>
+			<input>74AFD5F37F8F0712710585FB8DB22FF8</input>
+			<output>B1A4EE894A12794E0C1A286DDBC01CFD<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 155</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>E0732BA619DCF2F5D367E26E16185245AF30A59A748A8C4C</key>
+			<input>B1A4EE894A12794E0C1A286DDBC01CFD</input>
+			<output>0EA90279135DFFC7F58DB959F9E8BFE1<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 156</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>AE8779E669BFF77EDDCEE0170545AD825ABD1CC38D6233AD</key>
+			<input>0EA90279135DFFC7F58DB959F9E8BFE1</input>
+			<output>3717C67E520D87778350E62525C01730<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 157</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>79D13142BE9066A2EAD9266957482AF5D9EDFAE6A8A2249D</key>
+			<input>3717C67E520D87778350E62525C01730</input>
+			<output>A8F96DA7AE81EF8810A317AB4C9B82A9<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 158</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>597D70828E56003942204BCEF9C9C57DC94EED4DE439A634</key>
+			<input>A8F96DA7AE81EF8810A317AB4C9B82A9</input>
+			<output>8C373A065986BAC9E345475F5D83FBCF<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 159</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>96C8CF3884D5DA18CE1771C8A04F7FB42A0BAA12B9BA5DFB</key>
+			<input>8C373A065986BAC9E345475F5D83FBCF</input>
+			<output>8E4D562CBEDC360EFB25B857DD4C4FF2<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 160</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>5A0A29B58F17F9F9405A27E41E9349BAD12E124564F61209</key>
+			<input>8E4D562CBEDC360EFB25B857DD4C4FF2</input>
+			<output>192CCD79E3B4C8F5617D1F55B789B7A3<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 161</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>29A4692EDE3EAABE5976EA9DFD27814FB0530D10D37FA5AA</key>
+			<input>192CCD79E3B4C8F5617D1F55B789B7A3</input>
+			<output>8A5F181E1748C98121D1C22204591B23<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 162</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>5E5CA30210E78677D329F283EA6F48CE9182CF32D726BE89</key>
+			<input>8A5F181E1748C98121D1C22204591B23</input>
+			<output>14512A4997094A0536594E63ACC5EF4A<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 163</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>7DA5F9C99B68DFB0C778D8CA7D6602CBA7DB81517BE351C3</key>
+			<input>14512A4997094A0536594E63ACC5EF4A</input>
+			<output>F91BA751D5E2ADC074FC6CC14476DE67<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 164</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>658144C57CCFDAD83E637F9BA884AF0BD327ED903F958FA4</key>
+			<input>F91BA751D5E2ADC074FC6CC14476DE67</input>
+			<output>5F7FED22BABA25D48C95C4E2CAEDB3F4<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 165</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>13C5D7A44396F6FD611C92B9123E8ADF5FB22972F5783C50</key>
+			<input>5F7FED22BABA25D48C95C4E2CAEDB3F4</input>
+			<output>0FCFB3CB93B2E7FDF7E156486929BD17<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 166</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>99DBAC1D5D268DB06ED32172818C6D22A8537F3A9C518147</key>
+			<input>0FCFB3CB93B2E7FDF7E156486929BD17</input>
+			<output>3E16265A02271FF68AE6310A6BFDEE60<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 167</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>A8876A49E2F1CC5250C5072883AB72D422B54E30F7AC6F27</key>
+			<input>3E16265A02271FF68AE6310A6BFDEE60</input>
+			<output>1657BF722B57D083D8864B6447317E05<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 168</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>0A615A71BC2BE3E94692B85AA8FCA257FA330554B09D1122</key>
+			<input>1657BF722B57D083D8864B6447317E05</input>
+			<output>018B742E941E27C547451B9E41F245F5<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 169</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>6AE11571E3D54C4B4719CC743CE28592BD761ECAF16F54D7</key>
+			<input>018B742E941E27C547451B9E41F245F5</input>
+			<output>8C5BB61774502B6A9C44BEE8D6C44A63<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 170</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>DCE75079013F0865CB427A6348B2AEF82132A02227AB1EB4</key>
+			<input>8C5BB61774502B6A9C44BEE8D6C44A63</input>
+			<output>361D3B51C751298194CB1AA32C0A86EE<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 171</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>E73232D50D457866FD5F41328FE38779B5F9BA810BA1985A</key>
+			<input>361D3B51C751298194CB1AA32C0A86EE</input>
+			<output>7B734F34DD4F332CBE5CFC7659C390BF<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 172</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>BEEF9073227655EB862C0E0652ACB4550BA546F7526208E5</key>
+			<input>7B734F34DD4F332CBE5CFC7659C390BF</input>
+			<output>63CCC9CE5DADA5B5AC68870E6C675943<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 173</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>1E9078C198526C1DE5E0C7C80F0111E0A7CDC1F93E0551A6</key>
+			<input>63CCC9CE5DADA5B5AC68870E6C675943</input>
+			<output>7BBC6F7B62807CBE1C93CADB5E6CAE0A<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 174</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>AD26AC70784FF1B99E5CA8B36D816D5EBB5E0B226069FFAC</key>
+			<input>7BBC6F7B62807CBE1C93CADB5E6CAE0A</input>
+			<output>E95B0C766EF9049163D3A249E196DDB8<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 175</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>E17835A277F1D1EE7707A4C5037869CFD88DA96B81FF2214</key>
+			<input>E95B0C766EF9049163D3A249E196DDB8</input>
+			<output>968263CBCDB4582FC9CDFD0C9FD0B4F0<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 176</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>22F9EB31E67C62DBE185C70ECECC31E0114054671E2F96E4</key>
+			<input>968263CBCDB4582FC9CDFD0C9FD0B4F0</input>
+			<output>9F573A339DFA07B844E4034718A4FE88<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 177</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>0FEC8766966A42DA7ED2FD3D5336365855A45720068B686C</key>
+			<input>9F573A339DFA07B844E4034718A4FE88</input>
+			<output>A0809BA3A742C0EB1BDA613B7472F56A<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 178</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>98E655519C9A8A95DE52669EF474F6B34E7E361B72F99D06</key>
+			<input>A0809BA3A742C0EB1BDA613B7472F56A</input>
+			<output>9BF1D85440818035FA6AC36E5A5F00A7<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 179</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>A8D37BE0EB386F8045A3BECAB4F57686B414F57528A69DA1</key>
+			<input>9BF1D85440818035FA6AC36E5A5F00A7</input>
+			<output>924E309AC04A655C50980360914E9830<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 180</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>7D89F156EA181E92D7ED8E5074BF13DAE48CF615B9E80591</key>
+			<input>924E309AC04A655C50980360914E9830</input>
+			<output>427819CDAE419A046D4586FF5A784A1C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 181</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>B028A265666F69629595979DDAFE89DE89C970EAE3904F8D</key>
+			<input>427819CDAE419A046D4586FF5A784A1C</input>
+			<output>D8B51EEC0A6A6D17F1E476C922AD8548<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 182</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>DF20B45B990C5E734D208971D094E4C9782D0623C13DCAC5</key>
+			<input>D8B51EEC0A6A6D17F1E476C922AD8548</input>
+			<output>7823F1BBA96105168195CDAC34AB5315<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 183</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>AF4C64F7E4AA6DE2350378CA79F5E1DFF9B8CB8FF59699D0</key>
+			<input>7823F1BBA96105168195CDAC34AB5315</input>
+			<output>85DD0256BC29EAA867DB77C1A049574D<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 184</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>4047F74604E37A00B0DE7A9CC5DC0B779E63BC4E55DFCE9D</key>
+			<input>85DD0256BC29EAA867DB77C1A049574D</input>
+			<output>64C1880D34408CB1A92BBA354941D5B6<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 185</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>9C3BF36E47110C08D41FF291F19C87C63748067B1C9E1B2B</key>
+			<input>64C1880D34408CB1A92BBA354941D5B6</input>
+			<output>25B80866FE3198C775F64C412E734348<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 186</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>FAE7368F99242159F1A7FAF70FAD1F0142BE4A3A32ED5863</key>
+			<input>25B80866FE3198C775F64C412E734348</input>
+			<output>8D3D7E9A195363C96334C48120BC343A<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 187</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>5F48BD86A9C4DC897C9A846D16FE7CC8218A8EBB12516C59</key>
+			<input>8D3D7E9A195363C96334C48120BC343A</input>
+			<output>E886EEA0F2D556D693DC94FFC588D1F4<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 188</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>B7406993C120EA20941C6ACDE42B2A1EB2561A44D7D9BDAD</key>
+			<input>E886EEA0F2D556D693DC94FFC588D1F4</input>
+			<output>76CB89CBB935D422DED9784D4548A84F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 189</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>4DB740C3FA55F4ABE2D7E3065D1EFE3C6C8F6209929115E2</key>
+			<input>76CB89CBB935D422DED9784D4548A84F</input>
+			<output>93D7AC7B18A1196D5C166203C44A43D3<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 190</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>353A0293DEFB648071004F7D45BFE7513099000A56DB5631</key>
+			<input>93D7AC7B18A1196D5C166203C44A43D3</input>
+			<output>8982BD77485524EE9E49769591E922CE<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 191</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>F6FC1F7E838CD8A7F882F20A0DEAC3BFAED0769FC73274FF</key>
+			<input>8982BD77485524EE9E49769591E922CE</input>
+			<output>89012A1E3F7669C76C5F5F4987108662<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 192</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>A1AA84E01EBC3E837183D814329CAA78C28F29D64022F29D</key>
+			<input>89012A1E3F7669C76C5F5F4987108662</input>
+			<output>139E37ADA17990054AF8EF5B717E884B<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 193</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>C631229E9871F2AC621DEFB993E53A7D8877C68D315C7AD6</key>
+			<input>139E37ADA17990054AF8EF5B717E884B</input>
+			<output>CEC8F9C90B2E393BDA4602C2A83F953C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 194</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>824604723CD82F95ACD5167098CB03465231C44F9963EFEA</key>
+			<input>CEC8F9C90B2E393BDA4602C2A83F953C</input>
+			<output>2A2E1344AE4C6BA40568E170BF67FD74<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 195</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>2B17489FA71F683B86FB0534368768E25759253F2604129E</key>
+			<input>2A2E1344AE4C6BA40568E170BF67FD74</input>
+			<output>7402AC6982DBB0BED678746E4523556C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 196</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>DA9C0CF5A89D3D94F2F9A95DB45CD85C81215151632747F2</key>
+			<input>7402AC6982DBB0BED678746E4523556C</input>
+			<output>36A36B5B55F950F00B9F3E31156BFD65<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 197</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>543619886B56830BC45AC206E1A588AC8ABE6F60764CBA97</key>
+			<input>36A36B5B55F950F00B9F3E31156BFD65</input>
+			<output>D7B36A117E824A49A5944C37BEE27F06<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 198</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>9494630598E7618213E9A8179F27C2E52F2A2357C8AEC591</key>
+			<input>D7B36A117E824A49A5944C37BEE27F06</input>
+			<output>2D60BC0BC950EEE7E36D50E971CF68D0<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 199</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>B0328218DF523A0C3E89141C56772C02CC4773BEB961AD41</key>
+			<input>2D60BC0BC950EEE7E36D50E971CF68D0</input>
+			<output>49A4643E535F45A1ABDEF41ABABBE268<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 200</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>5E3FD7ACD8EF334D772D7022052869A3679987A403DA4F29</key>
+			<input>49A4643E535F45A1ABDEF41ABABBE268</input>
+			<output>D5EEB5CC40AF8612708BAABE85685E4C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 201</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>A232D0267D606002A2C3C5EE4587EFB117122D1A86B21165</key>
+			<input>D5EEB5CC40AF8612708BAABE85685E4C</input>
+			<output>3F5B875DE202C5441165FE5C5CA2D258<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 202</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>844ED6FAFA342BFE9D9842B3A7852AF50677D346DA10C33D</key>
+			<input>3F5B875DE202C5441165FE5C5CA2D258</input>
+			<output>9B5F0210E0EC623C6ACF1C0BC06EBF51<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 203</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>109F8CEC689E0F5306C740A3476948C96CB8CF4D1A7E7C6C</key>
+			<input>9B5F0210E0EC623C6ACF1C0BC06EBF51</input>
+			<output>E57015FAB0006446E544704DB6629059<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 204</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>D9ABCBAC4B271B04E3B75559F7692C8F89FCBF00AC1CEC35</key>
+			<input>E57015FAB0006446E544704DB6629059</input>
+			<output>85F0DF6B1ED933E87F6A9F609D516346<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 205</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>09915869AE1F57F766478A32E9B01F67F6962060314D8F73</key>
+			<input>85F0DF6B1ED933E87F6A9F609D516346</input>
+			<output>471B931539C155478A1D4B9BA50DCE43<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 206</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>BFB70AA6C4F05C1D215C1927D0714A207C8B6BFB94404130</key>
+			<input>471B931539C155478A1D4B9BA50DCE43</input>
+			<output>9AC55C1CC77E7B59CC9204898A38CEA7<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 207</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>660972D79B056F14BB99453B170F3179B0196F721E788F97</key>
+			<input>9AC55C1CC77E7B59CC9204898A38CEA7</input>
+			<output>19B00FEB13145F9F356173B42184D516<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 208</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>F09576EB17FB1A07A2294AD0041B6EE685781CC63FFC5A81</key>
+			<input>19B00FEB13145F9F356173B42184D516</input>
+			<output>5F1379E25F6DD8653B73F58E738D6243<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 209</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>8D170BBC5E3662BEFD3A33325B76B683BE0BE9484C7138C2</key>
+			<input>5F1379E25F6DD8653B73F58E738D6243</input>
+			<output>AEF55C09E7AD76CC9BA7B83874A0A86B<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 210</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>1A7BD2572D3CDB8C53CF6F3BBCDBC04F25AC517038D190A9</key>
+			<input>AEF55C09E7AD76CC9BA7B83874A0A86B</input>
+			<output>6BEF52E6D86DC15D2A03B5CB3EBAB130<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 211</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>B4BC0603F59BE3D038203DDD64B601120FAFE4BB066B2199</key>
+			<input>6BEF52E6D86DC15D2A03B5CB3EBAB130</input>
+			<output>FDC093FFED096B7812E77E23AD9C7C71<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 212</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>C00A0DDA74D55250C5E0AE2289BF6A6A1D489A98ABF75DE8</key>
+			<input>FDC093FFED096B7812E77E23AD9C7C71</input>
+			<output>072625CB0C022827E195DE8AB4FE7E0C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 213</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>6534CBAB46880CE0C2C68BE985BD424DFCDD44121F0923E4</key>
+			<input>072625CB0C022827E195DE8AB4FE7E0C</input>
+			<output>11AA47C5557437AEE8A8BE31A849A047<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 214</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>C204AFE794D81224D36CCC2CD0C975E31475FA23B74083A3</key>
+			<input>11AA47C5557437AEE8A8BE31A849A047</input>
+			<output>4C91B3031567DFFC22829CBC3C419B6D<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 215</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>01A4820CC4D281B99FFD7F2FC5AEAA1F36F7669F8B0118CE</key>
+			<input>4C91B3031567DFFC22829CBC3C419B6D</input>
+			<output>54C0F95B0179CB753917A2592F58BD77<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 216</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>B5C1DD77446C8FD1CB3D8674C4D7616A0FE0C4C6A459A5B9</key>
+			<input>54C0F95B0179CB753917A2592F58BD77</input>
+			<output>A2A19A98250E432131F9EF4AE473677F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 217</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>9FDC1167AC2D1A51699C1CECE1D9224B3E192B8C402AC2C6</key>
+			<input>A2A19A98250E432131F9EF4AE473677F</input>
+			<output>9B5780CA9669A92688F54887E303F2D3<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 218</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>C734A73F4A32D311F2CB9C2677B08B6DB6EC630BA3293015</key>
+			<input>9B5780CA9669A92688F54887E303F2D3</input>
+			<output>F1750745D1E74E41A07B99482ECABAAA<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 219</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>1612B86730F487EF03BE9B63A657C52C1697FA438DE38ABF</key>
+			<input>F1750745D1E74E41A07B99482ECABAAA</input>
+			<output>30F510DBDDAEC6FC0D2504C11DF23CFA<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 220</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>D52E3B50F72B085D334B8BB87BF903D01BB2FE829011B645</key>
+			<input>30F510DBDDAEC6FC0D2504C11DF23CFA</input>
+			<output>64998C3018185D722477A2DBFB84ABB8<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 221</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>7F9F2A23D320792E57D2078863E15EA23FC55C596B951DFD</key>
+			<input>64998C3018185D722477A2DBFB84ABB8</input>
+			<output>9293A4FF9ED5D57D81BB8A63381BF66A<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 222</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>B529B6E7080E0AE4C541A377FD348BDFBE7ED63A538EEB97</key>
+			<input>9293A4FF9ED5D57D81BB8A63381BF66A</input>
+			<output>A389ABCF609B41F28CC3188B2C126915<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 223</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>A5C4C3A89459F79566C808B89DAFCA2D32BDCEB17F9C8282</key>
+			<input>A389ABCF609B41F28CC3188B2C126915</input>
+			<output>5F4BC60608A3DF788631EBB66763E7DF<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 224</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>F59456291C6CF0C83983CEBE950C1555B48C250718FF655D</key>
+			<input>5F4BC60608A3DF788631EBB66763E7DF</input>
+			<output>EFDE2113118EDFD5A15D4DFA1C1E79B4<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 225</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>9A4CD87E44EA7DEED65DEFAD8482CA8015D168FD04E11CE9</key>
+			<input>EFDE2113118EDFD5A15D4DFA1C1E79B4</input>
+			<output>2526BA56DA8A9F9A5799A9D2BE96AEBA<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 226</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>A19D5DFAEC1C9B9DF37B55FB5E08551A4248C12FBA77B253</key>
+			<input>2526BA56DA8A9F9A5799A9D2BE96AEBA</input>
+			<output>83F237712EF89A7B1E84D69DEFC9B9B9<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 227</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>C48B0103470544867089628A70F0CF615CCC17B255BE0BEA</key>
+			<input>83F237712EF89A7B1E84D69DEFC9B9B9</input>
+			<output>13B7E26895FEEFE2356306D8D822DDD3<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 228</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>B366B0FE6BB3DB17633E80E2E50E208369AF116A8D9CD639</key>
+			<input>13B7E26895FEEFE2356306D8D822DDD3</input>
+			<output>BF8C47559B230A3311543BEAA90D4DA1<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 229</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>BE5A735484B72645DCB2C7B77E2D2AB078FB2A8024919B98</key>
+			<input>BF8C47559B230A3311543BEAA90D4DA1</input>
+			<output>D3C9AFCED64F46AC74FFF73302DE10EB<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 230</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>1DFD852FE9F131840F7B6879A8626C1C0C04DDB3264F8B73</key>
+			<input>D3C9AFCED64F46AC74FFF73302DE10EB</input>
+			<output>004386EABD8F3C60971D34B5A5F220F8<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 231</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>BB9831D80259A5A40F38EE9315ED507C9B19E90683BDAB8B</key>
+			<input>004386EABD8F3C60971D34B5A5F220F8</input>
+			<output>119A244F6A3ED1947A764CFE96568213<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 232</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>93B0F09E78E610741EA2CADC7FD381E8E16FA5F815EB2998</key>
+			<input>119A244F6A3ED1947A764CFE96568213</input>
+			<output>4C8D061BD62737E674DDCACEFC37DA11<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 233</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>43E5036A09590404522FCCC7A9F4B60E95B26F36E9DCF389</key>
+			<input>4C8D061BD62737E674DDCACEFC37DA11</input>
+			<output>7B5EFE44536B5AB9CF75A457BB8C2417<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 234</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>869CF7BF36FBB5D829713283FA9FECB75AC7CB615250D79E</key>
+			<input>7B5EFE44536B5AB9CF75A457BB8C2417</input>
+			<output>25771915A1C0F8149634963E1C91BD26<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 235</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>C9BD373897A760E30C062B965B5F14A3CCF35D5F4EC16AB8</key>
+			<input>25771915A1C0F8149634963E1C91BD26</input>
+			<output>8BB2BC7E7BAAEA1AAF7A9E285BEEB8F1<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 236</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>D2EE543EACA1592687B497E820F5FEB96389C377152FD249</key>
+			<input>8BB2BC7E7BAAEA1AAF7A9E285BEEB8F1</input>
+			<output>05556B6AB68D2DABCDB32FB724D44F57<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 237</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>9583438F7194754F82E1FC829678D312AE3AECC031FB9D1E</key>
+			<input>05556B6AB68D2DABCDB32FB724D44F57</input>
+			<output>A4CE8197B0EAE6AD57D5A0630D0CABD0<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 238</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>A5B96A3EFB2EF0C7262F7D15269235BFF9EF4CA33CF736CE</key>
+			<input>A4CE8197B0EAE6AD57D5A0630D0CABD0</input>
+			<output>8E40F09865AA8EA114EA7F36E11815C3<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 239</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>8E7A04E47969F5DBA86F8D8D4338BB1EED053395DDEF230D</key>
+			<input>8E40F09865AA8EA114EA7F36E11815C3</input>
+			<output>194A76947319ED92D96D292684C29B5A<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 240</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>E52197304B446A01B125FB193021568C34681AB3592DB857</key>
+			<input>194A76947319ED92D96D292684C29B5A</input>
+			<output>93526BBB6405BDEA68AC01F1C807EBF7<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 241</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>DA4552EC2C076DC3227790A25424EB665CC41B42912A53A0</key>
+			<input>93526BBB6405BDEA68AC01F1C807EBF7</input>
+			<output>59860971F900B739B36CB97D35B082D1<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 242</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>E7329ED9491CA8227BF199D3AD245C5FEFA8A23FA49AD171</key>
+			<input>59860971F900B739B36CB97D35B082D1</input>
+			<output>92F430D5B1F35B469ECDDFDCB2A110F5<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 243</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>1ADC19560D9AEF09E905A9061CD7071971657DE3163BC184</key>
+			<input>92F430D5B1F35B469ECDDFDCB2A110F5</input>
+			<output>F81D2505FD9A569A71502B23894DA535<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 244</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>6ED932F2BEBD486911188C03E14D5183003556C09F7664B1</key>
+			<input>F81D2505FD9A569A71502B23894DA535</input>
+			<output>93BACD72A0E761D34E8603FC44F6BA5E<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 245</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>F0A52339F0C68F5782A2417141AA30504EB3553CDB80DEEF</key>
+			<input>93BACD72A0E761D34E8603FC44F6BA5E</input>
+			<output>631DB808708B5EBB54A2DE6B62519235<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 246</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>0B262E7EA7109C03E1BFF97931216EEB1A118B57B9D14CDA</key>
+			<input>631DB808708B5EBB54A2DE6B62519235</input>
+			<output>C402023DA5F2F230FEEACE1C5F8B5390<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 247</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>1E7EB042CA0EA74F25BDFB4494D39CDBE4FB454BE65A1F4A</key>
+			<input>C402023DA5F2F230FEEACE1C5F8B5390</input>
+			<output>CAD88E79E0AB4A3B324F6D3ABBEA211C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 248</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>215E3E970705BE3DEF65753D7478D6E0D6B428715DB03E56</key>
+			<input>CAD88E79E0AB4A3B324F6D3ABBEA211C</input>
+			<output>1B2303C4FEB78105B5BF35BC1C5C2FF9<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 249</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>512CE443B55593D9F44676F98ACF57E5630B1DCD41EC11AF</key>
+			<input>1B2303C4FEB78105B5BF35BC1C5C2FF9</input>
+			<output>06CAE1EED611AF829C83216697F8AEFA<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 250</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>533251960972B2BFF28C97175CDEF867FF883CABD614BF55</key>
+			<input>06CAE1EED611AF829C83216697F8AEFA</input>
+			<output>170194A7E4E85B0A339BF86460E5ABC6<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 251</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>B484A158FBC3D31FE58D03B0B836A36DCC13C4CFB6F11493</key>
+			<input>170194A7E4E85B0A339BF86460E5ABC6</input>
+			<output>AF7014D972F55B0CD759CAFBC0D9483B<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 252</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>C470759A6962C1934AFD1769CAC3F8611B4A0E3476285CA8</key>
+			<input>AF7014D972F55B0CD759CAFBC0D9483B</input>
+			<output>E8BD547419DADD980682B701CCEF3C7E<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 253</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>D27A5BF9DD3B6F61A240431DD31925F91DC8B935BAC760D6</key>
+			<input>E8BD547419DADD980682B701CCEF3C7E</input>
+			<output>E8F9CFAA891A471EBBC5806F03E0E18A<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 254</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>041C2FF776BAF2334AB98CB75A0362E7A60D395AB927815C</key>
+			<input>E8F9CFAA891A471EBBC5806F03E0E18A</input>
+			<output>F90F888C03CEBFC9A807DF2100488B24<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 255</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>9BB4307835C91BA4B3B6043B59CDDD2E0E0AE67BB96F0A78</key>
+			<input>F90F888C03CEBFC9A807DF2100488B24</input>
+			<output>7874C642B44810334C2CF572DA0DEF68<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 256</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>56E742B84F293B68CBC2C279ED85CD1D422613096362E510</key>
+			<input>7874C642B44810334C2CF572DA0DEF68</input>
+			<output>064513BBD5E667B651B93502E86B6C43<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 257</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>66E28C26E01570FCCD87D1C23863AAAB139F260B8B098953</key>
+			<input>064513BBD5E667B651B93502E86B6C43</input>
+			<output>D461A03D7D8669BBC32430D00D437E59<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 258</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>5674831937969B7619E671FF45E5C310D0BB16DB864AF70A</key>
+			<input>D461A03D7D8669BBC32430D00D437E59</input>
+			<output>0A07F858DBD1909FF970C95ED7287FB3<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 259</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>D45BCD0FF3E14A7013E189A79E34538F29CBDF85516288B9</key>
+			<input>0A07F858DBD1909FF970C95ED7287FB3</input>
+			<output>C2E45D29C1DF02CB4D768682ADD73E6B<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 260</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>40F81EBEF03AAAABD105D48E5FEB514464BD5907FCB5B6D2</key>
+			<input>C2E45D29C1DF02CB4D768682ADD73E6B</input>
+			<output>01E21E496061DAC195F24F6D1CF22B8A<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 261</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>99C8875EE8221C3FD0E7CAC73F8A8B85F14F166AE0479D58</key>
+			<input>01E21E496061DAC195F24F6D1CF22B8A</input>
+			<output>71D1C35E1126F6907CDB5414B8C97E84<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 262</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>F1582613B3466D7FA13609992EAC7D158D94427E588EE3DC</key>
+			<input>71D1C35E1126F6907CDB5414B8C97E84</input>
+			<output>8B7BBAF63C993D4BBB098A22D00C5608<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 263</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>4679A2F69656CFD32A4DB36F1235405E369DC85C8882B5D4</key>
+			<input>8B7BBAF63C993D4BBB098A22D00C5608</input>
+			<output>651B19F5C1B67FC52151E7C5F1246485<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 264</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>A404FC3490DFC7244F56AA9AD3833F9B17CC2F9979A6D151</key>
+			<input>651B19F5C1B67FC52151E7C5F1246485</input>
+			<output>158F0AE36B5585868DFB998520318FEB<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 265</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>F7DCCA4394981F2D5AD9A079B8D6BA1D9A37B61C59975EBA</key>
+			<input>158F0AE36B5585868DFB998520318FEB</input>
+			<output>B62EC94231405F3FB0D160FBFF2DE27E<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 266</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>1F38711C9B6BD060ECF7693B8996E5222AE6D6E7A6BABCC4</key>
+			<input>B62EC94231405F3FB0D160FBFF2DE27E</input>
+			<output>464AFFA35373CEE71523FF0AFBFB1F51<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 267</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>6B846AAC0C448654AABD9698DAE52BC53FC529ED5D41A395</key>
+			<input>464AFFA35373CEE71523FF0AFBFB1F51</input>
+			<output>C729EA9A05D5482491CE31DBBC03CE24<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 268</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>BD539A9B4001B6876D947C02DF3063E1AE0B1836E1426DB1</key>
+			<input>C729EA9A05D5482491CE31DBBC03CE24</input>
+			<output>C755C048ADAD22A628B077163097415F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 269</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>18B524EEF606589DAAC1BC4A729D414786BB6F20D1D52CEE</key>
+			<input>C755C048ADAD22A628B077163097415F</input>
+			<output>2DADB8F8FC76D8C997627449E44D14B2<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 270</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>3C2C6A047706E3DD876C04B28EEB998E11D91B693598385C</key>
+			<input>2DADB8F8FC76D8C997627449E44D14B2</input>
+			<output>2D7109526C2F1B5D08DD356B163498D7<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 271</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>40593D776B6C5920AA1D0DE0E2C482D319042E0223ACA08B</key>
+			<input>2D7109526C2F1B5D08DD356B163498D7</input>
+			<output>D9C1D988ABD5C892B2E5BA7BF4F584D3<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 272</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>72B53E4711B3DE9873DCD46849114A41ABE19479D7592458</key>
+			<input>D9C1D988ABD5C892B2E5BA7BF4F584D3</input>
+			<output>0A32E78440A8AE4A3FF74B20A3F5F7DE<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 273</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>C0BEF126899B305B79EE33EC09B9E40B9416DF5974ACD386</key>
+			<input>0A32E78440A8AE4A3FF74B20A3F5F7DE</input>
+			<output>E7AA36688851D8E4E08E9EFE6987C571<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 274</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>D16257EFEE63CC399E44058481E83CEF749841A71D2B16F7</key>
+			<input>E7AA36688851D8E4E08E9EFE6987C571</input>
+			<output>0E3E2E99FFA84F8A69CAA897017DD09C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 275</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>3509E5A7A66648B9907A2B1D7E4073651D52E9301C56C66B</key>
+			<input>0E3E2E99FFA84F8A69CAA897017DD09C</input>
+			<output>96766B7F6E78537994466BDC62607C85<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 276</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>46BC3EB6FA22C8AC060C40621038201C891482EC7E36BAEE</key>
+			<input>96766B7F6E78537994466BDC62607C85</input>
+			<output>AA42980BBABA21DACE6D9FCD28A5B0BA<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 277</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>26FC66C5E5C6E585AC4ED869AA8201C647791D2156930A54</key>
+			<input>AA42980BBABA21DACE6D9FCD28A5B0BA</input>
+			<output>EC057F10222EC91403E1B6CEFCE3556A<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 278</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>91FBDF7B24B0FEB4404BA77988ACC8D24498ABEFAA705F3E</key>
+			<input>EC057F10222EC91403E1B6CEFCE3556A</input>
+			<output>E6E91EC6B977C3547D08F717F6702E80<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 279</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>5BD8360BB35CE209A6A2B9BF31DB0B8639905CF85C0071BE</key>
+			<input>E6E91EC6B977C3547D08F717F6702E80</input>
+			<output>DF9BE6A5A61CC4B66C76447202CBFADA<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 280</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>E58D0EFAB72342BD79395F1A97C7CF3055E6188A5ECB8B64</key>
+			<input>DF9BE6A5A61CC4B66C76447202CBFADA</input>
+			<output>8466FA526E1038CC14A2EC6D85FC4EDF<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 281</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>7EB51DD43B05BB26FD5FA548F9D7F7FC4144F4E7DB37C5BB</key>
+			<input>8466FA526E1038CC14A2EC6D85FC4EDF</input>
+			<output>5C5A965E386B16D50F3487D54C04AA6B<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 282</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>8F4BEBA429FE57C4A1053316C1BCE1294E70733297336FD0</key>
+			<input>5C5A965E386B16D50F3487D54C04AA6B</input>
+			<output>BCD57B57FAA6E3F81660113345CD24F9<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 283</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>4A5DA421D27E62821DD048413B1A02D158106201D2FE4B29</key>
+			<input>BCD57B57FAA6E3F81660113345CD24F9</input>
+			<output>7450D38B3A6D8C4987EE3F7F71C68FFC<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 284</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>77934AE2BB39BC4469809BCA01778E98DFFE5D7EA338C4D5</key>
+			<input>7450D38B3A6D8C4987EE3F7F71C68FFC</input>
+			<output>A6D1D5A31BAB1CE9F027376539B2AAE2<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 285</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>2C6FD4455E96F2F6CF514E691ADC92712FD96A1B9A8A6E37</key>
+			<input>A6D1D5A31BAB1CE9F027376539B2AAE2</input>
+			<output>10894E2E6275D172259D4C23332508B9<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 286</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>2608AB9AA8CED631DFD8004778A943030A442638A9AF668E</key>
+			<input>10894E2E6275D172259D4C23332508B9</input>
+			<output>53C2AB8E42B4EF7FF659D3FB251453C7<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 287</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>68840BD9639AC3128C1AABC93A1DAC7CFC1DF5C38CBB3549</key>
+			<input>53C2AB8E42B4EF7FF659D3FB251453C7</input>
+			<output>3A9C38D026561B83B0F3E7B566C66CD2<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 288</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>EFCDF07C0E70D051B68693191C4BB7FF4CEE1276EA7D599B</key>
+			<input>3A9C38D026561B83B0F3E7B566C66CD2</input>
+			<output>B9F7E495B96BE7C0307D8F7A53200193<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 289</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>87DFC62793B45EF60F71778CA520503F7C939D0CB95D5808</key>
+			<input>B9F7E495B96BE7C0307D8F7A53200193</input>
+			<output>2425FE8AAA7ED06A5FFEC11D7B289891<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 290</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>5FD78DA64A9F50142B5489060F5E8055236D5C11C275C099</key>
+			<input>2425FE8AAA7ED06A5FFEC11D7B289891</input>
+			<output>93BC83BCF69DBB256C27AF250FDEFAEB<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 291</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>81C88579E065FD16B8E80ABAF9C33B704F4AF334CDAB3A72</key>
+			<input>93BC83BCF69DBB256C27AF250FDEFAEB</input>
+			<output>A1AF953D4BD1A474B1173D4686EBB8CF<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 292</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>DEE7FFE9A3814D2B19479F87B2129F04FE5DCE724B4082BD</key>
+			<input>A1AF953D4BD1A474B1173D4686EBB8CF</input>
+			<output>00AAC1CD74952011A03714A6BB091653<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 293</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>8331CC8136829F1E19ED5E4AC687BF155E6ADAD4F04994EE</key>
+			<input>00AAC1CD74952011A03714A6BB091653</input>
+			<output>00B92CBFFC3589CEB3ECAA7D221C3F0B<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 294</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>FF862EBFECC11E93195472F53AB236DBED8670A9D255ABE5</key>
+			<input>00B92CBFFC3589CEB3ECAA7D221C3F0B</input>
+			<output>2E07858E94AD300A35448EFA848A767A<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 295</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>18B8678C5497708E3753F77BAE1F06D1D8C2FE5356DFDD9F</key>
+			<input>2E07858E94AD300A35448EFA848A767A</input>
+			<output>B02F0C98F3B7BB7807F35F6DFD925238<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 296</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>C90D1E18331CA38F877CFBE35DA8BDA9DF31A13EAB4D8FA7</key>
+			<input>B02F0C98F3B7BB7807F35F6DFD925238</input>
+			<output>EAACC8624146D29129ED8B904E89F04A<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 297</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>A08AD721EE869F2E6DD033811CEE6F38F6DC2AAEE5C47FED</key>
+			<input>EAACC8624146D29129ED8B904E89F04A</input>
+			<output>8949A5A4289B65A32C5116E8A4B55A50<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 298</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>CED3055CB1AC48CAE499962534750A9BDA8D3C46417125BD</key>
+			<input>8949A5A4289B65A32C5116E8A4B55A50</input>
+			<output>B632C5FD8EB9676B5504A8BA13E63E2D<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 299</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>AD1DA883EFFC2F3052AB53D8BACC6DF08F8994FC52971B90</key>
+			<input>B632C5FD8EB9676B5504A8BA13E63E2D</input>
+			<output>EF28A1297C07A575686B3429AC9B62D1<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 300</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>007F57339EC932CCBD83F2F1C6CBC885E7E2A0D5FE0C7941</key>
+			<input>EF28A1297C07A575686B3429AC9B62D1</input>
+			<output>C99F15E4000944120D1C3DD283D99BFF<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 301</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>3688FDD4FD7822F2741CE715C6C28C97EAFE9D077DD5E2BE</key>
+			<input>C99F15E4000944120D1C3DD283D99BFF</input>
+			<output>0AC0219E2BD43F9F19F3A0997FCB9FCD<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 302</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>AB54BF259C6F5CEE7EDCC68BED16B308F30D3D9E021E7D73</key>
+			<input>0AC0219E2BD43F9F19F3A0997FCB9FCD</input>
+			<output>E27242BC80823BDC09C33C1BDB2EA3BE<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 303</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>9C88F101B483F8399CAE84376D9488D4FACE0185D930DECD</key>
+			<input>E27242BC80823BDC09C33C1BDB2EA3BE</input>
+			<output>7ABF9BD872F54E12FB7F0B11A6D10472<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 304</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>971A26707E5B8BC2E6111FEF1F61C6C601B10A947FE1DABF</key>
+			<input>7ABF9BD872F54E12FB7F0B11A6D10472</input>
+			<output>336653E5166F1B4146DBEAED74D72BB7<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 305</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>1FFD085658F88F24D5774C0A090EDD87476AE0790B36F108</key>
+			<input>336653E5166F1B4146DBEAED74D72BB7</input>
+			<output>4849136D0509CE6C404E5685FBEEE9B8<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 306</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>411DF55702805FE69D3E5F670C0713EB0724B6FCF0D818B0</key>
+			<input>4849136D0509CE6C404E5685FBEEE9B8</input>
+			<output>6CF8DCFD53E2ED214A449398D8BF0F6C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 307</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>504BFF39E24E870FF1C6839A5FE5FECA4D602564286717DC</key>
+			<input>6CF8DCFD53E2ED214A449398D8BF0F6C</input>
+			<output>9C8326B89B3054A46ECA3BB76BC2F292<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 308</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>E4F4B55125D2D1056D45A522C4D5AA6E23AA1ED343A5E54E</key>
+			<input>9C8326B89B3054A46ECA3BB76BC2F292</input>
+			<output>C85479C9E038BA5495F67D6E8B2BEB64<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 309</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>F2E9B605207E0FD4A511DCEB24ED103AB65C63BDC88E0E2A</key>
+			<input>C85479C9E038BA5495F67D6E8B2BEB64</input>
+			<output>145607ACFFA06C08AB958DCB7BC0BDBC<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 310</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>CC0D3F478519145BB147DB47DB4D7C321DC9EE76B34EB396</key>
+			<input>145607ACFFA06C08AB958DCB7BC0BDBC</input>
+			<output>ED7EE0DA132D9964BE5E7B2581C3C270<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 311</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>EB3AFCDD9AAB59705C393B9DC860E556A3979553328D71E6</key>
+			<input>ED7EE0DA132D9964BE5E7B2581C3C270</input>
+			<output>6B576FD09F34ED38774AA383BB88B385<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 312</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>866ECC1B3691532D376E544D5754086ED4DD36D08905C263</key>
+			<input>6B576FD09F34ED38774AA383BB88B385</input>
+			<output>E540518151453A18C29BE22B5DE84D5B<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 313</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>2B3BF12A0A10E6F9D22E05CC061132761646D4FBD4ED8F38</key>
+			<input>E540518151453A18C29BE22B5DE84D5B</input>
+			<output>7865DE74099D486ECB584BE7890F3078<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 314</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>3C6EA741634001E0AA4BDBB80F8C7A18DD1E9F1C5DE2BF40</key>
+			<input>7865DE74099D486ECB584BE7890F3078</input>
+			<output>5226B72FA16653187980D265EB6C7C6D<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 315</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>A32E19E0F06CB649F86D6C97AEEA2900A49E4D79B68EC32D</key>
+			<input>5226B72FA16653187980D265EB6C7C6D</input>
+			<output>CA0D39D92B042BECABF7A14115B3A307<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 316</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>E48451707115D4A03260554E85EE02EC0F69EC38A33D602A</key>
+			<input>CA0D39D92B042BECABF7A14115B3A307</input>
+			<output>EC1658D60F1D94EF514FA8EDADAB3C1D<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 317</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>89A589616229672BDE760D988AF396035E2644D50E965C37</key>
+			<input>EC1658D60F1D94EF514FA8EDADAB3C1D</input>
+			<output>F278CD13BF2C6A1F2D9A9F0C1113205D<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 318</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>6013E84EFD076E402C0EC08B35DFFC1C73BCDBD91F857C6A</key>
+			<input>F278CD13BF2C6A1F2D9A9F0C1113205D</input>
+			<output>0B1A35F604DDB043BCD0573DC0850AF0<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 319</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>68BCE1DC00C592E22714F57D31024C5FCF6C8CE4DF00769A</key>
+			<input>0B1A35F604DDB043BCD0573DC0850AF0</input>
+			<output>EAC4FE6F8A04871AC434322CB06308E3<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 320</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>1BE682363F216340CDD00B12BB06CB450B58BEC86F637E79</key>
+			<input>EAC4FE6F8A04871AC434322CB06308E3</input>
+			<output>64B6BA31C6B15BE040DC2C0A07FFE60F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 321</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>2082C6C0D49B4DECA966B1237DB790A54B8492C2689C9876</key>
+			<input>64B6BA31C6B15BE040DC2C0A07FFE60F</input>
+			<output>5ECDC37FEA4176145C6A308F91659D43<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 322</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>23668EEA68987F8CF7AB725C97F6E6B117EEA24DF9F90535</key>
+			<input>5ECDC37FEA4176145C6A308F91659D43</input>
+			<output>BB25C81945A062A7D53531593D9910F6<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 323</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>10B544566773DD5F4C8EBA45D2568416C2DB9314C46015C3</key>
+			<input>BB25C81945A062A7D53531593D9910F6</input>
+			<output>48D98FFFC4E378D42CFC785B53DFC38D<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 324</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>7F96DD27E1C0B7B7045735BA16B5FCC2EE27EB4F97BFD64E</key>
+			<input>48D98FFFC4E378D42CFC785B53DFC38D</input>
+			<output>7DCE20BAE8345CB68103461B4AFA9F09<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 325</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>A73354FC47570B2679991500FE81A0746F24AD54DD454947</key>
+			<input>7DCE20BAE8345CB68103461B4AFA9F09</input>
+			<output>099B315B4DD55CAB5D02163154DA521C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 326</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>92A57B873A1D292F7002245BB354FCDF3226BB65899F1B5B</key>
+			<input>099B315B4DD55CAB5D02163154DA521C</input>
+			<output>37207C17099989D3EA0D13DBD6DF7FEF<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 327</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>7048AF52E1763E8E4722584CBACD750CD82BA8BE5F4064B4</key>
+			<input>37207C17099989D3EA0D13DBD6DF7FEF</input>
+			<output>7CE37081A6751A1518F03B70FBC1479D<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 328</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>24E37AF6A4BC72403BC128CD1CB86F19C0DB93CEA4812329</key>
+			<input>7CE37081A6751A1518F03B70FBC1479D</input>
+			<output>201BBD8456F70ED0BB4E19A7AE36F1A6<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 329</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>17E541A643CB8EE01BDA95494A4F61C97B958A690AB7D28F</key>
+			<input>201BBD8456F70ED0BB4E19A7AE36F1A6</input>
+			<output>3384168E4F022049B0E3AD6899B71DC9<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 330</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>31D5A160B61690A0285E83C7054D4180CB7627019300CF46</key>
+			<input>3384168E4F022049B0E3AD6899B71DC9</input>
+			<output>C83AA6AE617CB17E2977D394EBC4AD19<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 331</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>6EBA775B83D704AAE06425696431F0FEE201F49578C4625F</key>
+			<input>C83AA6AE617CB17E2977D394EBC4AD19</input>
+			<output>8AC467890AF8E729C7A86A471ADEB378<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 332</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>C1237F715488582E6AA042E06EC917D725A99ED2621AD127</key>
+			<input>8AC467890AF8E729C7A86A471ADEB378</input>
+			<output>B89CE4F733A9D67C8E504BC4BC2F7664<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 333</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>0A9E4BDAD3E856F1D23CA6175D60C1ABABF9D516DE35A743</key>
+			<input>B89CE4F733A9D67C8E504BC4BC2F7664</input>
+			<output>47B421469B794A5188255ACE84D89721<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 334</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>4BE367B885F7AF9195888751C6198BFA23DC8FD85AED3062</key>
+			<input>47B421469B794A5188255ACE84D89721</input>
+			<output>B6B09DBF9E62C60951368C9C8B63A860<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 335</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>CDFB62995E4C5D4E23381AEE587B4DF372EA0344D18E9802</key>
+			<input>B6B09DBF9E62C60951368C9C8B63A860</input>
+			<output>68933B4BD0BC23EB3178347DFE68E7F6<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 336</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>8887EBF40DE51F064BAB21A588C76E18439237392FE67FF4</key>
+			<input>68933B4BD0BC23EB3178347DFE68E7F6</input>
+			<output>C6F16CDDF00C982A927609B559B0BCBD<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 337</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>221D949B8CA9F4C48D5A4D7878CBF632D1E43E8C7656C349</key>
+			<input>C6F16CDDF00C982A927609B559B0BCBD</input>
+			<output>CBEE831F7623E3214E72AF57706525C7<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 338</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>3D35666DACEFF3C846B4CE670EE815139F9691DB0633E68E</key>
+			<input>CBEE831F7623E3214E72AF57706525C7</input>
+			<output>DFE0297AE9B69F0AD69D6189C1447333<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 339</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>43370C9C958216DC9954E71DE75E8A19490BF052C77795BD</key>
+			<input>DFE0297AE9B69F0AD69D6189C1447333</input>
+			<output>59C3B4D6055B9F73064B715CD5213C99<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 340</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>DF43233D68EE5C4AC09753CBE205156A4F40810E1256A924</key>
+			<input>59C3B4D6055B9F73064B715CD5213C99</input>
+			<output>5373F13BB16B3653FCC138FC9A9E8A47<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 341</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>472E0A65B06B4F4693E4A2F0536E2339B381B9F288C82363</key>
+			<input>5373F13BB16B3653FCC138FC9A9E8A47</input>
+			<output>9C7514B7FEDF2DC26B0C2C1954745077<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 342</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>1409E4DF955583A00F91B647ADB10EFBD88D95EBDCBC7314</key>
+			<input>9C7514B7FEDF2DC26B0C2C1954745077</input>
+			<output>2480D7C35D6B0207D84A9CEFA1C2CFDC<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 343</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>458552CAB6B1A8AC2B116184F0DA0CFC00C709047D7EBCC8</key>
+			<input>2480D7C35D6B0207D84A9CEFA1C2CFDC</input>
+			<output>46DE3E51F1355FA76652C8DA3642409B<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 344</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>2065D6F033E1EE2E6DCF5FD501EF535B6695C1DE4B3CFC53</key>
+			<input>46DE3E51F1355FA76652C8DA3642409B</input>
+			<output>13F328173D057A64DA3917468528DB4F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 345</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>6D30053E2C95BC5A7E3C77C23CEA293FBCACD698CE14271C</key>
+			<input>13F328173D057A64DA3917468528DB4F</input>
+			<output>33D71B6CD0A68B685C89C9F2D70FDFCE<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 346</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>59D69C2D25BFB6A34DEB6CAEEC4CA257E0251F6A191BF8D2</key>
+			<input>33D71B6CD0A68B685C89C9F2D70FDFCE</input>
+			<output>8E9F57B5E945CD7DFC2B9FCD5AF96DFB<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 347</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>F41ABD021E5C144EC3743B1B05096F2A1C0E80A743E29529</key>
+			<input>8E9F57B5E945CD7DFC2B9FCD5AF96DFB</input>
+			<output>71295B41B9E5872E1BD4D5C3C4C62D71<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 348</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>41C1194732CD4654B25D605ABCECE80407DA55648724B858</key>
+			<input>71295B41B9E5872E1BD4D5C3C4C62D71</input>
+			<output>E704FBBAA917788CE906A54B2A56A232<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 349</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>AF58932371569CE655599BE015FB9088EEDCF02FAD721A6A</key>
+			<input>E704FBBAA917788CE906A54B2A56A232</input>
+			<output>8DBA56CF3E019B8EA80CCB772551CA5B<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 350</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>B1E68A05A144F4FAD8E3CD2F2BFA0B0646D03B588823D031</key>
+			<input>8DBA56CF3E019B8EA80CCB772551CA5B</input>
+			<output>18F8A23F785AFEFC4ECD527AC6DBE609<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 351</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>456D39FF40B1622BC01B6F1053A0F5FA081D69224EF83638</key>
+			<input>18F8A23F785AFEFC4ECD527AC6DBE609</input>
+			<output>073F93A707D6B9A82E99990CB13BD00E<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 352</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>1FF446993B6927C6C724FCB754764C522684F02EFFC3E636</key>
+			<input>073F93A707D6B9A82E99990CB13BD00E</input>
+			<output>76723E1239356EDC37FB5E1EAFDF4678<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 353</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>0DED89E36C3B06B9B156C2A56D43228E117FAE30501CA04E</key>
+			<input>76723E1239356EDC37FB5E1EAFDF4678</input>
+			<output>1B57D35B4E2484D3945B82D59114A531<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 354</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>E433448EB970D64FAA0111FE2367A65D85242CE5C108057F</key>
+			<input>1B57D35B4E2484D3945B82D59114A531</input>
+			<output>4466DCB75F6B83885EE32D9FD533A902<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 355</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>3751EC4737F029E3EE67CD497C0C25D5DBC7017A143BAC7D</key>
+			<input>4466DCB75F6B83885EE32D9FD533A902</input>
+			<output>A8B62B9FCAA9331A3282899DB475AADE<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 356</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>6C1042FACD259CC346D1E6D6B6A516CFE94588E7A04E06A3</key>
+			<input>A8B62B9FCAA9331A3282899DB475AADE</input>
+			<output>DFE1CB42B29F119E44F37F60A8C2BD7C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 357</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>640D2DB3E708999A99302D94043A0751ADB6F787088CBBDF</key>
+			<input>DFE1CB42B29F119E44F37F60A8C2BD7C</input>
+			<output>891B211EE1BEA05AD7BA478FDFEBC507<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 358</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>C434FF9BD02BDF6C102B0C8AE584A70B7A0CB008D7677ED8</key>
+			<input>891B211EE1BEA05AD7BA478FDFEBC507</input>
+			<output>16ABB92A1E0F433250C551F84AE177CF<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 359</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>22A76DAFC8A7748E0680B5A0FB8BE4392AC9E1F09D860917</key>
+			<input>16ABB92A1E0F433250C551F84AE177CF</input>
+			<output>1A2F4BF6ED0CADB7FA3FC52F3C6AF191<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 360</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>5DDEDF839CF5C0D11CAFFE561687498ED0F624DFA1ECF886</key>
+			<input>1A2F4BF6ED0CADB7FA3FC52F3C6AF191</input>
+			<output>16AE687EE38FB85C0F70E20F5585F750<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 361</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>13D0157C6A30C26C0A019628F508F1D2DF86C6D0F4690FD6</key>
+			<input>16AE687EE38FB85C0F70E20F5585F750</input>
+			<output>6CD2D70F641B2A7814014177C4880107<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 362</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>6DBFF188E61696C966D341279113DBAACB8787A730E10ED1</key>
+			<input>6CD2D70F641B2A7814014177C4880107</input>
+			<output>8CAD28041AE53AA64CE0173DBD9046C2<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 363</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>44A13B269C44F018EA7E69238BF6E10C8767909A8D714813</key>
+			<input>8CAD28041AE53AA64CE0173DBD9046C2</input>
+			<output>FC8D4274BA1EF15CC39E750DD1848F7B<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 364</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>B7A8311B81A3B82C16F32B5731E8105044F9E5975CF5C768</key>
+			<input>FC8D4274BA1EF15CC39E750DD1848F7B</input>
+			<output>01CBDAEAADE486CF655401D8F7F7E84E<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 365</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>A3AC668823C917DE1738F1BD9C0C969F21ADE44FAB022F26</key>
+			<input>01CBDAEAADE486CF655401D8F7F7E84E</input>
+			<output>494C3219700E06EE9C4DCB61EF932FDF<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 366</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>05CC07DC3CBB1A4B5E74C3A4EC029071BDE02F2E449100F9</key>
+			<input>494C3219700E06EE9C4DCB61EF932FDF</input>
+			<output>BB0E7D5CD93B1839DF5CAED7996F9560<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 367</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>8768468EFC3CE954E57ABEF83539884862BC81F9DDFE9599</key>
+			<input>BB0E7D5CD93B1839DF5CAED7996F9560</input>
+			<output>CC1F9A504A67C24621ED127C63AE2A36<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 368</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>470E251F98662CEC296524A87F5E4A0E43519385BE50BFAF</key>
+			<input>CC1F9A504A67C24621ED127C63AE2A36</input>
+			<output>A48D3751956B71F925680073B35BC0A3<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 369</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>533C67C061CE6B9E8DE813F9EA353BF7663993F60D0B7F0C</key>
+			<input>A48D3751956B71F925680073B35BC0A3</input>
+			<output>80143AC021E94718146EBC7808A9DDD8<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 370</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>0303563B9274349D0DFC2939CBDC7CEF72572F8E05A2A2D4</key>
+			<input>80143AC021E94718146EBC7808A9DDD8</input>
+			<output>B90AC6ADEE1B60228096D022EE5C681B<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 371</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>1E7D3A52CC112BDCB4F6EF9425C71CCDF2C1FFACEBFECACF</key>
+			<input>B90AC6ADEE1B60228096D022EE5C681B</input>
+			<output>CB8553B21250642107E824E8FB27CAEA<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 372</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>750A36009059323E7F73BC26379778ECF529DB4410D90025</key>
+			<input>CB8553B21250642107E824E8FB27CAEA</input>
+			<output>9C86DA9646FCFEA7E778A5498F50E01E<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 373</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>6876C614C460B02CE3F566B0716B864B12517E0D9F89E03B</key>
+			<input>9C86DA9646FCFEA7E778A5498F50E01E</input>
+			<output>1481357AD5690762FD6F3809F1E5F219<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 374</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>7CE6B00F6B651FAEF77453CAA4028129EF3E46046E6C1222</key>
+			<input>1481357AD5690762FD6F3809F1E5F219</input>
+			<output>39B64998D4370E0CB47C1DC23EDCDD03<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 375</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>C3F72A84EF6F4A0CCEC21A5270358F255B425BC650B0CF21</key>
+			<input>39B64998D4370E0CB47C1DC23EDCDD03</input>
+			<output>EB1BA96272D7BB044A3381439BA4CD5B<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 376</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>C670185A26E7DA4A25D9B33002E234211171DA85CB14027A</key>
+			<input>EB1BA96272D7BB044A3381439BA4CD5B</input>
+			<output>F87EC3D7F55DA25790718E461BA2E194<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 377</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>72ECF820AC459D8DDDA770E7F7BF9676810054C3D0B6E3EE</key>
+			<input>F87EC3D7F55DA25790718E461BA2E194</input>
+			<output>AD7EA1621AD7FBA975D6BB0AB9AED116<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 378</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>CE4ECAD1C7D17D1170D9D185ED686DDFF4D6EFC9691832F8</key>
+			<input>AD7EA1621AD7FBA975D6BB0AB9AED116</input>
+			<output>473B6484F6EAE1FC837A2710AE8D462F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 379</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>3273752C9A8682F237E2B5011B828C2377ACC8D9C79574D7</key>
+			<input>473B6484F6EAE1FC837A2710AE8D462F</input>
+			<output>0E3634529E49692762F4D80333738045<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 380</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>8C2CFBB98A4E5E3839D4815385CBE504155810DAF4E6F492</key>
+			<input>0E3634529E49692762F4D80333738045</input>
+			<output>F8EFEBD78C115CC620F25AB66038F2A0<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 381</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>0416DBCAFA0850D8C13B6A8409DAB9C235AA4A6C94DE0632</key>
+			<input>F8EFEBD78C115CC620F25AB66038F2A0</input>
+			<output>B4442C38E3B8E87D8AAE2C17A5571CE9<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 382</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>7A7815A748696E99757F46BCEA6251BFBF04667B31891ADB</key>
+			<input>B4442C38E3B8E87D8AAE2C17A5571CE9</input>
+			<output>576A20E194015AB069D769FCA7D842FC<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 383</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>3848903CD019B4572215665D7E630B0FD6D30F8796515827</key>
+			<input>576A20E194015AB069D769FCA7D842FC</input>
+			<output>E253D9FB4075B021DF452B3AD51204D6<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 384</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>3E468D281DF03284C046BFA63E16BB2E099624BD43435CF1</key>
+			<input>E253D9FB4075B021DF452B3AD51204D6</input>
+			<output>D9454AE62207E70A34F13B0063498A8F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 385</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>860E4E60B132A8851903F5401C115C243D671FBD200AD67E</key>
+			<input>D9454AE62207E70A34F13B0063498A8F</input>
+			<output>A21F7DA8A298670D631F677D23504757<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 386</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>27B82EDF5FFD15DDBB1C88E8BE893B295E7878C0035A9129</key>
+			<input>A21F7DA8A298670D631F677D23504757</input>
+			<output>1D239EFBABD09A029FE11C59A385C909<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 387</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>631BCB74800FD13AA63F16131559A12BC1996499A0DF5820</key>
+			<input>1D239EFBABD09A029FE11C59A385C909</input>
+			<output>C87EB2AB019AFA608BE99CE77717B333<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 388</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>EE1326871289985E6E41A4B814C35B4B4A70F87ED7C8EB13</key>
+			<input>C87EB2AB019AFA608BE99CE77717B333</input>
+			<output>528DBF70307431E33815D1AA44C30FA8<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 389</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>F1D72A84C2FE044F3CCC1BC824B76AA8726529D4930BE4BB</key>
+			<input>528DBF70307431E33815D1AA44C30FA8</input>
+			<output>6C8014B427ED6331A5C174CF2846B70A<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 390</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>A1610602C8DD2836504C0F7C035A0999D7A45D1BBB4D53B1</key>
+			<input>6C8014B427ED6331A5C174CF2846B70A</input>
+			<output>3DF4C4BE003A13030E73026F7027ADB1<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 391</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>B2418E725A1435DD6DB8CBC203601A9AD9D75F74CB6AFE00</key>
+			<input>3DF4C4BE003A13030E73026F7027ADB1</input>
+			<output>39C50365300DCC5B47F827054879C642<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 392</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>761AF29E74671706547DC8A7336DD6C19E2F787183133842</key>
+			<input>39C50365300DCC5B47F827054879C642</input>
+			<output>847F488B3CEC2E1E4E1C6B9F37E4F631<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 393</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>C912116E7B47169AD002802C0F81F8DFD03313EEB4F7CE73</key>
+			<input>847F488B3CEC2E1E4E1C6B9F37E4F631</input>
+			<output>9A581179C883C5E057CC560A3DF6CD34<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 394</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>B08B1226353C6BD34A5A9155C7023D3F87FF45E489010347</key>
+			<input>9A581179C883C5E057CC560A3DF6CD34</input>
+			<output>799B437C3EF3663EFBD6F186EDFDF21A<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 395</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>1ECAE821E161A2C833C1D229F9F15B017C29B46264FCF15D</key>
+			<input>799B437C3EF3663EFBD6F186EDFDF21A</input>
+			<output>138A858B14FE28D9A47C76BB3FAE9AA1<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 396</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>3AD2B951E451EEA8204B57A2ED0F73D8D855C2D95B526BFC</key>
+			<input>138A858B14FE28D9A47C76BB3FAE9AA1</input>
+			<output>5E35BC76C5AC8765A6C396DFE5689579<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 397</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>791E5F91477E986E7E7EEBD428A3F4BD7E965406BE3AFE85</key>
+			<input>5E35BC76C5AC8765A6C396DFE5689579</input>
+			<output>53F8361BF47A82EF27492322BA6F57AD<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 398</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>194A170B3D4FA6E62D86DDCFDCD9765259DF77240455A928</key>
+			<input>53F8361BF47A82EF27492322BA6F57AD</input>
+			<output>FF626D77AE144C11480610EC1ABB5028<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 399</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>C9DC82F000187721D2E4B0B872CD3A4311D967C81EEEF900</key>
+			<input>FF626D77AE144C11480610EC1ABB5028</input>
+			<output>4E46F8C5092B29E29A971A0CD1F610FB<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tsymmetric/scripts/AESMonteCarloEncryptECB256.txt	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,6402 @@
+<action>
+	<actionname>AES ECB MonteCarlo ENC 0</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>0000000000000000000000000000000000000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>8B79EECC93A0EE5DFF30B4EA21636DA4<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 1</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>AD3965683E6FA98B5F38AC26653679288B79EECC93A0EE5DFF30B4EA21636DA4</key>
+			<input>8B79EECC93A0EE5DFF30B4EA21636DA4</input>
+			<output>C737317FE0846F132B23C8C2A672CE22<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 2</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>28E79E2AFC5F7745FCCABE2F6257C2EF4C4EDFB37324814ED4137C288711A386</key>
+			<input>C737317FE0846F132B23C8C2A672CE22</input>
+			<output>E58B82BFBA53C0040DC610C642121168<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 3</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>0721E93EACF9DC6C870D8133376B7C0DA9C55D0CC977414AD9D56CEEC503B2EE</key>
+			<input>E58B82BFBA53C0040DC610C642121168</input>
+			<output>10B296ABB40504995DB71DDA0B7E26FB<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 4</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>0ECE1E210ADA32EBC497AD50F516602EB977CBA77D7245D384627134CE7D9415</key>
+			<input>10B296ABB40504995DB71DDA0B7E26FB</input>
+			<output>B7198D8E88BAA25234C18517E99BB70D<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 5</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>D31313ACD90A9BB7D6596DEAB752003F0E6E4629F5C8E781B0A3F42327E62318</key>
+			<input>B7198D8E88BAA25234C18517E99BB70D</input>
+			<output>6125097DB5738C64513E125872EA436C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 6</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>488B6A78D9AA23FEA7289E250928BDE36F4B4F5440BB6BE5E19DE67B550C6074</key>
+			<input>6125097DB5738C64513E125872EA436C</input>
+			<output>07FF2ED24B522F1E31D46E94BE5C505B<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 7</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>03DDD56B142AD3B0E4FFD2BAC6568E5468B461860BE944FBD04988EFEB50302F</key>
+			<input>07FF2ED24B522F1E31D46E94BE5C505B</input>
+			<output>EB3C1E3328F840B110E934B0129F2F23<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 8</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>20F9D92C65B2F00183464197B23BE5AF83887FB52311044AC0A0BC5FF9CF1F0C</key>
+			<input>EB3C1E3328F840B110E934B0129F2F23</input>
+			<output>107CB7B403DC3F6F09EC30EC1718D183<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 9</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>79CF0BCF8EFE3DE82E27778923D1AA1993F4C80120CD3B25C94C8CB3EED7CE8F</key>
+			<input>107CB7B403DC3F6F09EC30EC1718D183</input>
+			<output>CE9DB77B1FAE0CFEC5341FA5AF4CDE8A<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 10</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>F50ADABA26525BFA7BF6EEF2402450785D697F7A3F6337DB0C789316419B1005</key>
+			<input>CE9DB77B1FAE0CFEC5341FA5AF4CDE8A</input>
+			<output>157B5946862DA3E9A1A83E45857E207D<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 11</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>3B6947995411D0AE50645129D13BACC04812263CB94E9432ADD0AD53C4E53078</key>
+			<input>157B5946862DA3E9A1A83E45857E207D</input>
+			<output>4AE3583491DF78918CAB3AC241286855<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 12</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>AAD12F02F5E5681D16236B668EF2C46702F17E082891ECA3217B979185CD582D</key>
+			<input>4AE3583491DF78918CAB3AC241286855</input>
+			<output>05400C32DC84F1AB486A9BADB1415B50<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 13</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>EA02EB82D4B2112DD3BD64C1C908CEC307B1723AF4151D0869110C3C348C037D</key>
+			<input>05400C32DC84F1AB486A9BADB1415B50</input>
+			<output>E4C0781A2EA68D142504739731EF396E<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 14</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>D51A1846DFEB738F0AF138F74C968DCCE3710A20DAB3901C4C157FAB05633A13</key>
+			<input>E4C0781A2EA68D142504739731EF396E</input>
+			<output>44CC8A9C84E6AD66BD24F1EE1F925EC3<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 15</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>B6401DFC35AF21E53CD254431CC639E9A7BD80BC5E553D7AF1318E451AF164D0</key>
+			<input>44CC8A9C84E6AD66BD24F1EE1F925EC3</input>
+			<output>20AF5FDDF65856D1A60ADC03567AE163<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 16</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>D1D2E8B5644910077B3EDB245F029C0D8712DF61A80D6BAB573B52464C8B85B3</key>
+			<input>20AF5FDDF65856D1A60ADC03567AE163</input>
+			<output>CEB74DD6FBEAFDCEE54930D58AF22ACA<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 17</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>9F932DC2AB83FA5153E7081E7360ABB449A592B753E79665B2726293C679AF79</key>
+			<input>CEB74DD6FBEAFDCEE54930D58AF22ACA</input>
+			<output>72FB3F7BBBDBA9C036C94531A32E937D<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 18</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>06AABCA83922297791C9D07AEB639BDD3B5EADCCE83C3FA584BB27A265573C04</key>
+			<input>72FB3F7BBBDBA9C036C94531A32E937D</input>
+			<output>299B26D5D6DFA2C20824D8A84E98A244<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 19</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>6124BC71768DE5E9C14D37915D90F1AE12C58B193EE39D678C9FFF0A2BCF9E40</key>
+			<input>299B26D5D6DFA2C20824D8A84E98A244</input>
+			<output>0A35C0D4170BDE0258D79B668C7C98F4<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 20</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>282B067BD441670E11E576F26C4EA67D18F04BCD29E84365D448646CA7B306B4</key>
+			<input>0A35C0D4170BDE0258D79B668C7C98F4</input>
+			<output>F4E3E981FFC8B50FC9146B85A22E71D4<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 21</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>2864E2A3986F99C55EC21C225E3498ECEC13A24CD620F66A1D5C0FE9059D7760</key>
+			<input>F4E3E981FFC8B50FC9146B85A22E71D4</input>
+			<output>130ACF4CEAFE3277DF057D4D170582ED<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 22</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>600FD4DFD03132B0DB7B2432DBE027C2FF196D003CDEC41DC25972A41298F58D</key>
+			<input>130ACF4CEAFE3277DF057D4D170582ED</input>
+			<output>50001D54F2EA5EAA3BE2206F3845D9A9<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 23</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>C1CBE3A1679D6C1913EABE3400993100AF197054CE349AB7F9BB52CB2ADD2C24</key>
+			<input>50001D54F2EA5EAA3BE2206F3845D9A9</input>
+			<output>69F3EE4B230B2DB2492FE0E36B949154<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 24</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>7C6C63E14606A0B09254A531CACB45A0C6EA9E1FED3FB705B094B2284149BD70</key>
+			<input>69F3EE4B230B2DB2492FE0E36B949154</input>
+			<output>CEEE40F3D2FD9A5521F44AD3AB55198D<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 25</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>22BB6E21BCA0450240DB117B028837AF0804DEEC3FC22D509160F8FBEA1CA4FD</key>
+			<input>CEEE40F3D2FD9A5521F44AD3AB55198D</input>
+			<output>1FA1F1AE7BF2A8C66A6ED6D5F276846B<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 26</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>7364D9AE40CBB0CCA6640B7E542DBA2617A52F4244308596FB0E2E2E186A2096</key>
+			<input>1FA1F1AE7BF2A8C66A6ED6D5F276846B</input>
+			<output>6D5BD8391C73507D57B902AB3D58D228<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 27</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>A2D8BF7602FCD22755ADA9979B2DD33B7AFEF77B5843D5EBACB72C852532F2BE</key>
+			<input>6D5BD8391C73507D57B902AB3D58D228</input>
+			<output>15ACD05539318363F275C857FBC5D86C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 28</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>3AD56A33CE89D8D3510C4152DEE734126F52272E617256885EC2E4D2DEF72AD2</key>
+			<input>15ACD05539318363F275C857FBC5D86C</input>
+			<output>B54F8D944301A899A2A88440FE8AB631<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 29</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>13ED08137C66C2000D3FE9E167387864DA1DAABA2273FE11FC6A6092207D9CE3</key>
+			<input>B54F8D944301A899A2A88440FE8AB631</input>
+			<output>23B4BF936BF383325F0DAF0548E32851<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 30</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>3C2C53CCDB4721F44B6C057BF758361AF9A9152949807D23A367CF97689EB4B2</key>
+			<input>23B4BF936BF383325F0DAF0548E32851</input>
+			<output>8B4984C6F39C7FD543B4A8629EAC6740<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 31</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>95E744B66044529E2DC2B06BF84FF3D672E091EFBA1C02F6E0D367F5F632D3F2</key>
+			<input>8B4984C6F39C7FD543B4A8629EAC6740</input>
+			<output>108834058381578E8AA7988E03942230<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 32</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>E7715B09238876A93F9858D9548CBEA56268A5EA399D55786A74FF7BF5A6F1C2</key>
+			<input>108834058381578E8AA7988E03942230</input>
+			<output>EE3974A2ECEA5A1E6FC09535323BFF29<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 33</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>08F25145082684F576933E4DF5C63DFE8C51D148D5770F6605B46A4EC79D0EEB</key>
+			<input>EE3974A2ECEA5A1E6FC09535323BFF29</input>
+			<output>1AC80F42E3529BCA587D4EA828BD3631<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 34</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>93D63C9069B415595934FA66C76A9CD09699DE0A362594AC5DC924E6EF2038DA</key>
+			<input>1AC80F42E3529BCA587D4EA828BD3631</input>
+			<output>E196DF1E8A0DE844EBD3FD84B307EEB6<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 35</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>0F5E4A3907A7BC56AAC2CB6F6871674C770F0114BC287CE8B61AD9625C27D66C</key>
+			<input>E196DF1E8A0DE844EBD3FD84B307EEB6</input>
+			<output>917AC29C88967EE5C792E72B046A4399<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 36</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>B935C42A3A93D1E45E94CBE1E232A135E675C38834BE020D71883E49584D95F5</key>
+			<input>917AC29C88967EE5C792E72B046A4399</input>
+			<output>9CE3D545895005F3EC432699F17FFDA2<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 37</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>CC3C0DCF9E6E91BE48B7F7AE251D1CB37A9616CDBDEE07FE9DCB18D0A9326857</key>
+			<input>9CE3D545895005F3EC432699F17FFDA2</input>
+			<output>089F0D41397E27B04D3268834ADF932C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 38</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>29AB63D0AB0E237BA75D250BC67E362472091B8C8490204ED0F97053E3EDFB7B</key>
+			<input>089F0D41397E27B04D3268834ADF932C</input>
+			<output>9C364B0CC209389C00824505226B8989<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 39</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>7FB99ABACCC92D9C8B17CC0066F02F39EE3F5080469918D2D07B3556C18672F2</key>
+			<input>9C364B0CC209389C00824505226B8989</input>
+			<output>767FB14493BE17A29839FBF115B9B38B<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 40</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>DB08EEBD184AEEB002302A3C41E5595B9840E1C4D5270F704842CEA7D43FC179</key>
+			<input>767FB14493BE17A29839FBF115B9B38B</input>
+			<output>CBEC5B7FB05D673C19EBF0F4B647CDB5<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 41</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>F7C517C27F319857F1D9DA5D29B6B76353ACBABB657A684C51A93E5362780CCC</key>
+			<input>CBEC5B7FB05D673C19EBF0F4B647CDB5</input>
+			<output>9721CB9555EF079ADD547D8DE09CC0C7<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 42</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>47D5164E15743853C8B0E55ED3A965D6C48D712E30956FD68CFD43DE82E4CC0B</key>
+			<input>9721CB9555EF079ADD547D8DE09CC0C7</input>
+			<output>5B16109122E874A08A2A48D5B5753256<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 43</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>152E7EF1B0FAD417DA84B4FA0AB560DB9F9B61BF127D1B7606D70B0B3791FE5D</key>
+			<input>5B16109122E874A08A2A48D5B5753256</input>
+			<output>198A9B7C41C225334176614A16F1D7CB<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 44</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>81BB271A9F0CE56E452C9FBE4CF09FF88611FAC353BF3E4547A16A4121602996</key>
+			<input>198A9B7C41C225334176614A16F1D7CB</input>
+			<output>56E255DB999AFA713020C4E987F4433B<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 45</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>A654ABA71B351BCBFD1CB03B5F88CE1AD0F3AF18CA25C4347781AEA8A6946AAD</key>
+			<input>56E255DB999AFA713020C4E987F4433B</input>
+			<output>7BF8470233D197839D4FC1B365E79C8D<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 46</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>C700B39660C3C72E15E278B2D22DD528AB0BE81AF9F453B7EACE6F1BC373F620</key>
+			<input>7BF8470233D197839D4FC1B365E79C8D</input>
+			<output>D7CDF94CBBE5E7EF7E47E4CE9BD5E073<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 47</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>C49B1589810F1915998C8C79CA2382D87CC611564211B45894898BD558A61653</key>
+			<input>D7CDF94CBBE5E7EF7E47E4CE9BD5E073</input>
+			<output>A5617B71AF28E732A0B69BFA3B90F291<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 48</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>D37A9390FD2C8D4D01704352BAFC2EE2D9A76A27ED39536A343F102F6336E4C2</key>
+			<input>A5617B71AF28E732A0B69BFA3B90F291</input>
+			<output>156D08F6A2AC3F7202DBEE15D53C8BCD<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 49</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>E4E2958608635DF83B8E39FD503356D5CCCA62D14F956C1836E4FE3AB60A6F0F</key>
+			<input>156D08F6A2AC3F7202DBEE15D53C8BCD</input>
+			<output>1790CB4B9B4E01F4CA3AAB588A3B7A51<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 50</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>B0F77AF53FB1FAF66A421093111DC925DB5AA99AD4DB6DECFCDE55623C31155E</key>
+			<input>1790CB4B9B4E01F4CA3AAB588A3B7A51</input>
+			<output>5E2DC515FE9BAE8F16188DC052C63A80<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 51</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>487CA8ECBA3E2CAF61A16285005F01F685776C8F2A40C363EAC6D8A26EF72FDE</key>
+			<input>5E2DC515FE9BAE8F16188DC052C63A80</input>
+			<output>A625E46D2DA293F536D25C9207090AA5<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 52</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>410909F6119DDA628537B825D24E8DF9235288E207E25096DC14843069FE257B</key>
+			<input>A625E46D2DA293F536D25C9207090AA5</input>
+			<output>FEFCF38ABD12EAAD37F3AE73BC4B4A8C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 53</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>F1027D98B61D2F383BCF60A83D317D03DDAE7B68BAF0BA3BEBE72A43D5B56FF7</key>
+			<input>FEFCF38ABD12EAAD37F3AE73BC4B4A8C</input>
+			<output>76D8221C2AAD44D226C769875A93CDA8<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 54</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>DDA104019F122286887545C85F6B09B1AB765974905DFEE9CD2043C48F26A25F</key>
+			<input>76D8221C2AAD44D226C769875A93CDA8</input>
+			<output>DE7FBEB010089D7EE0A1BD18F3461AEE<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 55</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>46CE686778BA955831B63F2ACFE397747509E7C4805563972D81FEDC7C60B8B1</key>
+			<input>DE7FBEB010089D7EE0A1BD18F3461AEE</input>
+			<output>A8B0824BD1FC52D92AFA0B4B23ABDEBD<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 56</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>EF1408D365E549B808DADADE3D4CBCDADDB9658F51A9314E077BF5975FCB660C</key>
+			<input>A8B0824BD1FC52D92AFA0B4B23ABDEBD</input>
+			<output>93AC85EE8DE4091894F0E1800A0DF443<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 57</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>8E8FC86B7F82A57799FE32DD1C748C8D4E15E061DC4D3856938B141755C6924F</key>
+			<input>93AC85EE8DE4091894F0E1800A0DF443</input>
+			<output>0FAE963D9B74341316D7EA8862D0766F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 58</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>D3900458ABB1ACCE0707A49565D27C4C41BB765C47390C45855CFE9F3716E420</key>
+			<input>0FAE963D9B74341316D7EA8862D0766F</input>
+			<output>37930DFBC771510D0BBDCBFAB2A5852F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 59</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>C55EE2F5633DE3E7EF3710C6C143AA7076287BA780485D488EE1356585B3610F</key>
+			<input>37930DFBC771510D0BBDCBFAB2A5852F</input>
+			<output>9C3B82D06CB9378F6CBBF6325B456A8B<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 60</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>AA16073435B24614EB1E9AE81FD921F0EA13F977ECF16AC7E25AC357DEF60B84</key>
+			<input>9C3B82D06CB9378F6CBBF6325B456A8B</input>
+			<output>2DB135F2599323714B4D0E66562FAF48<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 61</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>033F102BFB13F9F84A4E9FC0C6F52AC8C7A2CC85B56249B6A917CD3188D9A4CC</key>
+			<input>2DB135F2599323714B4D0E66562FAF48</input>
+			<output>130D64DC60EE70F07F6A68F26A9B5E19<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 62</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>60D36FD89196DB13031E829B54615707D4AFA859D58C3946D67DA5C3E242FAD5</key>
+			<input>130D64DC60EE70F07F6A68F26A9B5E19</input>
+			<output>E4E5C4A1E2A0DC99EEC583E311824371<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 63</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>532BC273D1843EB5CC1DE01D28684454304A6CF8372CE5DF38B82620F3C0B9A4</key>
+			<input>E4E5C4A1E2A0DC99EEC583E311824371</input>
+			<output>72CCE240749A6BFD0A93CDCBE2589B41<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 64</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>DAE91111E43D9DF4A0F44C27A6B1AB0842868EB843B68E22322BEBEB119822E5</key>
+			<input>72CCE240749A6BFD0A93CDCBE2589B41</input>
+			<output>300F85629B48F47444D2AA51EBAAD16C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 65</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>5C7C95B43BEA70F20A5C490F9A9F716372890BDAD8FE7A5676F941BAFA32F389</key>
+			<input>300F85629B48F47444D2AA51EBAAD16C</input>
+			<output>89278608A583E1243704B39AB9C0F30C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 66</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>5B64FDB468399A031D5745325331C2E8FBAE8DD27D7D9B7241FDF22043F20085</key>
+			<input>89278608A583E1243704B39AB9C0F30C</input>
+			<output>71B74D5FAA4558A59F3BC91AA564579A<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 67</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>0166230CCF036B4B22C63D36F71C3CF58A19C08DD738C3D7DEC63B3AE696571F</key>
+			<input>71B74D5FAA4558A59F3BC91AA564579A</input>
+			<output>7B433C70951E4BD140FF7A0CBF367429<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 68</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>D7A12389D7DD5DE963841B344315ADF9F15AFCFD422688069E39413659A02336</key>
+			<input>7B433C70951E4BD140FF7A0CBF367429</input>
+			<output>B0BE67EBCD672549AF03D323AF026FFF<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 69</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>A3EC2E92C58FE150F708C6FAEB1F459E41E49B168F41AD4F313A9215F6A24CC9</key>
+			<input>B0BE67EBCD672549AF03D323AF026FFF</input>
+			<output>99A829A7C5C7CD6A44C7EABA9A5421C7<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 70</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>CC3F7485BF8460CB1EA0AA3C20553644D84CB2B14A86602575FD78AF6CF66D0E</key>
+			<input>99A829A7C5C7CD6A44C7EABA9A5421C7</input>
+			<output>76E1A70AF79F89CFE68EAF15DC0E9BC5<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 71</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>17DC64F06B3A2941A21AE58E2FFAB363AEAD15BBBD19E9EA9373D7BAB0F8F6CB</key>
+			<input>76E1A70AF79F89CFE68EAF15DC0E9BC5</input>
+			<output>DB0805B5DCC1CA2CA7489C8E1237E7A2<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 72</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>DC7128E894C9DA167D0ACED5888F846275A5100E61D823C6343B4B34A2CF1169</key>
+			<input>DB0805B5DCC1CA2CA7489C8E1237E7A2</input>
+			<output>935D409B87A85A2CFCC09DE3D2A9A294<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 73</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>8073895C9316D299F4F32C602F2F2616E6F85095E67079EAC8FBD6D77066B3FD</key>
+			<input>935D409B87A85A2CFCC09DE3D2A9A294</input>
+			<output>F22B73EFF24249CBCB31BDC7C126B735<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 74</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>99E16793433652800ABAD7000638560914D3237A1432302103CA6B10B14004C8</key>
+			<input>F22B73EFF24249CBCB31BDC7C126B735</input>
+			<output>A16A380AE9B3F2B0AE39BB0E24BF7C0A<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 75</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>8F77C5E97DA567CC447B52F45175BC74B5B91B70FD81C291ADF3D01E95FF78C2</key>
+			<input>A16A380AE9B3F2B0AE39BB0E24BF7C0A</input>
+			<output>9CF088DE60AE87687481C9F217E86A7C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 76</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>DA1B3C2C424D2BC6A1C7A3D18D41C3F5294993AE9D2F45F9D97219EC821712BE</key>
+			<input>9CF088DE60AE87687481C9F217E86A7C</input>
+			<output>1C8B68951E65E32E77F1A31571351C1B<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 77</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>3D64F3D4BF8F585917273805AA43DCD735C2FB3B834AA6D7AE83BAF9F3220EA5</key>
+			<input>1C8B68951E65E32E77F1A31571351C1B</input>
+			<output>4AD3F3B0C15D810F0EA0FF62C6B2D0FE<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 78</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>51D61FB1B31EB55C7AA2D918E7BE32A97F11088B421727D8A023459B3590DE5B</key>
+			<input>4AD3F3B0C15D810F0EA0FF62C6B2D0FE</input>
+			<output>0DFCF7CA661572E050C522AE554A4BF8<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 79</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>B93510F7689FB9856194CF629EF63AAA72EDFF4124025538F0E6673560DA95A3</key>
+			<input>0DFCF7CA661572E050C522AE554A4BF8</input>
+			<output>7C185A5A68675DAC7A16C8DDE4B8CF8B<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 80</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>8496679D7598A1B91D2F221CF958F90B0EF5A51B4C6508948AF0AFE884625A28</key>
+			<input>7C185A5A68675DAC7A16C8DDE4B8CF8B</input>
+			<output>88FDDDA7BC2B09E48598A94474C64DC7<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 81</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>F27BCC0F919566675B129C526A4DC796860878BCF04E01700F6806ACF0A417EF</key>
+			<input>88FDDDA7BC2B09E48598A94474C64DC7</input>
+			<output>35C5C98C9C774D0BE9EFFB55C90B2F9C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 82</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>05F12B58DBF5602D31CFD0EB10313502B3CDB1306C394C7BE687FDF939AF3873</key>
+			<input>35C5C98C9C774D0BE9EFFB55C90B2F9C</input>
+			<output>C3374B5C81646AC881F0F924C22A723B<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 83</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>FD05BE617555BC8184C2F46911C46B9E70FAFA6CED5D26B3677704DDFB854A48</key>
+			<input>C3374B5C81646AC881F0F924C22A723B</input>
+			<output>0CE756792AF27525A088700DB66D4399<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 84</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>3831345DFA5ADDF7CE8B5F76B5E1EBDE7C1DAC15C7AF5396C7FF74D04DE809D1</key>
+			<input>0CE756792AF27525A088700DB66D4399</input>
+			<output>401CD076E03C108A7FD79651407923E9<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 85</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>B101FDD95C23BE560262D355E09FC39B3C017C632793431CB828E2810D912A38</key>
+			<input>401CD076E03C108A7FD79651407923E9</input>
+			<output>88614E46C416E5164F2A63CDA9DD7B89<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 86</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>0B53859962A79D216E395830E36F8D45B4603225E385A60AF702814CA44C51B1</key>
+			<input>88614E46C416E5164F2A63CDA9DD7B89</input>
+			<output>7411856C8F14A2E5F6C5F1830302A66F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 87</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>FE07E3B8961C2A1B3E34A50F8CFA1A45C071B7496C9104EF01C770CFA74EF7DE</key>
+			<input>7411856C8F14A2E5F6C5F1830302A66F</input>
+			<output>B0A815E93EBAC7A68F8BB420C8A5692D<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 88</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>9F2E0D3DB033B1929009D6C4C460B24F70D9A2A0522BC3498E4CC4EF6FEB9EF3</key>
+			<input>B0A815E93EBAC7A68F8BB420C8A5692D</input>
+			<output>AA6D27BB26275F5CB3EC3D6A8AFB80BF<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 89</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>5E903EF160161E1CA79A26D28FE32175DAB4851B740C9C153DA0F985E5101E4C</key>
+			<input>AA6D27BB26275F5CB3EC3D6A8AFB80BF</input>
+			<output>EAF7941A7E5D3907B6F52C1106EED2CE<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 90</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>60284EF35A9246CC32002028E4969309304311010A51A5128B55D594E3FECC82</key>
+			<input>EAF7941A7E5D3907B6F52C1106EED2CE</input>
+			<output>1178DD3DBDB1810E360E6FE09AA0D75C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 91</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>300CB519F3203AD4589749651BD99AC7213BCC3CB7E0241CBD5BBA74795E1BDE</key>
+			<input>1178DD3DBDB1810E360E6FE09AA0D75C</input>
+			<output>584B48263DE541E93B29C6E570D4A6F4<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 92</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>2F79EA55D0E3EAF1D0DBD364A7D64E2A7970841A8A0565F586727C91098ABD2A</key>
+			<input>584B48263DE541E93B29C6E570D4A6F4</input>
+			<output>7B2EC27F2F1BC24EAD4FC0AA0519685C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 93</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>8B46F59BF2C4B226523C203E8FD3936D025E4665A51EA7BB2B3DBC3B0C93D576</key>
+			<input>7B2EC27F2F1BC24EAD4FC0AA0519685C</input>
+			<output>13404D003576493EBB36C07C6D16A1B6<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 94</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>C7E75C30B0CE770A0075E3EBEB244811111E0B659068EE85900B7C47618574C0</key>
+			<input>13404D003576493EBB36C07C6D16A1B6</input>
+			<output>A083421A139DF68C8F863B337F3408BE<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 95</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>A957F876769BE9005DCEE4B7514FAC62B19D497F83F518091F8D47741EB17C7E</key>
+			<input>A083421A139DF68C8F863B337F3408BE</input>
+			<output>BF86650C9ECBD6C14B420FBE6B6E488B<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 96</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>FD4DE7532652D17C5ACCEA759C52A95C0E1B2C731D3ECEC854CF48CA75DF34F5</key>
+			<input>BF86650C9ECBD6C14B420FBE6B6E488B</input>
+			<output>75CEFAE872574AB6F26B0CAF6F08D858<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 97</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>54DBCDC0A57363DE6B3A032607E968C27BD5D69B6F69847EA6A444651AD7ECAD</key>
+			<input>75CEFAE872574AB6F26B0CAF6F08D858</input>
+			<output>8A3F9C96598883E9D3760C8A8FE406C6<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 98</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>AC10312E365401908F2C8AE371CB8C90F1EA4A0D36E1079775D248EF9533EA6B</key>
+			<input>8A3F9C96598883E9D3760C8A8FE406C6</input>
+			<output>B8B372C0CC6D164F340DF26B8F832DF8<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 99</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>64265CF02043C966C01DF5255F8D2867495938CDFA8C11D841DFBA841AB0C793</key>
+			<input>B8B372C0CC6D164F340DF26B8F832DF8</input>
+			<output>A7F6267A6F0CEB0EF7D07959EE065760<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 100</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>CF6B88FB273B247B8D64B5A323EF5760EEAF1EB79580FAD6B60FC3DDF4B690F3</key>
+			<input>A7F6267A6F0CEB0EF7D07959EE065760</input>
+			<output>AD96ADAC9B786AB78B1B46D9E026C935<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 101</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>4C8EEA35A90CB46AF32235997D2ADBBE4339B31B0EF890613D148504149059C6</key>
+			<input>AD96ADAC9B786AB78B1B46D9E026C935</input>
+			<output>FC7BAC9A5F64571AABF4B0A451C8D88D<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 102</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>0DD6D30191FABEC371CF0BA223BECF19BF421F81519CC77B96E035A04558814B</key>
+			<input>FC7BAC9A5F64571AABF4B0A451C8D88D</input>
+			<output>2B56E363834F27090FAC8061507A4787<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 103</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>2E69324E634312611C33F695A137AFE49414FCE2D2D3E072994CB5C11522C6CC</key>
+			<input>2B56E363834F27090FAC8061507A4787</input>
+			<output>FD37886E30CEFA28F8E8A5662A9EC5DC<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 104</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>8AFAC0C1507472CCB28B37CA88B7139D6923748CE21D1A5A61A410A73FBC0310</key>
+			<input>FD37886E30CEFA28F8E8A5662A9EC5DC</input>
+			<output>F7F36142C000D5162F789C392971FCE7<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 105</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>7DC5DA2A80219692F9F26C5934826DF29ED015CE221DCF4C4EDC8C9E16CDFFF7</key>
+			<input>F7F36142C000D5162F789C392971FCE7</input>
+			<output>D560607A0F0BE8320F2CEE56B155163F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 106</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>3CC9AE3E3EB90B511C6D8CD74419D6944BB075B42D16277E41F062C8A798E9C8</key>
+			<input>D560607A0F0BE8320F2CEE56B155163F</input>
+			<output>708133FEB47A226A616900D46FA85037<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 107</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>8B84B7F96F9B3184D5B6402ECAE344CB3B31464A996C05142099621CC830B9FF</key>
+			<input>708133FEB47A226A616900D46FA85037</input>
+			<output>1B2ED9348FC7A4E4AD8BFCE2A148D1AD<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 108</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>655CB7606D17582441247D23E222ECCF201F9F7E16ABA1F08D129EFE69786852</key>
+			<input>1B2ED9348FC7A4E4AD8BFCE2A148D1AD</input>
+			<output>B2B726C8605A6F5CBA97F04E85A1F985<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 109</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>E0BA77DAAD3E3502AB9A6CEBEC654D0492A8B9B676F1CEAC37856EB0ECD991D7</key>
+			<input>B2B726C8605A6F5CBA97F04E85A1F985</input>
+			<output>CD7F53BB4AEB364A1D8630E0B5C4A6A2<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 110</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>1470D5E493B0E8212F02D4419C46A8CD5FD7EA0D3C1AF8E62A035E50591D3775</key>
+			<input>CD7F53BB4AEB364A1D8630E0B5C4A6A2</input>
+			<output>57271A960FE2170BA3F1987E694BBD16<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 111</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>415408E88421573F93FDBE25DD4B90C208F0F09B33F8EFED89F2C62E30568A63</key>
+			<input>57271A960FE2170BA3F1987E694BBD16</input>
+			<output>E9D47C3E926475FFDB783624C3ADB17B<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 112</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>40B3017DC81EEE4BF652AE8BB8CEED1DE1248CA5A19C9A12528AF00AF3FB3B18</key>
+			<input>E9D47C3E926475FFDB783624C3ADB17B</input>
+			<output>D78F96812BB55723E04BE8818C262485<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 113</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>9EABE9B3608ACE61684BAD3F3FED5C9736AB1A248A29CD31B2C1188B7FDD1F9D</key>
+			<input>D78F96812BB55723E04BE8818C262485</input>
+			<output>E2092227E1A3D2E525942090DA0A3F3E<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 114</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>B095E4F38E060016EBC4C42D3A4EFBD6D4A238036B8A1FD49755381BA5D720A3</key>
+			<input>E2092227E1A3D2E525942090DA0A3F3E</input>
+			<output>95E9EE1F56A65FF85B752FC300F525AE<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 115</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>9B2841F44291552EA04DE13E4E78011B414BD61C3D2C402CCC2017D8A522050D</key>
+			<input>95E9EE1F56A65FF85B752FC300F525AE</input>
+			<output>32D8465F2E11A04F8984FEE8E710CD25<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 116</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>67D8B10D0DDB61932E610EB077F0D85F73939043133DE06345A4E9304232C828</key>
+			<input>32D8465F2E11A04F8984FEE8E710CD25</input>
+			<output>2D9803ECFB95B2591FE56B3CBB4307F2<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 117</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>B0C80A38EDE23A549EF08E5DC3CEA2F25E0B93AFE8A8523A5A41820CF971CFDA</key>
+			<input>2D9803ECFB95B2591FE56B3CBB4307F2</input>
+			<output>4B19F9BCAFD471BF9014ADA19891E4E6<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 118</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>85C6DF29F9AEBA6087E3746BA5CF6C1515126A13477C2385CA552FAD61E02B3C</key>
+			<input>4B19F9BCAFD471BF9014ADA19891E4E6</input>
+			<output>53159BC4FBD06FD03ABAC028A536C4A0<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 119</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>2D42BE0B33D92ECC40DF48CF0AE0CB764607F1D7BCAC4C55F0EFEF85C4D6EF9C</key>
+			<input>53159BC4FBD06FD03ABAC028A536C4A0</input>
+			<output>BCDB1347ACD50D0084D588D4540420E3<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 120</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>338A4DC6E729E6FCF71095BB4E6F52FEFADCE29010794155743A675190D2CF7F</key>
+			<input>BCDB1347ACD50D0084D588D4540420E3</input>
+			<output>E12DC82E79554E1202DA471C3221A554<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 121</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>47597486437CBCD33FC195C56FF972BB1BF12ABE692C0F4776E0204DA2F36A2B</key>
+			<input>E12DC82E79554E1202DA471C3221A554</input>
+			<output>23A43E9D6F7C5A6C842233CCEC120EB9<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 122</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>CEE8CF713EBF0C609E3429E5183014BB385514230650552BF2C213814EE16492</key>
+			<input>23A43E9D6F7C5A6C842233CCEC120EB9</input>
+			<output>9F3F4349BF98D3CC00DB167F0FFDC7AB<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 123</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>C9B3A1CAFA0D4F0DA942C17FFB75E333A76A576AB9C886E7F21905FE411CA339</key>
+			<input>9F3F4349BF98D3CC00DB167F0FFDC7AB</input>
+			<output>C4D8B8EBEF311C11FE2404220EA65E99<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 124</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>8360E6F464B61C4BAE31D3A72422128463B2EF8156F99AF60C3D01DC4FBAFDA0</key>
+			<input>C4D8B8EBEF311C11FE2404220EA65E99</input>
+			<output>47E3318C721E6C094763F0A18042911D<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 125</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>926B00B9767D0CAD5331CD6F0343C4A92451DE0D24E7F6FF4B5EF17DCFF86CBD</key>
+			<input>47E3318C721E6C094763F0A18042911D</input>
+			<output>D709FA9A1415B0FAC71B4CF52504791F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 126</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>3F4349126EF6A51FD196742CB461D01EF358249730F246058C45BD88EAFC15A2</key>
+			<input>D709FA9A1415B0FAC71B4CF52504791F</input>
+			<output>7937DD067DDB85F200A492E5824DA23C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 127</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>4420ADF6906CFBF8421524E88517327C8A6FF9914D29C3F78CE12F6D68B1B79E</key>
+			<input>7937DD067DDB85F200A492E5824DA23C</input>
+			<output>B68617F1372847206BA088D7100334A4<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 128</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>125BEB5234B89A376ABBB2185F24BDDE3CE9EE607A0184D7E741A7BA78B2833A</key>
+			<input>B68617F1372847206BA088D7100334A4</input>
+			<output>390938BA9F2264484DE63D8003C15369<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 129</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>A457831AB172D88111E87C3955D0C0F205E0D6DAE523E09FAAA79A3A7B73D053</key>
+			<input>390938BA9F2264484DE63D8003C15369</input>
+			<output>A69ED32FD728337A5C25FBC2230DC788<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 130</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>CC7ED4183BFAE0FA0F9DD348B8E194F2A37E05F5320BD3E5F68261F8587E17DB</key>
+			<input>A69ED32FD728337A5C25FBC2230DC788</input>
+			<output>EDB9D6099202FE4AE51EEC725478FB47<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 131</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>686AB4F5C19296AED306ADEA4FD52D1A4EC7D3FCA0092DAF139C8D8A0C06EC9C</key>
+			<input>EDB9D6099202FE4AE51EEC725478FB47</input>
+			<output>61059EA3BF0C953762CB37E50ED7081F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 132</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>8115329FADEBA92AB2827BD7701A01442FC24D5F1F05B8987157BA6F02D1E483</key>
+			<input>61059EA3BF0C953762CB37E50ED7081F</input>
+			<output>A683E36EF7CCDABDBCA683C2D6560D25<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 133</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>49254E8904EED2766A6A1A615B63B97C8941AE31E8C96225CDF139ADD487E9A6</key>
+			<input>A683E36EF7CCDABDBCA683C2D6560D25</input>
+			<output>8EF424771561BFEC0058C7CAA5876EF6<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 134</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>259194CE8701581012F5592B61BCA99507B58A46FDA8DDC9CDA9FE6771008750</key>
+			<input>8EF424771561BFEC0058C7CAA5876EF6</input>
+			<output>79AC024A7BA5FFE143D40D34F2E587A6<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 135</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>CA0427FE28C77D0CA25D6851CCFE58C47E19880C860D22288E7DF35383E500F6</key>
+			<input>79AC024A7BA5FFE143D40D34F2E587A6</input>
+			<output>2258AB9F0E254CE21EB9B7F6EA690671<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 136</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>DA9A4B566C9F670DF850F891A5274CC95C41239388286ECA90C444A5698C0687</key>
+			<input>2258AB9F0E254CE21EB9B7F6EA690671</input>
+			<output>55ACB73E8A45BF964BD040C799724DAD<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 137</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>9F177A6A6B524C75DB5CC0DBB6AD733209ED94AD026DD15CDB140462F0FE4B2A</key>
+			<input>55ACB73E8A45BF964BD040C799724DAD</input>
+			<output>3E904B15F2E5DDC934DABC25259CB3CF<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 138</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>2AD96F6874C1BA6A82C5EE80A9A2E8E5377DDFB8F0880C95EFCEB847D562F8E5</key>
+			<input>3E904B15F2E5DDC934DABC25259CB3CF</input>
+			<output>3ACFF8D5B701A5BD1355DDA705D269CB<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 139</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>ADD59DF57CC01DE988C6D81E65B1D00E0DB2276D4789A928FC9B65E0D0B0912E</key>
+			<input>3ACFF8D5B701A5BD1355DDA705D269CB</input>
+			<output>3EF4AC14CC954FB4A9A808C7C00A2F1F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 140</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>D3EBE43C4E9C96B37133F6AF8910A25F33468B798B1CE69C55336D2710BABE31</key>
+			<input>3EF4AC14CC954FB4A9A808C7C00A2F1F</input>
+			<output>61C50D5C736AEDCF03C06FC310CC19D9<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 141</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>FA45F434377F2E217C4A5B7A7526CC1952838625F8760B5356F302E40076A7E8</key>
+			<input>61C50D5C736AEDCF03C06FC310CC19D9</input>
+			<output>2BF543C6548ED0344262640AD95F95C9<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 142</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>71EAD73C81ED5AE731D19B0B2B42F0E87976C5E3ACF8DB67149166EED9293221</key>
+			<input>2BF543C6548ED0344262640AD95F95C9</input>
+			<output>F8C1DBDD20317FEB1625634A451931B5<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 143</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>3FD0019D000111D4300D2CEF39F53C0D81B71E3E8CC9A48C02B405A49C300394</key>
+			<input>F8C1DBDD20317FEB1625634A451931B5</input>
+			<output>DEDB54735B8B90C8EEC66EAECFB13ED6<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 144</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>070976B2D3AA1E737BC24A8A794A21BE5F6C4A4DD7423444EC726B0A53813D42</key>
+			<input>DEDB54735B8B90C8EEC66EAECFB13ED6</input>
+			<output>75941A1ADA444115961E058E2D6C6396<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 145</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>81AC2B7F073D0D06BA8A43D3381D3A3F2AF850570D0675517A6C6E847EED5ED4</key>
+			<input>75941A1ADA444115961E058E2D6C6396</input>
+			<output>7C66BE2B0354A6549E10489AF7A83424<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 146</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>37BDD1946BB9B5616115F015E9162F5B569EEE7C0E52D305E47C261E89456AF0</key>
+			<input>7C66BE2B0354A6549E10489AF7A83424</input>
+			<output>F589769555BDEFD0B29E6A65313BD2E1<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 147</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>CF27BD543BB4EED052B808D1EE350D35A31798E95BEF3CD556E24C7BB87EB811</key>
+			<input>F589769555BDEFD0B29E6A65313BD2E1</input>
+			<output>9B3215F70FBCC5ED9CC0D6D7E1E56F11<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 148</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>43321308251C33234CCD9ED19E5E74AF38258D1E5453F938CA229AAC599BD700</key>
+			<input>9B3215F70FBCC5ED9CC0D6D7E1E56F11</input>
+			<output>705CCB60E0A6E997578DCC804D49D265<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 149</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>F2152160EAD144776BA6BDED0AC49CD24879467EB4F510AF9DAF562C14D20565</key>
+			<input>705CCB60E0A6E997578DCC804D49D265</input>
+			<output>3DA4CEC68D47E55ECF21A1C5CDAFE4E6<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 150</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>593B7EDAE946A5269EF33D088D1B297675DD88B839B2F5F1528EF7E9D97DE183</key>
+			<input>3DA4CEC68D47E55ECF21A1C5CDAFE4E6</input>
+			<output>32299EDBED49B66271107CA1822F179E<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 151</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>852E4554AD1459CE81DBA17D18DA96C447F41663D4FB4393239E8B485B52F61D</key>
+			<input>32299EDBED49B66271107CA1822F179E</input>
+			<output>45856FD2080FA9BBFA0857BCF7381823<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 152</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>1D8F910508F9C08DB4DE4D5C465310F4027179B1DCF4EA28D996DCF4AC6AEE3E</key>
+			<input>45856FD2080FA9BBFA0857BCF7381823</input>
+			<output>6A8C18595AF5D1E46F9F168C31566BAF<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 153</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>1A42C028C1ABA740D95A47ABD7B4F40D68FD61E886013BCCB609CA789D3C8591</key>
+			<input>6A8C18595AF5D1E46F9F168C31566BAF</input>
+			<output>71A41A6B6BF9FB906B0617DCB76B4BA5<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 154</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>3C408CB08BCAF34B2BCE6EF787A96D5219597B83EDF8C05CDD0FDDA42A57CE34</key>
+			<input>71A41A6B6BF9FB906B0617DCB76B4BA5</input>
+			<output>9105B8FC516E0B19AEDD003979F8C298<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 155</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>804516E36B1B5E046B15CBE1D3F26EE9885CC37FBC96CB4573D2DD9D53AF0CAC</key>
+			<input>9105B8FC516E0B19AEDD003979F8C298</input>
+			<output>27ACD01CC0403AD6DB45C7DF3E515EDE<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 156</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>CD8199690660BD4DBA38CE522D1A12CEAFF013637CD6F193A8971A426DFE5272</key>
+			<input>27ACD01CC0403AD6DB45C7DF3E515EDE</input>
+			<output>86E2A23AC567C5F05F15A318E38360A7<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 157</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>0AD8BB3D5B2A538DF0BDD50EB74CC1BA2912B159B9B13463F782B95A8E7D32D5</key>
+			<input>86E2A23AC567C5F05F15A318E38360A7</input>
+			<output>CB03EDA81BF211B5FE03D4A0879E9EDD<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 158</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>081040B60AE9E733243F4C39013EEDB5E2115CF1A24325D609816DFA09E3AC08</key>
+			<input>CB03EDA81BF211B5FE03D4A0879E9EDD</input>
+			<output>6F1AD4AD727348DD593459E0D7661813<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 159</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>A51E29D20BB0963DF854C898299E114A8D0B885CD0306D0B50B5341ADE85B41B</key>
+			<input>6F1AD4AD727348DD593459E0D7661813</input>
+			<output>236B421E3103D4C17297D3F5C8BA1D17<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 160</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>49D4EB9964431F42F0FC6494A47A50CCAE60CA42E133B9CA2222E7EF163FA90C</key>
+			<input>236B421E3103D4C17297D3F5C8BA1D17</input>
+			<output>118AE5A5597E8DB200B26DBE11AC4BC8<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 161</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>0F3F7298BE444450A0A07A4B73897720BFEA2FE7B84D347822908A510793E2C4</key>
+			<input>118AE5A5597E8DB200B26DBE11AC4BC8</input>
+			<output>DF02587F25CC4C59E6AECE98BCAACCB8<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 162</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>7E30984A4C0B18D2F791858B83FC960960E877989D817821C43E44C9BB392E7C</key>
+			<input>DF02587F25CC4C59E6AECE98BCAACCB8</input>
+			<output>3DA0F35FDAEF499ADBF602939FC748D4<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 163</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>360A7168E056892E5BF0127EA3B58CAF5D4884C7476E31BB1FC8465A24FE66A8</key>
+			<input>3DA0F35FDAEF499ADBF602939FC748D4</input>
+			<output>FE462F878CEEDDDAA00855B85A81A14B<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 164</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>A75B3537E0EB98FC0F41C9E1306F6667A30EAB40CB80EC61BFC013E27E7FC7E3</key>
+			<input>FE462F878CEEDDDAA00855B85A81A14B</input>
+			<output>47EA8AC561D7A9F99F64F41A9AD46E5C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 165</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>219E71FC6D23A5103DE4DA9C5EDFA0AEE4E42185AA57459820A4E7F8E4ABA9BF</key>
+			<input>47EA8AC561D7A9F99F64F41A9AD46E5C</input>
+			<output>650FAE7F29A098D787F60CC3C0D77580<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 166</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>038A888C6EA4E9502A15110832AE0DF081EB8FFA83F7DD4FA752EB3B247CDC3F</key>
+			<input>650FAE7F29A098D787F60CC3C0D77580</input>
+			<output>0334BF8CA2835C71F2A283736D54E933<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 167</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>714967419F9129B9649A13A9DA3291A582DF30762174813E55F068484928350C</key>
+			<input>0334BF8CA2835C71F2A283736D54E933</input>
+			<output>1B3A09B325F3D833A3C83D941832B204<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 168</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>BCDB12EAF8D3C95F821C0DD324FD36BB99E539C50487590DF63855DC511A8708</key>
+			<input>1B3A09B325F3D833A3C83D941832B204</input>
+			<output>CF980ED2619858290881314B7F0B9516<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 169</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>B8FA32AE829E8AF3EF543A407E2D61BA567D3717651F0124FEB964972E11121E</key>
+			<input>CF980ED2619858290881314B7F0B9516</input>
+			<output>98FF5ADA0739122DBBD241847D4A318D<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 170</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>D62592634F0ABD21AC98887A88845E2ECE826DCD62261309456B2513535B2393</key>
+			<input>98FF5ADA0739122DBBD241847D4A318D</input>
+			<output>1824306B9F54BE4CE3F94F037B4B8569<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 171</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>77005AE2FA1AD6D77D36566B9E988345D6A65DA6FD72AD45A6926A102810A6FA</key>
+			<input>1824306B9F54BE4CE3F94F037B4B8569</input>
+			<output>25BA57B9035625DD268492282535960C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 172</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>BE766696DC4458442056D89C96CAFDF0F31C0A1FFE2488988016F8380D2530F6</key>
+			<input>25BA57B9035625DD268492282535960C</input>
+			<output>26AEAD4ED08CA78CE2A3358F36DA0E3F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 173</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>1E1D3EBC714EE191EDB2A02B64EF2C23D5B2A7512EA82F1462B5CDB73BFF3EC9</key>
+			<input>26AEAD4ED08CA78CE2A3358F36DA0E3F</input>
+			<output>10AB48E0CB1D72D82794E35DBDEF88F6<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 174</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>D3EAD2DA40B4C94B506A0ED75210023BC519EFB1E5B55DCC45212EEA8610B63F</key>
+			<input>10AB48E0CB1D72D82794E35DBDEF88F6</input>
+			<output>878BCAC367294B227533E1451F654960<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 175</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>87D0B5D4A1314054EC37B67B4245BA8C42922572829C16EE3012CFAF9975FF5F</key>
+			<input>878BCAC367294B227533E1451F654960</input>
+			<output>98CC3311EC8E8B75944503734DEAC00D<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 176</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>EF3FA3235BB42B1326DE67088C68E2BDDA5E16636E129D9BA457CCDCD49F3F52</key>
+			<input>98CC3311EC8E8B75944503734DEAC00D</input>
+			<output>DAF5FB711E259B498918871933A2E1FD<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 177</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>2EBBBB1B070658DD43299478725AA88F00ABED12703706D22D4F4BC5E73DDEAF</key>
+			<input>DAF5FB711E259B498918871933A2E1FD</input>
+			<output>AACC545DEE8FF1F5C7A91A2EE3D25C1B<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 178</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>E15D1FC214F23FF93886D219B4DFCD45AA67B94F9EB8F727EAE651EB04EF82B4</key>
+			<input>AACC545DEE8FF1F5C7A91A2EE3D25C1B</input>
+			<output>B844B67FBFD12E2712CCB66EBB4F7691<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 179</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>CC3335B792121DE55FA04A4D6FEE57B012230F302169D900F82AE785BFA0F425</key>
+			<input>B844B67FBFD12E2712CCB66EBB4F7691</input>
+			<output>3E00C548BAEE6150FAA5B67986331FD5<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 180</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>18DB585F810069C584251CA1E04A58382C23CA789B87B850028F51FC3993EBF0</key>
+			<input>3E00C548BAEE6150FAA5B67986331FD5</input>
+			<output>EB23DEEA8449E8FA0D828C12B98437AE<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 181</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>DFE08CA44B0BC4F51C43BE3631E20735C70014921FCE50AA0F0DDDEE8017DC5E</key>
+			<input>EB23DEEA8449E8FA0D828C12B98437AE</input>
+			<output>35BBE35CFC1D8FC40BC52F20D3FB35D5<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 182</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>0F7DCC456D50A31AC9351794BFE6DD57F2BBF7CEE3D3DF6E04C8F2CE53ECE98B</key>
+			<input>35BBE35CFC1D8FC40BC52F20D3FB35D5</input>
+			<output>DFFE7AEEAAF4762C7EB52453B1F61AD8<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 183</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>D34FDEB3F04FB4563BC0FD204E8D459F2D458D204927A9427A7DD69DE21AF353</key>
+			<input>DFFE7AEEAAF4762C7EB52453B1F61AD8</input>
+			<output>C648DAF9EBFB4BC6166B15BF067E107F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 184</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>5E90B747C9976A3F5050B0C51F116A81EB0D57D9A2DCE2846C16C322E464E32C</key>
+			<input>C648DAF9EBFB4BC6166B15BF067E107F</input>
+			<output>057258D07CAEE57807C396FAE651855A<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 185</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>52D3686BC0CD56B9DFF3A69F5073F30AEE7F0F09DE7207FC6BD555D802356676</key>
+			<input>057258D07CAEE57807C396FAE651855A</input>
+			<output>B1109BE49E6E0F4C4190D8E0D717E8D0<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 186</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>39C89286B658E006FBF97BAB1C4874025F6F94ED401C08B02A458D38D5228EA6</key>
+			<input>B1109BE49E6E0F4C4190D8E0D717E8D0</input>
+			<output>4DDE60FEEE40402058C988092603AB53<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 187</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>562C9A004CBF05A4CA97994D48C0874C12B1F413AE5C4890728C0531F32125F5</key>
+			<input>4DDE60FEEE40402058C988092603AB53</input>
+			<output>3B18CBF83791E93D661EB269CFEAB1BE<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 188</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>F95206C4D3862E01A4DFE3676A2F297C29A93FEB99CDA1AD1492B7583CCB944B</key>
+			<input>3B18CBF83791E93D661EB269CFEAB1BE</input>
+			<output>0A3204DEE28B65E849136960949E4E5E<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 189</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>FEFDBE4294E46E22074E77B6BB7F964B239B3B357B46C4455D81DE38A855DA15</key>
+			<input>0A3204DEE28B65E849136960949E4E5E</input>
+			<output>6C47ECB8B1478F0BBEDEF3A05A439776<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 190</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>05858C957F861410187DD8CC2EE48E364FDCD78DCA014B4EE35F2D98F2164D63</key>
+			<input>6C47ECB8B1478F0BBEDEF3A05A439776</input>
+			<output>881188C2834B0496CB97F15F7A5C332A<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 191</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>A51CABC6D50BF9043E95CE2BC511D26DC7CD5F4F494A4FD828C8DCC7884A7E49</key>
+			<input>881188C2834B0496CB97F15F7A5C332A</input>
+			<output>1FAE86251E2F615E3BFCAC545013CD12<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 192</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>4EE1F6812CC35A16AA63F1CB39669ED7D863D96A57652E8613347093D859B35B</key>
+			<input>1FAE86251E2F615E3BFCAC545013CD12</input>
+			<output>6017C6764080CB6D2BAC24C0F1BFF8F5<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 193</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>F4F31D57DD72E6BF842D3834372AA60CB8741F1C17E5E5EB3898545329E64BAE</key>
+			<input>6017C6764080CB6D2BAC24C0F1BFF8F5</input>
+			<output>10C8548253FB2BCD5D6F87CB28FAE7E7<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 194</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>9DBB357DC99A95C240E750F1970C5C65A8BC4B9E441ECE2665F7D398011CAC49</key>
+			<input>10C8548253FB2BCD5D6F87CB28FAE7E7</input>
+			<output>20E253845A3DD51FFC16141FDAA20749<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 195</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>A814CD8766E0BFFBD8530589D6202BE0885E181A1E231B3999E1C787DBBEAB00</key>
+			<input>20E253845A3DD51FFC16141FDAA20749</input>
+			<output>9383323218D891F9DCE7578FCD6A54A5<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 196</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>C516C26E23E38C2B87346F759D8AEF881BDD2A2806FB8AC04506900816D4FFA5</key>
+			<input>9383323218D891F9DCE7578FCD6A54A5</input>
+			<output>9CFF8002D46EAFAAC7B035A788A37CF5<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 197</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>9301F8120939D0E70C97F614F61F18648722AA2AD295256A82B6A5AF9E778350</key>
+			<input>9CFF8002D46EAFAAC7B035A788A37CF5</input>
+			<output>90C9F34994D5DA86406C7E82EDDD1009<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 198</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>82B163831972D2CEF8F1780AA6B0707A17EB59634640FFECC2DADB2D73AA9359</key>
+			<input>90C9F34994D5DA86406C7E82EDDD1009</input>
+			<output>C8B5021EE84635EB7E7D0F5DBE967FD0<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 199</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>F99FF8714EE5D822E0E25C499D7C96ACDF5E5B7DAE06CA07BCA7D470CD3CEC89</key>
+			<input>C8B5021EE84635EB7E7D0F5DBE967FD0</input>
+			<output>15CCB3C950764E24CA714707034DF9A7<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 200</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>3529E6B83266BD558B7F33FC00AE4904CA92E8B4FE70842376D69377CE71152E</key>
+			<input>15CCB3C950764E24CA714707034DF9A7</input>
+			<output>5FDA0EF6A2172D5DAA8E842F061A2E44<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 201</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>2D77F95D8B556740CD9E2CC546CA45C99548E6425C67A97EDC581758C86B3B6A</key>
+			<input>5FDA0EF6A2172D5DAA8E842F061A2E44</input>
+			<output>808781D0D10B3A02333E0A53E159287F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 202</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>79298FD5F3C4B6378403CFAD05C3C96E15CF67928D6C937CEF661D0B29321315</key>
+			<input>808781D0D10B3A02333E0A53E159287F</input>
+			<output>CC760400725FCFD37E757D99C6361B93<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 203</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>69535F335F6AEBF452407F3F1C203410D9B96392FF335CAF91136092EF040886</key>
+			<input>CC760400725FCFD37E757D99C6361B93</input>
+			<output>247D3A6BB4C883C142C4000B085C3B79<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 204</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>1A4F8FD7BD8DBCFB3677C708CDDDC7C4FDC459F94BFBDF6ED3D76099E75833FF</key>
+			<input>247D3A6BB4C883C142C4000B085C3B79</input>
+			<output>47E4C802C61E6A1706BAE95AF75CA70D<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 205</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>A573989455A11CAD1E8642CD774806B1BA2091FB8DE5B579D56D89C3100494F2</key>
+			<input>47E4C802C61E6A1706BAE95AF75CA70D</input>
+			<output>4297101350A5CE6C435FAD2725C22E46<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 206</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>8D52414DD5600AA0CACD5AD399FD1B37F8B781E8DD407B15963224E435C6BAB4</key>
+			<input>4297101350A5CE6C435FAD2725C22E46</input>
+			<output>BEC56BF1F3B6BE60C0F4CB7AE77BF0F5<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 207</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>49D4DF2FB3B561817F2BA6599B66C9244672EA192EF6C57556C6EF9ED2BD4A41</key>
+			<input>BEC56BF1F3B6BE60C0F4CB7AE77BF0F5</input>
+			<output>5B590F24D329BB6ED981938A4CDB9907<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 208</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>68BD5721E2A51A184CDBAC3A035670701D2BE53DFDDF7E1B8F477C149E66D346</key>
+			<input>5B590F24D329BB6ED981938A4CDB9907</input>
+			<output>A8A15DBB79BB9B1131EF39C1E3FCFC9C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 209</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>2CC71F1B9BE892100E8A340E61D0A128B58AB8868464E50ABEA845D57D9A2FDA</key>
+			<input>A8A15DBB79BB9B1131EF39C1E3FCFC9C</input>
+			<output>E8CBAB9E98D2866E779512AAC2FA2EA0<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 210</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>EEF45CE1BB444A6BA5A029363FB9D4DB5D4113181CB66364C93D577FBF60017A</key>
+			<input>E8CBAB9E98D2866E779512AAC2FA2EA0</input>
+			<output>7E4896F0A48A25FFE950B74B96F5F40E<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 211</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>151FE809785C11F8F19F31EA0246B416230985E8B83C469B206DE0342995F574</key>
+			<input>7E4896F0A48A25FFE950B74B96F5F40E</input>
+			<output>E1C642B54B89822E73A695C851BC8EBE<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 212</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>14FE470CD366C580F124EA924B918BF5C2CFC75DF3B5C4B553CB75FC78297BCA</key>
+			<input>E1C642B54B89822E73A695C851BC8EBE</input>
+			<output>5FA2C6A2303ED7219984F30B78BE6B96<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 213</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>92E61F4C495462354EF612492557D6AB9D6D01FFC38B1394CA4F86F70097105C</key>
+			<input>5FA2C6A2303ED7219984F30B78BE6B96</input>
+			<output>3791959FBF178682A711623C2F91616C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 214</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>6C0B6F23AC7526204C451A8ADE54D404AAFC94607C9C95166D5EE4CB2F067130</key>
+			<input>3791959FBF178682A711623C2F91616C</input>
+			<output>E14FCACD5FD26FC2710776EE82317ABC<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 215</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>0DAE926E4172586817730DB9FDF2CE0B4BB35EAD234EFAD41C599225AD370B8C</key>
+			<input>E14FCACD5FD26FC2710776EE82317ABC</input>
+			<output>E576499EAF5365E7FE3B4961D9C74419<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 216</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>DCD553F2977BD114B61F724ABC6AFE8EAEC517338C1D9F33E262DB4474F04F95</key>
+			<input>E576499EAF5365E7FE3B4961D9C74419</input>
+			<output>38567558119E72929F2932E6C289095E<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 217</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>6333DA8D5B655B5B5AABBCAF0B010BE89693626B9D83EDA17D4BE9A2B67946CB</key>
+			<input>38567558119E72929F2932E6C289095E</input>
+			<output>D20AD648F558E5507CC5C905E92CC268<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 218</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>F9010180B464FBB8AD7C9D5E41B1E09A4499B42368DB08F1018E20A75F5584A3</key>
+			<input>D20AD648F558E5507CC5C905E92CC268</input>
+			<output>00C719F3757DDD2D2E64C3F2666FB2CB<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 219</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>8CE68ED02B4FFD9720B3D16FAE92D164445EADD01DA6D5DC2FEAE355393A3668</key>
+			<input>00C719F3757DDD2D2E64C3F2666FB2CB</input>
+			<output>AEEAB9F50456CA3233A964219D2E7816<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 220</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>57E26BA4DBD3549051B0D9436EB38D4FEAB4142519F01FEE1C438774A4144E7E</key>
+			<input>AEEAB9F50456CA3233A964219D2E7816</input>
+			<output>3F02C97E127FD697AFD58BC66941F654<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 221</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>4D0BC4A8796407C939797EF19D0CE7E3D5B6DD5B0B8FC979B3960CB2CD55B82A</key>
+			<input>3F02C97E127FD697AFD58BC66941F654</input>
+			<output>BC4C0DDBCF0003B7814EEF1ABD22B6A8<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 222</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>9C1FD1789544D2F3FF84574A216767CD69FAD080C48FCACE32D8E3A870770E82</key>
+			<input>BC4C0DDBCF0003B7814EEF1ABD22B6A8</input>
+			<output>D125D8C2920ADD3EA00103DC695A0D9D<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 223</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>ADBE97F99DBE61213892D9849B81B3FBB8DF0842568517F092D9E074192D031F</key>
+			<input>D125D8C2920ADD3EA00103DC695A0D9D</input>
+			<output>C0C57598639BA69E13C82E3AF24777C5<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 224</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>A14DC5CF6CD0BD9AC9499317C509CCB4781A7DDA351EB16E8111CE4EEB6A74DA</key>
+			<input>C0C57598639BA69E13C82E3AF24777C5</input>
+			<output>81E3B8F6A691BC30AA66AD70F0358881<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 225</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>0EC479D8681AC8CA455D64A4BB34C86DF9F9C52C938F0D5E2B77633E1B5FFC5B</key>
+			<input>81E3B8F6A691BC30AA66AD70F0358881</input>
+			<output>3CD03908D4ABA4B9885BCB1AC89D16C3<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 226</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>E74102D814426E659732B303E6D44DB7C529FC244724A9E7A32CA824D3C2EA98</key>
+			<input>3CD03908D4ABA4B9885BCB1AC89D16C3</input>
+			<output>61662DD8EE676E17AE5CF2BABDC54A67<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 227</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>EE4034F1A2EF16D7D848BB005CDA5E99A44FD1FCA943C7F00D705A9E6E07A0FF</key>
+			<input>61662DD8EE676E17AE5CF2BABDC54A67</input>
+			<output>4E637432B0FF54FD665A902725B977EB<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 228</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>45E8F2DF7FC6E49FB0AF3B73788A1065EA2CA5CE19BC930D6B2ACAB94BBED714</key>
+			<input>4E637432B0FF54FD665A902725B977EB</input>
+			<output>E53D1440407503B66530EEEEBBC9182B<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 229</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>0BEBC981186DEF84C01688CA16A061E00F11B18E59C990BB0E1A2457F077CF3F</key>
+			<input>E53D1440407503B66530EEEEBBC9182B</input>
+			<output>12134ADF5BB16D867B4EE9CE87EBE36D<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 230</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>6FADFDB92B0F888514730F17A37A81B61D02FB510278FD3D7554CD99779C2C52</key>
+			<input>12134ADF5BB16D867B4EE9CE87EBE36D</input>
+			<output>310EACEF26A3EB5E4511437145DC30F9<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 231</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>A565724F25EE29346543964864A0FFAA2C0C57BE24DB166330458EE832401CAB</key>
+			<input>310EACEF26A3EB5E4511437145DC30F9</input>
+			<output>6848E5A618419EC6BACD9CD40BB42083<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 232</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>1FAEBFE13AC7545DC742ED60241BC2E84444B2183C9A88A58A88123C39F43C28</key>
+			<input>6848E5A618419EC6BACD9CD40BB42083</input>
+			<output>C64DA25E7CB1A004E31CD37F9D4E1112<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 233</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>A8EE2725373C48BAD9C0009C53C298A982091046402B28A16994C143A4BA2D3A</key>
+			<input>C64DA25E7CB1A004E31CD37F9D4E1112</input>
+			<output>D02E6AE8FDD0C5813669080AA7B82527<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 234</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>0770874A41ED1396940D75E6A5A09F5352277AAEBDFBED205FFDC9490302081D</key>
+			<input>D02E6AE8FDD0C5813669080AA7B82527</input>
+			<output>5DDFBC75FE48D88E7D6F307E4A008BC7<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 235</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>D7D098F85AB45E754629D2AB7DA2226C0FF8C6DB43B335AE2292F937490283DA</key>
+			<input>5DDFBC75FE48D88E7D6F307E4A008BC7</input>
+			<output>E216C9AC28239E97237930079739ECE0<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 236</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>5D6FAFF37EE7400691E504578251ECB1EDEE0F776B90AB3901EBC930DE3B6F3A</key>
+			<input>E216C9AC28239E97237930079739ECE0</input>
+			<output>8D126659360D03548879000642E78029<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 237</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>D75C5C64D94D0BC8566F568278B502D560FC692E5D9DA86D8992C9369CDCEF13</key>
+			<input>8D126659360D03548879000642E78029</input>
+			<output>9EA4C85D0F07AD618A2EBEBBE50D72B6<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 238</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>D42BD9CDCD8BDA71E64817A2755C97C0FE58A173529A050C03BC778D79D19DA5</key>
+			<input>9EA4C85D0F07AD618A2EBEBBE50D72B6</input>
+			<output>1F525901AF1D94BA6CA3C7244E2CD885<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 239</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>32DD1758D2EFC602EE85C58A66D0B080E10AF872FD8791B66F1FB0A937FD4520</key>
+			<input>1F525901AF1D94BA6CA3C7244E2CD885</input>
+			<output>E131C071BFA21FCE21D18DB87B522903<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 240</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>BEC98C02D74E088458A668D0B6DDCF13003B380342258E784ECE3D114CAF6C23</key>
+			<input>E131C071BFA21FCE21D18DB87B522903</input>
+			<output>51F1B72C99C869BF73A6637D3A2E2278<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 241</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>D368F7BE25A6A0C9AD2004E764F43A3551CA8F2FDBEDE7C73D685E6C76814E5B</key>
+			<input>51F1B72C99C869BF73A6637D3A2E2278</input>
+			<output>0965CDD7A134672036F0C69774CFD380<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 242</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>E5A7E12124540DBB4147A55C276A35B958AF42F87AD980E70B9898FB024E9DDB</key>
+			<input>0965CDD7A134672036F0C69774CFD380</input>
+			<output>52ECEB721073FBF3D1BD5808351BEC5E<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 243</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>7D9702E2C8906805A580D5D85B03BBC60A43A98A6AAA7B14DA25C0F337557185</key>
+			<input>52ECEB721073FBF3D1BD5808351BEC5E</input>
+			<output>493CE4E2B090DA3A2354C9DA7DB44D39<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 244</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>8EFA5EC96F3AEF51AB38F4CCD969E5D5437F4D68DA3AA12EF97109294AE13CBC</key>
+			<input>493CE4E2B090DA3A2354C9DA7DB44D39</input>
+			<output>DA64246FF65969995F9A4E8AE7C805CF<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 245</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>19C97957444E9931293047A647D7A19A991B69072C63C8B7A6EB47A3AD293973</key>
+			<input>DA64246FF65969995F9A4E8AE7C805CF</input>
+			<output>CF85EBD76908CD8F8D3177E53DA3AD5E<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 246</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>7BDB3ED45BD78C131611FD9D54B8E9D2569E82D0456B05382BDA3046908A942D</key>
+			<input>CF85EBD76908CD8F8D3177E53DA3AD5E</input>
+			<output>45E1FDEFC98E62A841BD1D8D8236CEEF<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 247</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>19961521A42D96238D44F651E7E7D463137F7F3F8CE567906A672DCB12BC5AC2</key>
+			<input>45E1FDEFC98E62A841BD1D8D8236CEEF</input>
+			<output>E056EF7B711A9CBDED8878EF74AF1671<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 248</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>343360636E697E607319D4DCBC12B543F3299044FDFFFB2D87EF552466134CB3</key>
+			<input>E056EF7B711A9CBDED8878EF74AF1671</input>
+			<output>E4EFF77C6C3273393BE4814A16C3DF4A<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 249</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>B63D4D3D099F8E68F6A041D2EB1B1C1417C6673891CD8814BC0BD46E70D093F9</key>
+			<input>E4EFF77C6C3273393BE4814A16C3DF4A</input>
+			<output>EC562E353DF8BA76699B01A6ACC8AD52<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 250</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>EF500379EDE772968F1499F07B0B09CFFB90490DAC353262D590D5C8DC183EAB</key>
+			<input>EC562E353DF8BA76699B01A6ACC8AD52</input>
+			<output>4473050ADC687112AACB86AA73CB6C6D<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 251</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>EA5CD4EDD99E64018AD3104026F0F528BFE34C07705D43707F5B5362AFD352C6</key>
+			<input>4473050ADC687112AACB86AA73CB6C6D</input>
+			<output>6561A82EE86E4F18DF6965312F0C0984<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 252</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>2ABF9529FC88D85FF68CF6D72B9A9CB5DA82E42998330C68A032365380DF5B42</key>
+			<input>6561A82EE86E4F18DF6965312F0C0984</input>
+			<output>47590CE1C90F3AC2C68B272B4A667F61<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 253</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>A485B647790DBFF76F16C42A39F5F5559DDBE8C8513C36AA66B91178CAB92423</key>
+			<input>47590CE1C90F3AC2C68B272B4A667F61</input>
+			<output>4ED731A36BCB2672A810633E432D8922<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 254</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>F0D0E858B597595A06458FF6C2259127D30CD96B3AF710D8CEA972468994AD01</key>
+			<input>4ED731A36BCB2672A810633E432D8922</input>
+			<output>4AC2F0D5F52762F77DB5D9EF53B76642<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 255</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>EDDE80556ECA4CC51EFB33E23C43C04399CE29BECFD0722FB31CABA9DA23CB43</key>
+			<input>4AC2F0D5F52762F77DB5D9EF53B76642</input>
+			<output>A574FBE71E359A57D57A24A388FDF6EE<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 256</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>3C7C248C9FCE1D060D5B0664C0FF3F6B3CBAD259D1E5E87866668F0A52DE3DAD</key>
+			<input>A574FBE71E359A57D57A24A388FDF6EE</input>
+			<output>CCC3A011108469A7987F336C209BB84E<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 257</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>D43727570A809BE0D9EB78760FE4CDA9F0797248C16181DFFE19BC66724585E3</key>
+			<input>CCC3A011108469A7987F336C209BB84E</input>
+			<output>686357D3013977390164834D4E5324DC<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 258</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>2F060E361977E544B98779AB55886D57981A259BC058F6E6FF7D3F2B3C16A13F</key>
+			<input>686357D3013977390164834D4E5324DC</input>
+			<output>DDDAD6FBDBF7C7BE7EBF3F036009A270<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 259</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>A3630C05DC65905D37AFDB315B2AA4D945C0F3601BAF315881C200285C1F034F</key>
+			<input>DDDAD6FBDBF7C7BE7EBF3F036009A270</input>
+			<output>237124FEDF28B4201B6D1584B93D5F7C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 260</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>3E6ADAAEF53A36294CDEA0D94BE742C166B1D79EC48785789AAF15ACE5225C33</key>
+			<input>237124FEDF28B4201B6D1584B93D5F7C</input>
+			<output>D1A9DDFB5662934AAD98B2861E50A871<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 261</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>234615019E03C466AEA186112C4EB523B7180A6592E516323737A72AFB72F442</key>
+			<input>D1A9DDFB5662934AAD98B2861E50A871</input>
+			<output>CA18344F4C7A0F068398CA8137C056DD<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 262</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>22ED93581611798050E94CC70F6090BF7D003E2ADE9F1934B4AF6DABCCB2A29F</key>
+			<input>CA18344F4C7A0F068398CA8137C056DD</input>
+			<output>91FA4D62D10E852D9EDA42FAC8C34557<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 263</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>A5981D9A37D6D3D948391D1D462B6DCFECFA73480F919C192A752F510471E7C8</key>
+			<input>91FA4D62D10E852D9EDA42FAC8C34557</input>
+			<output>B956221510135066B2B2552C4CB37642<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 264</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>BF2E4397D0E93DFFA38D69B30F33835B55AC515D1F82CC7F98C77A7D48C2918A</key>
+			<input>B956221510135066B2B2552C4CB37642</input>
+			<output>300CFCEAFED28E622CD08222D3A3B0B0<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 265</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>55432143B807A628001F8D062CE0157265A0ADB7E150421DB417F85F9B61213A</key>
+			<input>300CFCEAFED28E622CD08222D3A3B0B0</input>
+			<output>26681BCFDC630A21A684C60EF6A23747<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 266</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>2966A6CB3BA9028583813B91FD72748D43C8B6783D33483C12933E516DC3167D</key>
+			<input>26681BCFDC630A21A684C60EF6A23747</input>
+			<output>8EDD4B1B458D16841AD4525C01A8397E<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 267</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>1A22288AC28060F8E4B20C2AE0C82AEACD15FD6378BE5EB808476C0D6C6B2F03</key>
+			<input>8EDD4B1B458D16841AD4525C01A8397E</input>
+			<output>BFDE412A7CAF0326AD1727996056A61C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 268</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>C882E880508E92FF709E9BD4A555B30A72CBBC4904115D9EA5504B940C3D891F</key>
+			<input>BFDE412A7CAF0326AD1727996056A61C</input>
+			<output>88C039A0B395C5D08848C64DFC150C57<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 269</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>298B3829EE60112C926E1FD583C9A2DEFA0B85E9B784984E2D188DD9F0288548</key>
+			<input>88C039A0B395C5D08848C64DFC150C57</input>
+			<output>ACDF23F2CB73FD8D3D814A79E3C94126<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 270</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>2F2A3D0DDB2DBA8B8E3FF8A9DE765FE356D4A61B7CF765C31099C7A013E1C46E</key>
+			<input>ACDF23F2CB73FD8D3D814A79E3C94126</input>
+			<output>A8BE26FE8780972650D5F384B744AC44<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 271</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>F8CC20E8296CD38F1EF8BB2777EE1200FE6A80E5FB77F2E5404C3424A4A5682A</key>
+			<input>A8BE26FE8780972650D5F384B744AC44</input>
+			<output>B5557CC20F64FCC576A6EC7BE324CE43<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 272</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>678B5341F1BC13DB366B36D59ADADC7C4B3FFC27F4130E2036EAD85F4781A669</key>
+			<input>B5557CC20F64FCC576A6EC7BE324CE43</input>
+			<output>B59281EFF9C8D19E5D9C053CBE1F2F33<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 273</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>E4701C9009693E38C455CE186A4B87DFFEAD7DC80DDBDFBE6B76DD63F99E895A</key>
+			<input>B59281EFF9C8D19E5D9C053CBE1F2F33</input>
+			<output>7E8B1D4BFF81C5B9AA1FCA81DF8DE64F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 274</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>C1F886CBCBF2BD920A0E68F30FCB8FCE80266083F25A1A07C16917E226136F15</key>
+			<input>7E8B1D4BFF81C5B9AA1FCA81DF8DE64F</input>
+			<output>20841B35C77A109B528A1135E17D36EE<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 275</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>F05D61A9441B3C741D9D7489F2EE4A5EA0A27BB635200A9C93E306D7C76E59FB</key>
+			<input>20841B35C77A109B528A1135E17D36EE</input>
+			<output>C3195DC001FA1AD7C253DD3FE4A4BC7D<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 276</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>0C8E70943252DD5DC9819A9FDB375B3F63BB267634DA104B51B0DBE823CAE586</key>
+			<input>C3195DC001FA1AD7C253DD3FE4A4BC7D</input>
+			<output>7E06BD1B3440DB4CA73AF1A05B33AD3F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 277</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>84F1B5CF1AD11205E98ECD317AD670A11DBD9B6D009ACB07F68A2A4878F948B9</key>
+			<input>7E06BD1B3440DB4CA73AF1A05B33AD3F</input>
+			<output>6224DBD71C1DC35A5C62777D2EA32C3E<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 278</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>E3465353AED687EF62CD1DA8D7DA3EEB7F9940BA1C87085DAAE85D35565A6487</key>
+			<input>6224DBD71C1DC35A5C62777D2EA32C3E</input>
+			<output>1E4E51CD7BA1F7467AC69755F8894EF4<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 279</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>31F715D1FFA116F58AB70E4A3EEF6E9561D711776726FF1BD02ECA60AED32A73</key>
+			<input>1E4E51CD7BA1F7467AC69755F8894EF4</input>
+			<output>4AB8AFEACB2A1B1AE9E74D647266E234<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 280</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>487B6847CA14B04D429C81278332273F2B6FBE9DAC0CE40139C98704DCB5C847</key>
+			<input>4AB8AFEACB2A1B1AE9E74D647266E234</input>
+			<output>64C0BBA15382C142BBEE84B86B7D0BA0<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 281</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>D1C9CA26B21945011B044EA6E29C9AD54FAF053CFF8E2543822703BCB7C8C3E7</key>
+			<input>64C0BBA15382C142BBEE84B86B7D0BA0</input>
+			<output>F82292AF614648EC6C1E9A1027167410<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 282</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>3F585C00E187BE1B0C9E09781C9548A8B78D97939EC86DAFEE3999AC90DEB7F7</key>
+			<input>F82292AF614648EC6C1E9A1027167410</input>
+			<output>31C38ED5F207B412A14A51632D8805CE<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 283</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>340B8C115BAFF387400CD8F0EE8F8F6F864E19466CCFD9BD4F73C8CFBD56B239</key>
+			<input>31C38ED5F207B412A14A51632D8805CE</input>
+			<output>3FC4CC8F4245BBBC5939A0C0A24A14DE<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 284</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>EA8EACF07402225D6C5181A8802DA515B98AD5C92E8A6201164A680F1F1CA6E7</key>
+			<input>3FC4CC8F4245BBBC5939A0C0A24A14DE</input>
+			<output>23A98FA41D6C3D4CD9CFB9737A6D7872<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 285</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>56EF7B73BF04F5F463E4D0EA0F6FC4DA9A235A6D33E65F4DCF85D17C6571DE95</key>
+			<input>23A98FA41D6C3D4CD9CFB9737A6D7872</input>
+			<output>82CC2D376B2772B7B988BEA17EFBB3D2<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 286</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>C425E380DA91C34B73CE922C59B13C8818EF775A58C12DFA760D6FDD1B8A6D47</key>
+			<input>82CC2D376B2772B7B988BEA17EFBB3D2</input>
+			<output>5330F6218D528A32B24085EA496A05A9<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 287</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>EA66C7FF9FCD2F9E76BCC5C6387E133E4BDF817BD593A7C8C44DEA3752E068EE</key>
+			<input>5330F6218D528A32B24085EA496A05A9</input>
+			<output>7C1E082C2C89C90AD91AE81DF73F1F5F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 288</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>C89CF336490832FB54BB536813AEE6EA37C18957F91A6EC21D57022AA5DF77B1</key>
+			<input>7C1E082C2C89C90AD91AE81DF73F1F5F</input>
+			<output>2AB33673B654E2C49D6736D65A5F45C8<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 289</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>7CC5409A9AE1F997774C3FEB74A6E9061D72BF244F4E8C06803034FCFF803279</key>
+			<input>2AB33673B654E2C49D6736D65A5F45C8</input>
+			<output>21BA6CADDCA5E0BE779D1A2651794C81<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 290</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>E5E1873FDEE9DC066AF79C0E6027D0703CC8D38993EB6CB8F7AD2EDAAEF97EF8</key>
+			<input>21BA6CADDCA5E0BE779D1A2651794C81</input>
+			<output>8E2AF8BA54CF04812AE786C180FCFCA8<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 291</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>844AA67914DE1C11677B5526D5B12765B2E22B33C7246839DD4AA81B2E058250</key>
+			<input>8E2AF8BA54CF04812AE786C180FCFCA8</input>
+			<output>E48A7CD35CA33B1D919B8A83ADF4C6BE<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 292</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>FE3248768ACB0AF9DBD639AF7B7EB944566857E09B8753244CD1229883F144EE</key>
+			<input>E48A7CD35CA33B1D919B8A83ADF4C6BE</input>
+			<output>C377A76CF43C27784CC54079744413D1<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 293</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>709E7BC30A7DE8FADC071B3D04338FCA951FF08C6FBB745C001462E1F7B5573F</key>
+			<input>C377A76CF43C27784CC54079744413D1</input>
+			<output>01D8083A9EA403A4754EF82CA29CDD5B<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 294</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>448B1AEC2F68D202679183D85C4A6D2194C7F8B6F11F77F8755A9ACD55298A64</key>
+			<input>01D8083A9EA403A4754EF82CA29CDD5B</input>
+			<output>46ADC32EFF2C3EFF40B468E845EFC2E4<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 295</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>529401616FA6193014D6A10BEF1A816FD26A3B980E33490735EEF22510C64880</key>
+			<input>46ADC32EFF2C3EFF40B468E845EFC2E4</input>
+			<output>FCC6594B1BBF40E28BE798ABC00163F1<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 296</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>15A5E8BAF02EF91390AB7D35742CC5C12EAC62D3158C09E5BE096A8ED0C72B71</key>
+			<input>FCC6594B1BBF40E28BE798ABC00163F1</input>
+			<output>28D35B6E1140738ED1DF20FE11003B1E<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 297</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>589C04ECDF2B884807919A2018A93080067F39BD04CC7A6B6FD64A70C1C7106F</key>
+			<input>28D35B6E1140738ED1DF20FE11003B1E</input>
+			<output>3354C7962E19FB043FD4CD7B2C99E195<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 298</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>A6987BEB541098C7173475B34568F36B352BFE2B2AD5816F5002870BED5EF1FA</key>
+			<input>3354C7962E19FB043FD4CD7B2C99E195</input>
+			<output>EB76F282C9F10F507FACFCDEEC8BBBB8<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 299</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>3732B395057761A8A2624F52354668CFDE5D0CA9E3248E3F2FAE7BD501D54A42</key>
+			<input>EB76F282C9F10F507FACFCDEEC8BBBB8</input>
+			<output>77A4DAE8406992C5018D6B0310195E0C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 300</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>E24C9F98F43E840AE04ED4928133F65AA9F9D641A34D1CFA2E2310D611CC144E</key>
+			<input>77A4DAE8406992C5018D6B0310195E0C</input>
+			<output>655DEC1062EDB50B8B31A66071E236A2<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 301</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>8BA207CA6E2B720810E66CCAB597E8DACCA43A51C1A0A9F1A512B6B6602E22EC</key>
+			<input>655DEC1062EDB50B8B31A66071E236A2</input>
+			<output>28A22A069D8FF3DE359860B0A5B6FD1F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 302</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>22C629C84758D553AFE4876AA739A1F0E40610575C2F5A2F908AD606C598DFF3</key>
+			<input>28A22A069D8FF3DE359860B0A5B6FD1F</input>
+			<output>95DD88B4AFD0680E221C70422ADFFCD1<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 303</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>F86A3C799AAB6884220196BF07E1643D71DB98E3F3FF3221B296A644EF472322</key>
+			<input>95DD88B4AFD0680E221C70422ADFFCD1</input>
+			<output>323475C634FD6845BAA9F371F29DC363<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 304</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>83412E9600B279F76C93F171C469AD1943EFED25C7025A64083F55351DDAE041</key>
+			<input>323475C634FD6845BAA9F371F29DC363</input>
+			<output>61276AD535F9E73FCFB53DBF2D5D1F62<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 305</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>01AD15137C4A572322660716B6B4EDCD22C887F0F2FBBD5BC78A688A3087FF23</key>
+			<input>61276AD535F9E73FCFB53DBF2D5D1F62</input>
+			<output>105ECB04A5CA32FC93987569A7CB46D7<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 306</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>1CC639BA56CA0DF23E64BB3395C08BB332964CF457318FA754121DE3974CB9F4</key>
+			<input>105ECB04A5CA32FC93987569A7CB46D7</input>
+			<output>831DBB3F4BBD4343B94D54AA2B3E0620<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 307</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>25ABCF5B8DB1A7CCB1FA49936E0AB3C8B18BF7CB1C8CCCE4ED5F4949BC72BFD4</key>
+			<input>831DBB3F4BBD4343B94D54AA2B3E0620</input>
+			<output>40B9D9C6201E639DC9A04E500BCD7F61<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 308</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>75B34E0F371C4527732F22CF35AD923BF1322E0D3C92AF7924FF0719B7BFC0B5</key>
+			<input>40B9D9C6201E639DC9A04E500BCD7F61</input>
+			<output>A159BB0C751148C14D561E0407A9F6DB<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 309</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>1EB6E3491B431B7EFFCCC965C9041274506B95014983E7B869A9191DB016366E</key>
+			<input>A159BB0C751148C14D561E0407A9F6DB</input>
+			<output>2012E67815334AC48E5309DD129E0476<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 310</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>F0BDAFB216613A6FB3819D08B17EFDC1707973795CB0AD7CE7FA10C0A2883218</key>
+			<input>2012E67815334AC48E5309DD129E0476</input>
+			<output>53E415BC0C9013F83B77298395FC9FEF<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 311</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>9C5A3B9C862E07159AB06D5B7FB585C5239D66C55020BE84DC8D39433774ADF7</key>
+			<input>53E415BC0C9013F83B77298395FC9FEF</input>
+			<output>2B1EEAA13373494A2A56C15FD5ECA103<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 312</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>9764AC349B8222394160F4896BA6761808838C646353F7CEF6DBF81CE2980CF4</key>
+			<input>2B1EEAA13373494A2A56C15FD5ECA103</input>
+			<output>2A00E873782853DC842427A03C30A81A<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 313</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>42A1614569C4DE66D6336BC082B3B9DD228364171B7BA41272FFDFBCDEA8A4EE</key>
+			<input>2A00E873782853DC842427A03C30A81A</input>
+			<output>5FEB74E489C4C8121A15C2BCF51046A5<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 314</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>CED80BE0859A5863CFE41F0F2CE9F65B7D6810F392BF6C0068EA1D002BB8E24B</key>
+			<input>5FEB74E489C4C8121A15C2BCF51046A5</input>
+			<output>948214D5DB68997C37A48927AA97B89A<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 315</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>178DAF533EBB695D5E57401E5345C3E8E9EA042649D7F57C5F4E9427812F5AD1</key>
+			<input>948214D5DB68997C37A48927AA97B89A</input>
+			<output>AB8F3BB9917E4D1C8F1F2EDDB7070530<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 316</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>66F4B8B5A0BD877514FDB4CD2DD04D8C42653F9FD8A9B860D051BAFA36285FE1</key>
+			<input>AB8F3BB9917E4D1C8F1F2EDDB7070530</input>
+			<output>CB5FB11C6DB1AB6BC189F0F3FB47A2A5<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 317</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>9753278CFCEE8B059ECF573A2E0D65D6893A8E83B518130B11D84A09CD6FFD44</key>
+			<input>CB5FB11C6DB1AB6BC189F0F3FB47A2A5</input>
+			<output>F0CE65E6C5C263182E6C253F26460A1B<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 318</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>121A860A5B53C56E536DE56566F31E2079F4EB6570DA70133FB46F36EB29F75F</key>
+			<input>F0CE65E6C5C263182E6C253F26460A1B</input>
+			<output>9AA17B0F532814CA74FF0A046F377C48<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 319</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>88F5E58E9522495BF7B68430946F7C0FE355906A23F264D94B4B6532841E8B17</key>
+			<input>9AA17B0F532814CA74FF0A046F377C48</input>
+			<output>52CAAEF16E55858487AEDBDBA822002D<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 320</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>D9A3D3547F215D44D80C6A5D3548D4D2B19F3E9B4DA7E15DCCE5BEE92C3C8B3A</key>
+			<input>52CAAEF16E55858487AEDBDBA822002D</input>
+			<output>2599545FD15C7F59A6F02CDCB95E6589<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 321</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>6ACE86543B0F981C2D0FCB1408A42C3294066AC49CFB9E046A1592359562EEB3</key>
+			<input>2599545FD15C7F59A6F02CDCB95E6589</input>
+			<output>DC7A68313CE3E1963D31E5149CDBE22A<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 322</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>E9D6D08194DAFBB7B491124515118FA6487C02F5A0187F925724772109B90C99</key>
+			<input>DC7A68313CE3E1963D31E5149CDBE22A</input>
+			<output>333B588A7354CB3229E43780AFE4738D<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 323</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>762FC93CEED1EE9C6EF702A4E3BBABD67B475A7FD34CB4A07EC040A1A65D7F14</key>
+			<input>333B588A7354CB3229E43780AFE4738D</input>
+			<output>41727DC0D18725AFD2EF8FF51EAE1C2C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 324</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>FF4EC1DF818E820424CFE5D09EE2E5423A3527BF02CB910FAC2FCF54B8F36338</key>
+			<input>41727DC0D18725AFD2EF8FF51EAE1C2C</input>
+			<output>A7236B16D9937C84F37BF9D79D0251F9<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 325</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>59BDAB706DEA2EC52AE05A2E4382A4169D164CA9DB58ED8B5F54368325F132C1</key>
+			<input>A7236B16D9937C84F37BF9D79D0251F9</input>
+			<output>B81D30EFDB86688F1DCA616EC771B9FD<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 326</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>4C008516CD614B6588A526FFE33C055B250B7C4600DE8504429E57EDE2808B3C</key>
+			<input>B81D30EFDB86688F1DCA616EC771B9FD</input>
+			<output>A5AD142C8F078ABF419B7CF5C86C9F83<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 327</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>DB65698F99E4A27019ABE194A89E9BC680A6686A8FD90FBB03052B182AEC14BF</key>
+			<input>A5AD142C8F078ABF419B7CF5C86C9F83</input>
+			<output>861B59E3B61A5D02F0D70DFF40EF7FF2<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 328</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>0790C16C53A7826B4B309DDF99B5239006BD318939C352B9F3D226E76A036B4D</key>
+			<input>861B59E3B61A5D02F0D70DFF40EF7FF2</input>
+			<output>B0F4C2C4D0D282BE3128AD78D34B1FA6<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 329</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>AFE168F089E676A806DD191003777E6DB649F34DE911D007C2FA8B9FB94874EB</key>
+			<input>B0F4C2C4D0D282BE3128AD78D34B1FA6</input>
+			<output>9DFCF5727851ADE8C37A9AA3AA77B20D<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 330</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>F261CDF199D9EF436C1A08EB9755A2112BB5063F91407DEF0180113C133FC6E6</key>
+			<input>9DFCF5727851ADE8C37A9AA3AA77B20D</input>
+			<output>9268DBA972B72C9DEF15CF9B8041F23B<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 331</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>E0D6DCF3BA840720688456A43E849C5CB9DDDD96E3F75172EE95DEA7937E34DD</key>
+			<input>9268DBA972B72C9DEF15CF9B8041F23B</input>
+			<output>D45A8B321CB6D8F28167C857BC2900BF<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 332</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>B77CF3A880C2E9E66D0C98A4D88555F46D8756A4FF4189806FF216F02F573462</key>
+			<input>D45A8B321CB6D8F28167C857BC2900BF</input>
+			<output>0124FE2D8BCB81E1286A18D2BABEA919<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 333</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>7729E55EFA6B249E0207E06AAF6F09206CA3A889748A086147980E2295E99D7B</key>
+			<input>0124FE2D8BCB81E1286A18D2BABEA919</input>
+			<output>A1BB0D975A50BE8BD8C2973D4BA7BF42<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 334</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>102384784C54539084BC7181AA95F184CD18A51E2EDAB6EA9F5A991FDE4E2239</key>
+			<input>A1BB0D975A50BE8BD8C2973D4BA7BF42</input>
+			<output>15302D5DBFD8E407EADDE9896B42CB13<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 335</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>9FF48EF1068BFC07DA38F7790D7418D2D8288843910252ED75877096B50CE92A</key>
+			<input>15302D5DBFD8E407EADDE9896B42CB13</input>
+			<output>90D93B8F802CFAD3F6E682DD704B5F43<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 336</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>84477EB9007ECDF8D1C4A6A976C76AB848F1B3CC112EA83E8361F24BC547B669</key>
+			<input>90D93B8F802CFAD3F6E682DD704B5F43</input>
+			<output>2DD7E0B91C5DDF0FD118F4CDD836A212<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 337</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>F1CE87DE930567CE29DF313D8778358D652653750D737731527906861D71147B</key>
+			<input>2DD7E0B91C5DDF0FD118F4CDD836A212</input>
+			<output>AC9D307EFF44703D6FDA621FFF8D077C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 338</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>22D31C8F64CFB23620A70E7CD4A486D3C9BB630BF237070C3DA36499E2FC1307</key>
+			<input>AC9D307EFF44703D6FDA621FFF8D077C</input>
+			<output>CC6772DE3B27CB1DB3E5A804843EB6FF<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 339</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>FC9057D2D2D28BFAC4D5E3654717188205DC11D5C910CC118E46CC9D66C2A5F8</key>
+			<input>CC6772DE3B27CB1DB3E5A804843EB6FF</input>
+			<output>BDB021550FE0744090EAFEEBCF422061<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 340</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>1EA032190E7E4CC45D2E1E138429658AB86C3080C6F0B8511EAC3276A9808599</key>
+			<input>BDB021550FE0744090EAFEEBCF422061</input>
+			<output>C6E21F9A1305C3969F2D70C11D58A1A7<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 341</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>B633EDA212B952785755700FBDC91CA57E8E2F1AD5F57BC7818142B7B4D8243E</key>
+			<input>C6E21F9A1305C3969F2D70C11D58A1A7</input>
+			<output>01BC936B7063CA9D28DB1FFCCB9C2048<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 342</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>94A06984520AB40D74568F0D5286AEE37F32BC71A596B15AA95A5D4B7F440476</key>
+			<input>01BC936B7063CA9D28DB1FFCCB9C2048</input>
+			<output>88279D100DFA68CEBD9949F19C3333F4<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 343</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>96A3BD621155F71A9EFB8E35F95238ACF7152161A86CD99414C314BAE3773782</key>
+			<input>88279D100DFA68CEBD9949F19C3333F4</input>
+			<output>41574A686596D4741BF5DE52B5183260<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 344</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>185312E4301E5AADC373CEB3EBA66FB7B6426B09CDFA0DE00F36CAE8566F05E2</key>
+			<input>41574A686596D4741BF5DE52B5183260</input>
+			<output>BD9F5087C32A66A4797C7EE87355FF4A<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 345</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>BC5D60D256DCA48E88E52F05C349431A0BDD3B8E0ED06B44764AB400253AFAA8</key>
+			<input>BD9F5087C32A66A4797C7EE87355FF4A</input>
+			<output>A88BC3FAF87D6C1D3F98A2884EF1D4DA<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 346</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>1485A9209167A6FA2ECD2CE6AA03DBA5A356F874F6AD075949D216886BCB2E72</key>
+			<input>A88BC3FAF87D6C1D3F98A2884EF1D4DA</input>
+			<output>E514E6E34A050EB917F2382EDF92353A<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 347</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>2B62B0E29763FF09F53A2006B990E97746421E97BCA809E05E202EA6B4591B48</key>
+			<input>E514E6E34A050EB917F2382EDF92353A</input>
+			<output>142EEBE72E0F56ABE5D67FCC28F957F6<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 348</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>FC13067E362B7C9C39AA73B85F32011C526CF57092A75F4BBBF6516A9CA04CBE</key>
+			<input>142EEBE72E0F56ABE5D67FCC28F957F6</input>
+			<output>24FDB7A03FE8A9288BFAA5AC2527D015<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 349</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>8AC3B473244989EA74025FE98269BC17769142D0AD4FF663300CF4C6B9879CAB</key>
+			<input>24FDB7A03FE8A9288BFAA5AC2527D015</input>
+			<output>649095ABA5F4006B7B89D20F10A37AE9<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 350</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>FD0F4205DBFF0160203898EF02E9088E1201D77B08BBF6084B8526C9A924E642</key>
+			<input>649095ABA5F4006B7B89D20F10A37AE9</input>
+			<output>F5428E8BDDDC31FC8EF67BC7DB3201D3<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 351</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>701AF95194FB0918BC2CA79AFD507336E74359F0D567C7F4C5735D0E7216E791</key>
+			<input>F5428E8BDDDC31FC8EF67BC7DB3201D3</input>
+			<output>A56B2014A4929373DC1F6FD5C0AC138C<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 352</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>633D0E72722E6443D4E219086D221939422879E471F55487196C32DBB2BAF41D</key>
+			<input>A56B2014A4929373DC1F6FD5C0AC138C</input>
+			<output>F35F9CD43144B358843A48B4D1C41882<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 353</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>DCA79BA0184EC0A22A875E5057CA967AB177E53040B1E7DF9D567A6F637EEC9F</key>
+			<input>F35F9CD43144B358843A48B4D1C41882</input>
+			<output>A572C1F98330A1C1FA91DFD5A5B76AB9<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 354</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>A3D0FE4C3C1A1CE19CF66CF80135553D140524C9C381461E67C7A5BAC6C98626</key>
+			<input>A572C1F98330A1C1FA91DFD5A5B76AB9</input>
+			<output>23C56E065427F0409504053DD8A994CD<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 355</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>175C8D4085802768D20875CDBE6EFE2437C04ACF97A6B65EF2C3A0871E6012EB</key>
+			<input>23C56E065427F0409504053DD8A994CD</input>
+			<output>7E666724C1CAC0A582325381E9C98D73<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 356</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>800EE65CA3DE8643371DA10FB0605AB649A62DEB566C76FB70F1F306F7A99F98</key>
+			<input>7E666724C1CAC0A582325381E9C98D73</input>
+			<output>B6C18D730A074196884CADF151CAC890<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 357</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>F526E578E8978822944644B146154425FF67A0985C6B376DF8BD5EF7A6635708</key>
+			<input>B6C18D730A074196884CADF151CAC890</input>
+			<output>0068BB370419CD39748559C2DE206817<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 358</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>7D144850BE03306F41A642442890EA20FF0F1BAF5872FA548C38073578433F1F</key>
+			<input>0068BB370419CD39748559C2DE206817</input>
+			<output>56852D240F01729C4EAD0B1FFC3EDA1F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 359</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>33B2189E3774B1A066BE522C07550F88A98A368B577388C8C2950C2A847DE500</key>
+			<input>56852D240F01729C4EAD0B1FFC3EDA1F</input>
+			<output>458633A84E1F5737E9668A37388CF3C2<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 360</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>CF53C76250347B0CC5CAC660D52199B1EC0C0523196CDFFF2BF3861DBCF116C2</key>
+			<input>458633A84E1F5737E9668A37388CF3C2</input>
+			<output>F96E181E03350F27106C8D24403A49DD<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 361</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>618676C1702531077565060B5DA0570B15621D3D1A59D0D83B9F0B39FCCB5F1F</key>
+			<input>F96E181E03350F27106C8D24403A49DD</input>
+			<output>B515584E252F703A4EB55E81EDA58E30<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 362</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>D2C8CF9645CD741F67263845150FE649A07745733F76A0E2752A55B8116ED12F</key>
+			<input>B515584E252F703A4EB55E81EDA58E30</input>
+			<output>54E7D10C236785AFE0A93B3971D6F237<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 363</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>D0847F41C7940023491C2F83D02F8271F490947F1C11254D95836E8160B82318</key>
+			<input>54E7D10C236785AFE0A93B3971D6F237</input>
+			<output>937DFDE10E96030A0A8823EA3EF31B98<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 364</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>17502FC3077EFD420D2268CE0FF26F4667ED699E128726479F0B4D6B5E4B3880</key>
+			<input>937DFDE10E96030A0A8823EA3EF31B98</input>
+			<output>93FDF0392A3391C74DBE4229792C9630<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 365</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>4D6AA08A6C7EB7CA9CBE7AF4500C229EF41099A738B4B780D2B50F422767AEB0</key>
+			<input>93FDF0392A3391C74DBE4229792C9630</input>
+			<output>B9F80E1476658E6CE7FADBA215298958<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 366</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>D8820A50934290C146AFE477D9D4A0224DE897B34ED139EC354FD4E0324E27E8</key>
+			<input>B9F80E1476658E6CE7FADBA215298958</input>
+			<output>87ACDCD1F1332B9961CC5E18F9009A39<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 367</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>50E8959452DD52247A6F21A0C7BEDEB8CA444B62BFE2127554838AF8CB4EBDD1</key>
+			<input>87ACDCD1F1332B9961CC5E18F9009A39</input>
+			<output>3DD6249971FEC0FB4432236078D98D53<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 368</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>7A1973C5B90748596A54C709D1598DA5F7926FFBCE1CD28E10B1A998B3973082</key>
+			<input>3DD6249971FEC0FB4432236078D98D53</input>
+			<output>D540F8BDE3442D17E88B524D00618309<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 369</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>F9C08719A452CA931A62C5BD8F1D669D22D297462D58FF99F83AFBD5B3F6B38B</key>
+			<input>D540F8BDE3442D17E88B524D00618309</input>
+			<output>7BB18B2DA9ED188BCE3B18C02C9B3F3B<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 370</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>5EBA35F7E58381DBE29EC4A1D9B5B9AD59631C6B84B5E7123601E3159F6D8CB0</key>
+			<input>7BB18B2DA9ED188BCE3B18C02C9B3F3B</input>
+			<output>9A7380BAA169495B0FC29BB002D70E48<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 371</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>E442442FE32FA6BDA63AF0A6AC5D5AB2C3109CD125DCAE4939C378A59DBA82F8</key>
+			<input>9A7380BAA169495B0FC29BB002D70E48</input>
+			<output>88F3FE65298F7498A788E4196F13FC80<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 372</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>39079A8713E148703212A6F7FFD1B04D4BE362B40C53DAD19E4B9CBCF2A97E78</key>
+			<input>88F3FE65298F7498A788E4196F13FC80</input>
+			<output>A5E6361FBA6418CD9B2F50992B50A557<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 373</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>A99A33F38B36E3EE4DEE59F8A4282A84EE0554ABB637C21C0564CC25D9F9DB2F</key>
+			<input>A5E6361FBA6418CD9B2F50992B50A557</input>
+			<output>B1430F431ACC1C498FABF2D33B63CC67<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 374</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>BC09FAC540F44949F3B8EDFE2444CA725F465BE8ACFBDE558ACF3EF6E29A1748</key>
+			<input>B1430F431ACC1C498FABF2D33B63CC67</input>
+			<output>A90D76642D8D7899DD4A85EB92C89382<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 375</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>D26C1D07B51073C609030DC782FFAE93F64B2D8C8176A6CC5785BB1D705284CA</key>
+			<input>A90D76642D8D7899DD4A85EB92C89382</input>
+			<output>57522F39211100EF248D4A34E35CE4CE<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 376</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>2D7ADCD18F615F814B8D8B07CE48B4A1A11902B5A067A6237308F129930E6004</key>
+			<input>57522F39211100EF248D4A34E35CE4CE</input>
+			<output>87AED1E0C9F067C5F3F6D3D3BBCDE872<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 377</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>CA206C3442FAEFF3CB1292C675F52C2426B7D3556997C1E680FE22FA28C38876</key>
+			<input>87AED1E0C9F067C5F3F6D3D3BBCDE872</input>
+			<output>05798F53DFAE4A78D7BEEC24BE775B55<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 378</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>6ECC5BC346B18446D77FFBC44CCB0B1823CE5C06B6398B9E5740CEDE96B4D323</key>
+			<input>05798F53DFAE4A78D7BEEC24BE775B55</input>
+			<output>7677CE104395FFA15B51F81DAFBCAB1A<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 379</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>2E52C8E239CF1E959AB831307034FEF755B99216F5AC743F0C1136C339087839</key>
+			<input>7677CE104395FFA15B51F81DAFBCAB1A</input>
+			<output>760DE53561246F944B3E6279B39373F1<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 380</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>79B65B7D435E2134A1AB9A1CC1F08A8423B4772394881BAB472F54BA8A9B0BC8</key>
+			<input>760DE53561246F944B3E6279B39373F1</input>
+			<output>5B61CC978A9C808767C272432765EC0B<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 381</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>9EF57B89E7B8127348A9EF05E93DCC8D78D5BBB41E149B2C20ED26F9ADFEE7C3</key>
+			<input>5B61CC978A9C808767C272432765EC0B</input>
+			<output>902CDF3BD5E869E9CCFF8F2A454E1D42<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 382</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>15BB7B6BC685E4865BFA134C59CFC9C5E8F9648FCBFCF2C5EC12A9D3E8B0FA81</key>
+			<input>902CDF3BD5E869E9CCFF8F2A454E1D42</input>
+			<output>38264937B9372C316478BDF7AE578900<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 383</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>735D93C1DDD54986ACC6C2B0DFCC5E8AD0DF2DB872CBDEF4886A142446E77381</key>
+			<input>38264937B9372C316478BDF7AE578900</input>
+			<output>3BFE31D3E909E6EC3112F88DB8FFCA45<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 384</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>675B0E7FC5BCC3AF319B1D55C1F62CCAEB211C6B9BC23818B978ECA9FE18B9C4</key>
+			<input>3BFE31D3E909E6EC3112F88DB8FFCA45</input>
+			<output>2BFD5F6532BC1D2A8DA34481F9228B84<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 385</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>0AB242F9783E75D04E98733E63458F53C0DC430EA97E253234DBA828073A3240</key>
+			<input>2BFD5F6532BC1D2A8DA34481F9228B84</input>
+			<output>161481003108BAEFCC02BFD335C6A89F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 386</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>58457CB82A24222839CF20D837F168A8D6C8C20E98769FDDF8D917FB32FC9ADF</key>
+			<input>161481003108BAEFCC02BFD335C6A89F</input>
+			<output>8A50E98A1165C1B6137231E519EC137B<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 387</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>C2C52CEA5654AAC9BD60FA04068094EF5C982B8489135E6BEBAB261E2B1089A4</key>
+			<input>8A50E98A1165C1B6137231E519EC137B</input>
+			<output>24ACAA0F045F5A6765D3B468550585B5<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 388</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>816757A434D81AA348E0B2F4FC44F4387834818B8D4C040C8E7892767E150C11</key>
+			<input>24ACAA0F045F5A6765D3B468550585B5</input>
+			<output>9993F9CBDAD9CA98C74CCBDB3E079F50<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 389</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>647A9F1E43B08FD15EFC17342EB8970AE1A778405795CE94493459AD40129341</key>
+			<input>9993F9CBDAD9CA98C74CCBDB3E079F50</input>
+			<output>F676785AEF58297C28035E8E065829FF<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 390</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>4BB8B5020862EA9228B663DEDB39336717D1001AB8CDE7E861370723464ABABE</key>
+			<input>F676785AEF58297C28035E8E065829FF</input>
+			<output>ED16C74BD4252F7B72AA37D11E198508<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 391</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>5392AAED87CE40891A69F4690A8743FBFAC7C7516CE8C893139D30F258533FB6</key>
+			<input>ED16C74BD4252F7B72AA37D11E198508</input>
+			<output>3BE7B6A9E197598146E98B7A501A2226<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 392</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>9D8BABE9C12E6BA3A18EB23A92205456C12071F88D7F91125574BB8808491D90</key>
+			<input>3BE7B6A9E197598146E98B7A501A2226</input>
+			<output>CC1163A3D9AF3307ED740591AB66BD81<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 393</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>231B451E506AC98FF993A3C7AD9C37F70D31125B54D0A215B800BE19A32FA011</key>
+			<input>CC1163A3D9AF3307ED740591AB66BD81</input>
+			<output>43FB8B2B44C740956111DA816616771D<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 394</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>1699C517EE1713D02C6EA0957E4A00CE4ECA99701017E280D9116498C539D70C</key>
+			<input>43FB8B2B44C740956111DA816616771D</input>
+			<output>A511AEA01DB8E7E16E7C53931625BEC3<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 395</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>2624CE7970CC5DAFAC73C881FDD5F6EBEBDB37D00DAF0561B76D370BD31C69CF</key>
+			<input>A511AEA01DB8E7E16E7C53931625BEC3</input>
+			<output>82EF6D2A1FF1DBCDF39DC04BE523229F<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 396</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>60C9931E19ED0D095F8DF75AEA56689769345AFA125EDEAC44F0F740363F4B50</key>
+			<input>82EF6D2A1FF1DBCDF39DC04BE523229F</input>
+			<output>A595C8AAAAAD80DD4F40693FF2D89A19<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 397</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>D461E3605B0AD0E87F5A078ECFE25934CCA19250B8F35E710BB09E7FC4E7D149</key>
+			<input>A595C8AAAAAD80DD4F40693FF2D89A19</input>
+			<output>57B18DFEAD129795C3BB8D6C06764729<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 398</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>0BE3FC6C21764F1C15782D52D92919A09B101FAE15E1C9E4C80B1313C2919660</key>
+			<input>57B18DFEAD129795C3BB8D6C06764729</input>
+			<output>6F8606BBA6CC03A5D0A64FE21E277B60<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB MonteCarlo ENC 399</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_ECB</ciphertype>
+			<key>982D617A0F737342E99123A5A573D266F4961915B32DCA4118AD5CF1DCB6ED00</key>
+			<input>6F8606BBA6CC03A5D0A64FE21E277B60</input>
+			<output>1F6763DF807A7E70960D4CD3118E601A<output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tsymmetric/scripts/symmetricOOMtests.txt	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,350 @@
+<action>
+	<actionname>None</actionname>
+	<actiontype>startmemfailure</actiontype>
+	<actionbody></actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>3DES CBC Incremental Buffering Test 1</actionname>
+	<actiontype>Incremental</actiontype>
+	<actionbody>
+		<incremental>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>012345678901234567</input>
+			<iv>8877665544332211</iv>
+		</incremental>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3DES ECB Incremental Buffering Test 1</actionname>
+	<actiontype>Incremental</actiontype>
+	<actionbody>
+		<incremental>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>012345678901234567</input>
+		</incremental>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Incremental Buffering Test 1</actionname>
+	<actiontype>Incremental</actiontype>
+	<actionbody>
+		<incremental>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>012345678901234567</input>
+			<iv>8877665544332211</iv>
+		</incremental>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Incremental Buffering Test 1</actionname>
+	<actiontype>Incremental</actiontype>
+	<actionbody>
+		<incremental>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>012345678901234567</input>
+		</incremental>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB Incremental Buffering Test 0</actionname>
+	<actiontype>Incremental</actiontype>
+	<actionbody>
+		<incremental>
+			<ciphertype>AESECB</ciphertype>
+			<key>01010101010101010101010101010101</key>
+			<input>012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789</input>
+		</incremental>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC4 Incremental Buffering Test 1</actionname>
+	<actiontype>Incremental</actiontype>
+	<actionbody>
+		<incremental>
+			<ciphertype>RC4</ciphertype>
+			<key>01010101010101010101010101010101</key>
+			<input>012345678901234567</input>
+		</incremental>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>DES ECB Vector Test 0</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>10316E028C8F3B4A</key>
+			<input>0000000000000000</input>
+			<output>82DCBAFBDEAB6602</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 1</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>8000000000000000</input>
+			<output>95F8A5E5DD31D900</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 3</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>2000000000000000</input>
+			<output>2E8653104F3834EA</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 4</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>1000000000000000</input>
+			<output>4BD388FF6CD81D4F</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 0</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>88</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>0000000000000000</input>
+			<output>61A8A244ADACCCF0</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 3</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>0123456789ABCDEF</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>88BCA90E90875A7F</input>
+			<output>B0E5CDDD09CB4581</output>
+			<iv>456789ABCDEF0123</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC4 Vector Test 0</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC4</ciphertype>
+			<key>70E40040838C10495A4B31551D2A18EF</key>
+			<input>9017E9CEB5ECDD634860A86C1BB51663A5244CED6125B0359DAE984EDE35C86D</input>
+			<output>1400000C12C873074727389C1041B96E3BF94260A8772A294823ACA42EF21651</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC4 Vector Test 1</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC4</ciphertype>
+			<key>022F0FFA3CB41D904C9D8A5EB98FC953</key>
+			<input>1400000CED47F2AC3869DAEA1E2A05F51BAACEA8885D0FECCAE2A4E9A9419C6B</input>
+			<output>09B6024ACDDAB55A0CE3D306A70467D39F1190C27280664153F7B713B0F61AC2</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Null Vector Test 1 -- oh the humour</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>NULL</ciphertype>
+			<input>6284093818384927</input>
+			<output>6284093818384927</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Null Vector Test 2 -- oh the humour</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>NULL</ciphertype>
+			<input>984908728230972B34</input>
+			<output>984908728230972B34</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>AES ECB KAT VK 1</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>80000000000000000000000000000000</key>
+			<input>00000000000000000000000000000000</input>
+			<output>0EDD33D3C621E546455BD8BA1418BEC8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB KAT VT 1</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<input>80000000000000000000000000000000</input>
+			<output>3AD78E726C1EC02B7EBFE92B23D9EC34</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AESECB Vector Test 0</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>00010203050607080A0B0C0D0F101112</key>
+			<input>506812A45F08C889B97F5980038B8359</input>
+			<output>D8F532538289EF7D06B506A4FD5BE9C9</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Dec 1</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESDEC_CBC</ciphertype>
+			<key>FACA37E0B0C85373DF706E73F7C9AF86</key>
+			<iv>52D0C29FF8793A519BD6A8289FC80E6A</iv>
+			<input>FACA37E0B0C85373DF706E73F7C9AF86</input>
+			<output>F5372F9735C5685F1DA362AF6ECB2940</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES CBC MonteCarlo Enc 0</actionname>
+	<actiontype>MonteCarlo</actiontype>
+	<actionbody>
+		<MonteCarlo>
+			<ciphertype>AESENC_CBC</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<iv>00000000000000000000000000000000</iv>
+			<input>00000000000000000000000000000000</input>
+			<output>8A05FC5E095AF4848A08D328D3688E3D</output>
+			<result>ETrue</result>
+		</MonteCarlo>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>None</actionname>
+	<actiontype>stopmemfailure</actiontype>
+	<actionbody></actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tsymmetric/scripts/tsymmetricperformancetests.txt	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,1389 @@
+// Start of performance testing
+//
+// The <randDataSize> tags indicate the size in bytes of the 
+// random input data to be generated for the cipher in each test case.
+//
+<action>
+	<actionname>DES ECB Vector Test 0 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>10316E028C8F3B4A</key>
+			<randDataSize>8</randDataSize>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 1 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>10316E028C8F3B4A</key>
+			<randDataSize>16</randDataSize>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 2 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>10316E028C8F3B4A</key>
+			<randDataSize>32</randDataSize>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 3 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>10316E028C8F3B4A</key>
+			<randDataSize>64</randDataSize>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 4 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>10316E028C8F3B4A</key>
+			<randDataSize>128</randDataSize>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 5 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>10316E028C8F3B4A</key>
+			<randDataSize>256</randDataSize>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 6 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>10316E028C8F3B4A</key>
+			<randDataSize>512</randDataSize>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 7 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>10316E028C8F3B4A</key>
+			<randDataSize>1024</randDataSize>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 8 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>10316E028C8F3B4A</key>
+			<randDataSize>2048</randDataSize>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 9 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>10316E028C8F3B4A</key>
+			<randDataSize>4096</randDataSize>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 0 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>10316E028C8F3B4A</key>
+			<randDataSize>8</randDataSize>
+			<iv>0000000000000000</iv>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 1 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>10316E028C8F3B4A</key>
+			<randDataSize>16</randDataSize>
+			<iv>0000000000000000</iv>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 2 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>10316E028C8F3B4A</key>
+			<randDataSize>32</randDataSize>
+			<iv>0000000000000000</iv>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 3 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>10316E028C8F3B4A</key>
+			<randDataSize>64</randDataSize>
+			<iv>0000000000000000</iv>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 4 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>10316E028C8F3B4A</key>
+			<randDataSize>128</randDataSize>
+			<iv>0000000000000000</iv>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 5 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>10316E028C8F3B4A</key>
+			<randDataSize>256</randDataSize>
+			<iv>0000000000000000</iv>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 6 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>10316E028C8F3B4A</key>
+			<randDataSize>512</randDataSize>
+			<iv>0000000000000000</iv>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 7 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>10316E028C8F3B4A</key>
+			<randDataSize>1024</randDataSize>
+			<iv>0000000000000000</iv>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 8 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>10316E028C8F3B4A</key>
+			<randDataSize>2048</randDataSize>
+			<iv>0000000000000000</iv>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 9 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>10316E028C8F3B4A</key>
+			<randDataSize>4096</randDataSize>
+			<iv>0000000000000000</iv>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 0 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>10316E028C8F3B4A10316E028C8F3B4A10316E028C8F3B4A</key>
+			<randDataSize>8</randDataSize>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 1 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>10316E028C8F3B4A10316E028C8F3B4A10316E028C8F3B4A</key>
+			<randDataSize>16</randDataSize>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 2 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>10316E028C8F3B4A10316E028C8F3B4A10316E028C8F3B4A</key>
+			<randDataSize>32</randDataSize>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 3 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>10316E028C8F3B4A10316E028C8F3B4A10316E028C8F3B4A</key>
+			<randDataSize>64</randDataSize>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 4 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>10316E028C8F3B4A10316E028C8F3B4A10316E028C8F3B4A</key>
+			<randDataSize>128</randDataSize>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 5 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>10316E028C8F3B4A10316E028C8F3B4A10316E028C8F3B4A</key>
+			<randDataSize>256</randDataSize>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 6 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>10316E028C8F3B4A10316E028C8F3B4A10316E028C8F3B4A</key>
+			<randDataSize>512</randDataSize>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 7 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>10316E028C8F3B4A10316E028C8F3B4A10316E028C8F3B4A</key>
+			<randDataSize>1024</randDataSize>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 8 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>10316E028C8F3B4A10316E028C8F3B4A10316E028C8F3B4A</key>
+			<randDataSize>2048</randDataSize>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 9 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>10316E028C8F3B4A10316E028C8F3B4A10316E028C8F3B4A</key>
+			<randDataSize>4096</randDataSize>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 0 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>10316E028C8F3B4A10316E028C8F3B4A10316E028C8F3B4A</key>
+			<randDataSize>8</randDataSize>
+			<iv>0000000000000000</iv>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 1 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>10316E028C8F3B4A10316E028C8F3B4A10316E028C8F3B4A</key>
+			<randDataSize>16</randDataSize>
+			<iv>0000000000000000</iv>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 2 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>10316E028C8F3B4A10316E028C8F3B4A10316E028C8F3B4A</key>
+			<randDataSize>32</randDataSize>
+			<iv>0000000000000000</iv>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 3 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>10316E028C8F3B4A10316E028C8F3B4A10316E028C8F3B4A</key>
+			<randDataSize>64</randDataSize>
+			<iv>0000000000000000</iv>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 4 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>10316E028C8F3B4A10316E028C8F3B4A10316E028C8F3B4A</key>
+			<randDataSize>128</randDataSize>
+			<iv>0000000000000000</iv>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 5 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>10316E028C8F3B4A10316E028C8F3B4A10316E028C8F3B4A</key>
+			<randDataSize>256</randDataSize>
+			<iv>0000000000000000</iv>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 6 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>10316E028C8F3B4A10316E028C8F3B4A10316E028C8F3B4A</key>
+			<randDataSize>512</randDataSize>
+			<iv>0000000000000000</iv>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 7 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>10316E028C8F3B4A10316E028C8F3B4A10316E028C8F3B4A</key>
+			<randDataSize>1024</randDataSize>
+			<iv>0000000000000000</iv>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 8 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>10316E028C8F3B4A10316E028C8F3B4A10316E028C8F3B4A</key>
+			<randDataSize>2048</randDataSize>
+			<iv>0000000000000000</iv>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 9 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>10316E028C8F3B4A10316E028C8F3B4A10316E028C8F3B4A</key>
+			<randDataSize>4096</randDataSize>
+			<iv>0000000000000000</iv>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 0 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>88</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<randDataSize>8</randDataSize>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 1 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>88</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<randDataSize>16</randDataSize>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 2 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>88</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<randDataSize>32</randDataSize>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 3 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>88</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<randDataSize>64</randDataSize>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 4 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>88</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<randDataSize>128</randDataSize>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 5 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>88</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<randDataSize>256</randDataSize>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 6 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>88</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<randDataSize>512</randDataSize>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 7 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>88</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<randDataSize>1024</randDataSize>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 8 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>88</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<randDataSize>2048</randDataSize>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 9 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>88</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<randDataSize>4096</randDataSize>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 0 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>0000000000000000</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<randDataSize>8</randDataSize>
+			<iv>0000000000000000</iv>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 1 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>0000000000000000</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<randDataSize>16</randDataSize>
+			<iv>0000000000000000</iv>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 2 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>0000000000000000</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<randDataSize>32</randDataSize>
+			<iv>0000000000000000</iv>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 3 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>0000000000000000</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<randDataSize>64</randDataSize>
+			<iv>0000000000000000</iv>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 4 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>0000000000000000</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<randDataSize>128</randDataSize>
+			<iv>0000000000000000</iv>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 5 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>0000000000000000</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<randDataSize>256</randDataSize>
+			<iv>0000000000000000</iv>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 6 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>0000000000000000</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<randDataSize>512</randDataSize>
+			<iv>0000000000000000</iv>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 7 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>0000000000000000</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<randDataSize>1024</randDataSize>
+			<iv>0000000000000000</iv>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 8 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>0000000000000000</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<randDataSize>2048</randDataSize>
+			<iv>0000000000000000</iv>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 9 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>0000000000000000</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<randDataSize>4096</randDataSize>
+			<iv>0000000000000000</iv>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB Vector Test 0 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>80000000000000000000000000000000</key>
+			<randDataSize>16</randDataSize>
+			<iterations>1</iterations>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB Vector Test 1 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>80000000000000000000000000000000</key>
+			<randDataSize>32</randDataSize>
+			<iterations>1</iterations>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB Vector Test 2 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>80000000000000000000000000000000</key>
+			<randDataSize>64</randDataSize>
+			<iterations>1</iterations>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB Vector Test 3 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>80000000000000000000000000000000</key>
+			<randDataSize>128</randDataSize>
+			<iterations>1</iterations>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB Vector Test 4 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>80000000000000000000000000000000</key>
+			<randDataSize>256</randDataSize>
+			<iterations>1</iterations>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB Vector Test 5 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>80000000000000000000000000000000</key>
+			<randDataSize>512</randDataSize>
+			<iterations>1</iterations>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB Vector Test 6 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>80000000000000000000000000000000</key>
+			<randDataSize>1024</randDataSize>
+			<iterations>1</iterations>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB Vector Test 7 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>80000000000000000000000000000000</key>
+			<randDataSize>2048</randDataSize>
+			<iterations>1</iterations>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB Vector Test 8 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>AESECB</ciphertype>
+			<key>80000000000000000000000000000000</key>
+			<randDataSize>4096</randDataSize>
+			<iterations>1</iterations>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC4 Vector Test 0 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC4</ciphertype>
+			<key>70E40040838C10495A4B31551D2A18EF</key>
+			<randDataSize>8</randDataSize>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC4 Vector Test 1 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC4</ciphertype>
+			<key>70E40040838C10495A4B31551D2A18EF</key>
+			<randDataSize>16</randDataSize>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC4 Vector Test 2 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC4</ciphertype>
+			<key>70E40040838C10495A4B31551D2A18EF</key>
+			<randDataSize>32</randDataSize>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC4 Vector Test 3 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC4</ciphertype>
+			<key>70E40040838C10495A4B31551D2A18EF</key>
+			<randDataSize>64</randDataSize>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC4 Vector Test 4 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC4</ciphertype>
+			<key>70E40040838C10495A4B31551D2A18EF</key>
+			<randDataSize>128</randDataSize>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC4 Vector Test 5 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC4</ciphertype>
+			<key>70E40040838C10495A4B31551D2A18EF</key>
+			<randDataSize>256</randDataSize>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC4 Vector Test 6 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC4</ciphertype>
+			<key>70E40040838C10495A4B31551D2A18EF</key>
+			<randDataSize>512</randDataSize>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC4 Vector Test 7 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC4</ciphertype>
+			<key>70E40040838C10495A4B31551D2A18EF</key>
+			<randDataSize>1024</randDataSize>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC4 Vector Test 8 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC4</ciphertype>
+			<key>70E40040838C10495A4B31551D2A18EF</key>
+			<randDataSize>2048</randDataSize>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC4 Vector Test 9 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC4</ciphertype>
+			<key>70E40040838C10495A4B31551D2A18EF</key>
+			<randDataSize>4096</randDataSize>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Null Vector Test 0 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>NULL</ciphertype>
+			<randDataSize>8</randDataSize>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Null Vector Test 1 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>NULL</ciphertype>
+			<randDataSize>16</randDataSize>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Null Vector Test 2 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>NULL</ciphertype>
+			<randDataSize>32</randDataSize>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Null Vector Test 3 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>NULL</ciphertype>
+			<randDataSize>64</randDataSize>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Null Vector Test 4 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>NULL</ciphertype>
+			<randDataSize>128</randDataSize>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Null Vector Test 5 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>NULL</ciphertype>
+			<randDataSize>256</randDataSize>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Null Vector Test 6 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>NULL</ciphertype>
+			<randDataSize>512</randDataSize>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Null Vector Test 7 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>NULL</ciphertype>
+			<randDataSize>1024</randDataSize>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Null Vector Test 8 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>NULL</ciphertype>
+			<randDataSize>2048</randDataSize>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Null Vector Test 9 (Performance)</actionname>
+	<actiontype>Performance</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>NULL</ciphertype>
+			<randDataSize>4096</randDataSize>
+			<iterations>1</iterations>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tsymmetric/scripts/tsymmetrictests.txt	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,14235 @@
+<action>
+	<actionname>3DES CBC Incremental Buffering Test 1</actionname>
+	<actiontype>Incremental</actiontype>
+	<actionbody>
+		<incremental>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>012345678901234567</input>
+			<iv>8877665544332211</iv>
+		</incremental>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3DES CBC Incremental Buffering Test 2</actionname>
+	<actiontype>Incremental</actiontype>
+	<actionbody>
+		<incremental>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>01234567890123456789012345678901</input>
+			<iv>8877665544332211</iv>
+		</incremental>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3DES CBC Incremental Buffering Test 3</actionname>
+	<actiontype>Incremental</actiontype>
+	<actionbody>
+		<incremental>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789</input>
+			<iv>8877665544332211</iv>
+		</incremental>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3DES ECB Incremental Buffering Test 1</actionname>
+	<actiontype>Incremental</actiontype>
+	<actionbody>
+		<incremental>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>012345678901234567</input>
+		</incremental>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3DES ECB Incremental Buffering Test 2</actionname>
+	<actiontype>Incremental</actiontype>
+	<actionbody>
+		<incremental>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>01234567890123456789012345678901</input>
+		</incremental>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3DES ECB Incremental Buffering Test 3</actionname>
+	<actiontype>Incremental</actiontype>
+	<actionbody>
+		<incremental>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789</input>
+		</incremental>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Incremental Buffering Test 1</actionname>
+	<actiontype>Incremental</actiontype>
+	<actionbody>
+		<incremental>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>012345678901234567</input>
+			<iv>8877665544332211</iv>
+		</incremental>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Incremental Buffering Test 2</actionname>
+	<actiontype>Incremental</actiontype>
+	<actionbody>
+		<incremental>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>01234567890123456789012345678901</input>
+			<iv>8877665544332211</iv>
+		</incremental>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Incremental Buffering Test 3</actionname>
+	<actiontype>Incremental</actiontype>
+	<actionbody>
+		<incremental>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789</input>
+			<iv>8877665544332211</iv>
+		</incremental>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB Incremental Buffering Test 0</actionname>
+	<actiontype>Incremental</actiontype>
+	<actionbody>
+		<incremental>
+			<ciphertype>AESECB</ciphertype>
+			<key>01010101010101010101010101010101</key>
+			<input>012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789</input>
+		</incremental>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB Incremental Buffering Test 1</actionname>
+	<actiontype>Incremental</actiontype>
+	<actionbody>
+		<incremental>
+			<ciphertype>AESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789</input>
+		</incremental>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>AES ECB Incremental Buffering Test 3</actionname>
+	<actiontype>Incremental</actiontype>
+	<actionbody>
+		<incremental>
+			<ciphertype>AESECB</ciphertype>
+			<key>0101010101010101010101010101010101010101010101010101010101010101</key>
+			<input>012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789</input>
+		</incremental>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC4 Incremental Buffering Test 1</actionname>
+	<actiontype>Incremental</actiontype>
+	<actionbody>
+		<incremental>
+			<ciphertype>RC4</ciphertype>
+			<key>01010101010101010101010101010101</key>
+			<input>012345678901234567</input>
+		</incremental>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC4 Incremental Buffering Test 2</actionname>
+	<actiontype>Incremental</actiontype>
+	<actionbody>
+		<incremental>
+			<ciphertype>RC4</ciphertype>
+			<key>01010101010101010101010101010101</key>
+			<input>012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789</input>
+		</incremental>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC4 Incremental Buffering Test 3</actionname>
+	<actiontype>Incremental</actiontype>
+	<actionbody>
+		<incremental>
+			<ciphertype>RC4</ciphertype>
+			<key>0123456789ABCDEF</key>
+			<input>0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101</input>
+		</incremental>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Incremental Buffering Test 1</actionname>
+	<actiontype>Incremental</actiontype>
+	<actionbody>
+		<incremental>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>012345678901234567</input>
+		</incremental>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Incremental Buffering Test 2</actionname>
+	<actiontype>Incremental</actiontype>
+	<actionbody>
+		<incremental>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>01234567890123456789012345678901</input>
+		</incremental>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Incremental Buffering Test 3</actionname>
+	<actiontype>Incremental</actiontype>
+	<actionbody>
+		<incremental>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789</input>
+		</incremental>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 0</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>10316E028C8F3B4A</key>
+			<input>0000000000000000</input>
+			<output>82DCBAFBDEAB6602</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 1</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>8000000000000000</input>
+			<output>95F8A5E5DD31D900</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 2</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>4000000000000000</input>
+			<output>DD7F121CA5015619</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 3</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>2000000000000000</input>
+			<output>2E8653104F3834EA</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 4</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>1000000000000000</input>
+			<output>4BD388FF6CD81D4F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 5</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0800000000000000</input>
+			<output>20B9E767B2FB1456</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 6</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0400000000000000</input>
+			<output>55579380D77138EF</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 7</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0200000000000000</input>
+			<output>6CC5DEFAAF04512F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 8</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0100000000000000</input>
+			<output>0D9F279BA5D87260</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 9</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0080000000000000</input>
+			<output>D9031B0271BD5A0A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 10</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0040000000000000</input>
+			<output>424250B37C3DD951</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 11</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0020000000000000</input>
+			<output>B8061B7ECD9A21E5</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 12</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0010000000000000</input>
+			<output>F15D0F286B65BD28</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 13</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0008000000000000</input>
+			<output>ADD0CC8D6E5DEBA1</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 14</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0004000000000000</input>
+			<output>E6D5F82752AD63D1</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 15</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0002000000000000</input>
+			<output>ECBFE3BD3F591A5E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 16</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0001000000000000</input>
+			<output>F356834379D165CD</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 17</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000800000000000</input>
+			<output>2B9F982F20037FA9</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 18</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000400000000000</input>
+			<output>889DE068A16F0BE6</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 19</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000200000000000</input>
+			<output>E19E275D846A1298</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 20</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000100000000000</input>
+			<output>329A8ED523D71AEC</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 21</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000080000000000</input>
+			<output>E7FCE22557D23C97</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 22</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000040000000000</input>
+			<output>12A9F5817FF2D65D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 23</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000020000000000</input>
+			<output>A484C3AD38DC9C19</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 24</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000010000000000</input>
+			<output>FBE00A8A1EF8AD72</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 25</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000008000000000</input>
+			<output>750D079407521363</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 26</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000004000000000</input>
+			<output>64FEED9C724C2FAF</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 27</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000002000000000</input>
+			<output>F02B263B328E2B60</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 28</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000001000000000</input>
+			<output>9D64555A9A10B852</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 29</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000800000000</input>
+			<output>D106FF0BED5255D7</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 30</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000400000000</input>
+			<output>E1652C6B138C64A5</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 31</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000200000000</input>
+			<output>E428581186EC8F46</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 32</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000100000000</input>
+			<output>AEB5F5EDE22D1A36</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 33</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000080000000</input>
+			<output>E943D7568AEC0C5C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 34</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000040000000</input>
+			<output>DF98C8276F54B04B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 35</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000020000000</input>
+			<output>B160E4680F6C696F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 36</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000010000000</input>
+			<output>FA0752B07D9C4AB8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 37</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000008000000</input>
+			<output>CA3A2B036DBC8502</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 38</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000004000000</input>
+			<output>5E0905517BB59BCF</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 39</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000002000000</input>
+			<output>814EEB3B91D90726</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 40</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000001000000</input>
+			<output>4D49DB1532919C9F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 41</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000000800000</input>
+			<output>25EB5FC3F8CF0621</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 42</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000000400000</input>
+			<output>AB6A20C0620D1C6F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 43</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000000200000</input>
+			<output>79E90DBC98F92CCA</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 44</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000000100000</input>
+			<output>866ECEDD8072BB0E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 45</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000000080000</input>
+			<output>8B54536F2F3E64A8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 46</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000000040000</input>
+			<output>EA51D3975595B86B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 47</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000000020000</input>
+			<output>CAFFC6AC4542DE31</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 48</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000000010000</input>
+			<output>8DD45A2DDF90796C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 49</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000000008000</input>
+			<output>1029D55E880EC2D0</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 50</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000000004000</input>
+			<output>5D86CB23639DBEA9</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 51</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000000002000</input>
+			<output>1D1CA853AE7C0C5F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 52</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000000001000</input>
+			<output>CE332329248F3228</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 53</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000000000800</input>
+			<output>8405D1ABE24FB942</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 54</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000000000400</input>
+			<output>E643D78090CA4207</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 55</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000000000200</input>
+			<output>48221B9937748A23</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 56</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000000000100</input>
+			<output>DD7C0BBD61FAFD54</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 57</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000000000080</input>
+			<output>2FBC291A570DB5C4</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 58</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000000000040</input>
+			<output>E07C30D7E4E26E12</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 59</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000000000020</input>
+			<output>0953E2258E8E90A1</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 60</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000000000010</input>
+			<output>5B711BC4CEEBF2EE</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 61</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000000000008</input>
+			<output>CC083F1E6D9E85F6</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 62</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000000000004</input>
+			<output>D2FD8867D50D2DFE</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 63</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000000000002</input>
+			<output>06E7EA22CE92708F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 64</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000000000001</input>
+			<output>166B40B44ABA4BD6</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 65</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>8001010101010101</key>
+			<input>0000000000000000</input>
+			<output>95A8D72813DAA94D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 66</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>4001010101010101</key>
+			<input>0000000000000000</input>
+			<output>0EEC1487DD8C26D5</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 67</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>2001010101010101</key>
+			<input>0000000000000000</input>
+			<output>7AD16FFB79C45926</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 68</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>1001010101010101</key>
+			<input>0000000000000000</input>
+			<output>D3746294CA6A6CF3</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 69</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0801010101010101</key>
+			<input>0000000000000000</input>
+			<output>809F5F873C1FD761</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 70</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0401010101010101</key>
+			<input>0000000000000000</input>
+			<output>C02FAFFEC989D1FC</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 71</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0201010101010101</key>
+			<input>0000000000000000</input>
+			<output>4615AA1D33E72F10</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 72</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0180010101010101</key>
+			<input>0000000000000000</input>
+			<output>2055123350C00858</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 73</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0140010101010101</key>
+			<input>0000000000000000</input>
+			<output>DF3B99D6577397C8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 74</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0120010101010101</key>
+			<input>0000000000000000</input>
+			<output>31FE17369B5288C9</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 75</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0110010101010101</key>
+			<input>0000000000000000</input>
+			<output>DFDD3CC64DAE1642</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 76</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0108010101010101</key>
+			<input>0000000000000000</input>
+			<output>178C83CE2B399D94</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 77</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0104010101010101</key>
+			<input>0000000000000000</input>
+			<output>50F636324A9B7F80</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 78</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0102010101010101</key>
+			<input>0000000000000000</input>
+			<output>A8468EE3BC18F06D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 79</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101800101010101</key>
+			<input>0000000000000000</input>
+			<output>A2DC9E92FD3CDE92</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 80</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101400101010101</key>
+			<input>0000000000000000</input>
+			<output>CAC09F797D031287</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 81</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101200101010101</key>
+			<input>0000000000000000</input>
+			<output>90BA680B22AEB525</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 82</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101100101010101</key>
+			<input>0000000000000000</input>
+			<output>CE7A24F350E280B6</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 83</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101080101010101</key>
+			<input>0000000000000000</input>
+			<output>882BFF0AA01A0B87</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 84</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101040101010101</key>
+			<input>0000000000000000</input>
+			<output>25610288924511C2</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 85</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101020101010101</key>
+			<input>0000000000000000</input>
+			<output>C71516C29C75D170</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 86</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101018001010101</key>
+			<input>0000000000000000</input>
+			<output>5199C29A52C9F059</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 87</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101014001010101</key>
+			<input>0000000000000000</input>
+			<output>C22F0A294A71F29F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 88</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101012001010101</key>
+			<input>0000000000000000</input>
+			<output>EE371483714C02EA</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 89</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101011001010101</key>
+			<input>0000000000000000</input>
+			<output>A81FBD448F9E522F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 90</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010801010101</key>
+			<input>0000000000000000</input>
+			<output>4F644C92E192DFED</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 91</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010401010101</key>
+			<input>0000000000000000</input>
+			<output>1AFA9A66A6DF92AE</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 92</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010201010101</key>
+			<input>0000000000000000</input>
+			<output>B3C1CC715CB879D8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 93</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010180010101</key>
+			<input>0000000000000000</input>
+			<output>19D032E64AB0BD8B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 94</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010140010101</key>
+			<input>0000000000000000</input>
+			<output>3CFAA7A7DC8720DC</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 95</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010120010101</key>
+			<input>0000000000000000</input>
+			<output>B7265F7F447AC6F3</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 96</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010110010101</key>
+			<input>0000000000000000</input>
+			<output>9DB73B3C0D163F54</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 97</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010108010101</key>
+			<input>0000000000000000</input>
+			<output>8181B65BABF4A975</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 98</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010104010101</key>
+			<input>0000000000000000</input>
+			<output>93C9B64042EAA240</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 99</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010102010101</key>
+			<input>0000000000000000</input>
+			<output>5570530829705592</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 100</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101800101</key>
+			<input>0000000000000000</input>
+			<output>8638809E878787A0</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 101</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101400101</key>
+			<input>0000000000000000</input>
+			<output>41B9A79AF79AC208</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 102</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101200101</key>
+			<input>0000000000000000</input>
+			<output>7A9BE42F2009A892</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 103</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101100101</key>
+			<input>0000000000000000</input>
+			<output>29038D56BA6D2745</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 104</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101080101</key>
+			<input>0000000000000000</input>
+			<output>5495C6ABF1E5DF51</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 105</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101040101</key>
+			<input>0000000000000000</input>
+			<output>AE13DBD561488933</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 106</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101020101</key>
+			<input>0000000000000000</input>
+			<output>024D1FFA8904E389</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 107</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101018001</key>
+			<input>0000000000000000</input>
+			<output>D1399712F99BF02E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 108</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101014001</key>
+			<input>0000000000000000</input>
+			<output>14C1D7C1CFFEC79E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 109</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101012001</key>
+			<input>0000000000000000</input>
+			<output>1DE5279DAE3BED6F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 110</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101011001</key>
+			<input>0000000000000000</input>
+			<output>E941A33F85501303</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 111</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010801</key>
+			<input>0000000000000000</input>
+			<output>DA99DBBC9A03F379</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 112</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010401</key>
+			<input>0000000000000000</input>
+			<output>B7FC92F91D8E92E9</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 113</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010201</key>
+			<input>0000000000000000</input>
+			<output>AE8E5CAA3CA04E85</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 114</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010180</key>
+			<input>0000000000000000</input>
+			<output>9CC62DF43B6EED74</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 115</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010140</key>
+			<input>0000000000000000</input>
+			<output>D863DBB5C59A91A0</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 116</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010120</key>
+			<input>0000000000000000</input>
+			<output>A1AB2190545B91D7</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 117</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010110</key>
+			<input>0000000000000000</input>
+			<output>0875041E64C570F7</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 118</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010108</key>
+			<input>0000000000000000</input>
+			<output>5A594528BEBEF1CC</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 119</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010104</key>
+			<input>0000000000000000</input>
+			<output>FCDB3291DE21F0C0</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 120</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0101010101010102</key>
+			<input>0000000000000000</input>
+			<output>869EFD7F9F265A09</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 121</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>1046913489980131</key>
+			<input>0000000000000000</input>
+			<output>88D55E54F54C97B4</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 122</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>1007103489988020</key>
+			<input>0000000000000000</input>
+			<output>0C0CC00C83EA48FD</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 123</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>10071034C8980120</key>
+			<input>0000000000000000</input>
+			<output>83BC8EF3A6570183</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 124</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>1046103489988020</key>
+			<input>0000000000000000</input>
+			<output>DF725DCAD94EA2E9</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 125</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>1086911519190101</key>
+			<input>0000000000000000</input>
+			<output>E652B53B550BE8B0</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 126</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>1086911519580101</key>
+			<input>0000000000000000</input>
+			<output>AF527120C485CBB0</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 127</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>5107B01519580101</key>
+			<input>0000000000000000</input>
+			<output>0F04CE393DB926D5</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 128</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>1007B01519190101</key>
+			<input>0000000000000000</input>
+			<output>C9F00FFC74079067</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 129</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>3107915498080101</key>
+			<input>0000000000000000</input>
+			<output>7CFD82A593252B4E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 130</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>3107919498080101</key>
+			<input>0000000000000000</input>
+			<output>CB49A2F9E91363E3</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 131</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>10079115B9080140</key>
+			<input>0000000000000000</input>
+			<output>00B588BE70D23F56</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 132</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>3107911598080140</key>
+			<input>0000000000000000</input>
+			<output>406A9A6AB43399AE</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 133</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>1007D01589980101</key>
+			<input>0000000000000000</input>
+			<output>6CB773611DCA9ADA</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 134</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>9107911589980101</key>
+			<input>0000000000000000</input>
+			<output>67FD21C17DBB5D70</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 135</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>9107D01589190101</key>
+			<input>0000000000000000</input>
+			<output>9592CB4110430787</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 136</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>1007D01598980120</key>
+			<input>0000000000000000</input>
+			<output>A6B7FF68A318DDD3</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 137</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>1007940498190101</key>
+			<input>0000000000000000</input>
+			<output>4D102196C914CA16</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 138</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0107910491190401</key>
+			<input>0000000000000000</input>
+			<output>2DFA9F4573594965</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 139</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0107910491190101</key>
+			<input>0000000000000000</input>
+			<output>B46604816C0E0774</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 140</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0107940491190401</key>
+			<input>0000000000000000</input>
+			<output>6E7E6221A4F34E87</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 141</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>19079210981A0101</key>
+			<input>0000000000000000</input>
+			<output>AA85E74643233199</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 142</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>1007911998190801</key>
+			<input>0000000000000000</input>
+			<output>2E5A19DB4D1962D6</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 143</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>10079119981A0801</key>
+			<input>0000000000000000</input>
+			<output>23A866A809D30894</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 144</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>1007921098190101</key>
+			<input>0000000000000000</input>
+			<output>D812D961F017D320</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 145</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>100791159819010B</key>
+			<input>0000000000000000</input>
+			<output>055605816E58608F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 146</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>1004801598190101</key>
+			<input>0000000000000000</input>
+			<output>ABD88E8B1B7716F1</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 147</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>1004801598190102</key>
+			<input>0000000000000000</input>
+			<output>537AC95BE69DA1E1</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 148</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>1004801598190108</key>
+			<input>0000000000000000</input>
+			<output>AED0F6AE3C25CDD8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 149</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>1002911598100104</key>
+			<input>0000000000000000</input>
+			<output>B3E35A5EE53E7B8D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 150</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>1002911598190104</key>
+			<input>0000000000000000</input>
+			<output>61C79C71921A2EF8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 151</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>1002911598100201</key>
+			<input>0000000000000000</input>
+			<output>E2F5728F0995013C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 152</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>1002911698100101</key>
+			<input>0000000000000000</input>
+			<output>1AEAC39A61F0A464</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 153</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>7CA110454A1A6E57</key>
+			<input>01A1D6D039776742</input>
+			<output>690F5B0D9A26939B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 154</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0131D9619DC1376E</key>
+			<input>5CD54CA83DEF57DA</input>
+			<output>7A389D10354BD271</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 155</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>07A1133E4A0B2686</key>
+			<input>0248D43806F67172</input>
+			<output>868EBB51CAB4599A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 156</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>3849674C2602319E</key>
+			<input>51454B582DDF440A</input>
+			<output>7178876E01F19B2A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 157</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>04B915BA43FEB5B6</key>
+			<input>42FD443059577FA2</input>
+			<output>AF37FB421F8C4095</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 158</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0113B970FD34F2CE</key>
+			<input>059B5E0851CF143A</input>
+			<output>86A560F10EC6D85B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 159</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>0170F175468FB5E6</key>
+			<input>0756D8E0774761D2</input>
+			<output>0CD3DA020021DC09</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 160</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>43297FAD38E373FE</key>
+			<input>762514B829BF486A</input>
+			<output>EA676B2CB7DB2B7A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 161</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>07A7137045DA2A16</key>
+			<input>3BDD119049372802</input>
+			<output>DFD64A815CAF1A0F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 162</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>04689104C2FD3B2F</key>
+			<input>26955F6835AF609A</input>
+			<output>5C513C9C4886C088</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 163</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>37D06BB516CB7546</key>
+			<input>164D5E404F275232</input>
+			<output>0A2AEEAE3FF4AB77</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 164</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>1F08260D1AC2465E</key>
+			<input>6B056E18759F5CCA</input>
+			<output>EF1BF03E5DFA575A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 165</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>584023641ABA6176</key>
+			<input>004BD6EF09176062</input>
+			<output>88BF0DB6D70DEE56</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 166</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>025816164629B007</key>
+			<input>480D39006EE762F2</input>
+			<output>A1F9915541020B56</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 167</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>49793EBC79B3258F</key>
+			<input>437540C8698F3CFA</input>
+			<output>6FBF1CAFCFFD0556</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 168</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>4FB05E1515AB73A7</key>
+			<input>072D43A077075292</input>
+			<output>2F22E49BAB7CA1AC</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 169</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>49E95D6D4CA229BF</key>
+			<input>02FE55778117F12A</input>
+			<output>5A6B612CC26CCE4A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 170</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>018310DC409B26D6</key>
+			<input>1D9D5C5018F728C2</input>
+			<output>5F4C038ED12B2E41</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 171</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>1C587F1C13924FEF</key>
+			<input>305532286D6F295A</input>
+			<output>63FAC0D034D9F793</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 0</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>10316E028C8F3B4A</key>
+			<input>0000000000000000</input>
+			<output>82DCBAFBDEAB6602</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 1</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>8000000000000000</input>
+			<output>95F8A5E5DD31D900</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 2</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>4000000000000000</input>
+			<output>DD7F121CA5015619</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 3</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>2000000000000000</input>
+			<output>2E8653104F3834EA</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 4</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>1000000000000000</input>
+			<output>4BD388FF6CD81D4F</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 5</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0800000000000000</input>
+			<output>20B9E767B2FB1456</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 6</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0400000000000000</input>
+			<output>55579380D77138EF</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 7</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0200000000000000</input>
+			<output>6CC5DEFAAF04512F</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 8</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0100000000000000</input>
+			<output>0D9F279BA5D87260</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 9</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0080000000000000</input>
+			<output>D9031B0271BD5A0A</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 10</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0040000000000000</input>
+			<output>424250B37C3DD951</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 11</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0020000000000000</input>
+			<output>B8061B7ECD9A21E5</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 12</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0010000000000000</input>
+			<output>F15D0F286B65BD28</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 13</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0008000000000000</input>
+			<output>ADD0CC8D6E5DEBA1</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 14</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0004000000000000</input>
+			<output>E6D5F82752AD63D1</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 15</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0002000000000000</input>
+			<output>ECBFE3BD3F591A5E</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 16</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0001000000000000</input>
+			<output>F356834379D165CD</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 17</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000800000000000</input>
+			<output>2B9F982F20037FA9</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 18</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000400000000000</input>
+			<output>889DE068A16F0BE6</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 19</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000200000000000</input>
+			<output>E19E275D846A1298</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 20</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000100000000000</input>
+			<output>329A8ED523D71AEC</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 21</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000080000000000</input>
+			<output>E7FCE22557D23C97</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 22</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000040000000000</input>
+			<output>12A9F5817FF2D65D</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 23</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000020000000000</input>
+			<output>A484C3AD38DC9C19</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 24</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000010000000000</input>
+			<output>FBE00A8A1EF8AD72</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 25</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000008000000000</input>
+			<output>750D079407521363</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 26</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000004000000000</input>
+			<output>64FEED9C724C2FAF</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 27</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000002000000000</input>
+			<output>F02B263B328E2B60</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 28</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000001000000000</input>
+			<output>9D64555A9A10B852</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 29</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000800000000</input>
+			<output>D106FF0BED5255D7</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 30</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000400000000</input>
+			<output>E1652C6B138C64A5</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 31</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000200000000</input>
+			<output>E428581186EC8F46</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 32</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000100000000</input>
+			<output>AEB5F5EDE22D1A36</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 33</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000080000000</input>
+			<output>E943D7568AEC0C5C</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 34</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000040000000</input>
+			<output>DF98C8276F54B04B</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 35</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000020000000</input>
+			<output>B160E4680F6C696F</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 36</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000010000000</input>
+			<output>FA0752B07D9C4AB8</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 37</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000008000000</input>
+			<output>CA3A2B036DBC8502</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 38</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000004000000</input>
+			<output>5E0905517BB59BCF</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 39</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000002000000</input>
+			<output>814EEB3B91D90726</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 40</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000001000000</input>
+			<output>4D49DB1532919C9F</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 41</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000000800000</input>
+			<output>25EB5FC3F8CF0621</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 42</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000000400000</input>
+			<output>AB6A20C0620D1C6F</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 43</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000000200000</input>
+			<output>79E90DBC98F92CCA</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 44</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000000100000</input>
+			<output>866ECEDD8072BB0E</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 45</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000000080000</input>
+			<output>8B54536F2F3E64A8</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 46</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000000040000</input>
+			<output>EA51D3975595B86B</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 47</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000000020000</input>
+			<output>CAFFC6AC4542DE31</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 48</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000000010000</input>
+			<output>8DD45A2DDF90796C</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 49</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000000008000</input>
+			<output>1029D55E880EC2D0</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 50</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000000004000</input>
+			<output>5D86CB23639DBEA9</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 51</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000000002000</input>
+			<output>1D1CA853AE7C0C5F</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 52</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000000001000</input>
+			<output>CE332329248F3228</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 53</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000000000800</input>
+			<output>8405D1ABE24FB942</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 54</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000000000400</input>
+			<output>E643D78090CA4207</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 55</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000000000200</input>
+			<output>48221B9937748A23</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 56</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000000000100</input>
+			<output>DD7C0BBD61FAFD54</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 57</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000000000080</input>
+			<output>2FBC291A570DB5C4</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 58</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000000000040</input>
+			<output>E07C30D7E4E26E12</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 59</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000000000020</input>
+			<output>0953E2258E8E90A1</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 60</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000000000010</input>
+			<output>5B711BC4CEEBF2EE</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 61</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000000000008</input>
+			<output>CC083F1E6D9E85F6</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 62</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000000000004</input>
+			<output>D2FD8867D50D2DFE</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 63</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000000000002</input>
+			<output>06E7EA22CE92708F</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 64</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010101</key>
+			<input>0000000000000001</input>
+			<output>166B40B44ABA4BD6</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 65</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>8001010101010101</key>
+			<input>0000000000000000</input>
+			<output>95A8D72813DAA94D</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 66</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>4001010101010101</key>
+			<input>0000000000000000</input>
+			<output>0EEC1487DD8C26D5</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 67</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>2001010101010101</key>
+			<input>0000000000000000</input>
+			<output>7AD16FFB79C45926</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 68</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>1001010101010101</key>
+			<input>0000000000000000</input>
+			<output>D3746294CA6A6CF3</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 69</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0801010101010101</key>
+			<input>0000000000000000</input>
+			<output>809F5F873C1FD761</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 70</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0401010101010101</key>
+			<input>0000000000000000</input>
+			<output>C02FAFFEC989D1FC</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 71</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0201010101010101</key>
+			<input>0000000000000000</input>
+			<output>4615AA1D33E72F10</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 72</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0180010101010101</key>
+			<input>0000000000000000</input>
+			<output>2055123350C00858</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 73</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0140010101010101</key>
+			<input>0000000000000000</input>
+			<output>DF3B99D6577397C8</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 74</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0120010101010101</key>
+			<input>0000000000000000</input>
+			<output>31FE17369B5288C9</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 75</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0110010101010101</key>
+			<input>0000000000000000</input>
+			<output>DFDD3CC64DAE1642</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 76</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0108010101010101</key>
+			<input>0000000000000000</input>
+			<output>178C83CE2B399D94</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 77</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0104010101010101</key>
+			<input>0000000000000000</input>
+			<output>50F636324A9B7F80</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 78</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0102010101010101</key>
+			<input>0000000000000000</input>
+			<output>A8468EE3BC18F06D</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 79</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101800101010101</key>
+			<input>0000000000000000</input>
+			<output>A2DC9E92FD3CDE92</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 80</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101400101010101</key>
+			<input>0000000000000000</input>
+			<output>CAC09F797D031287</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 81</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101200101010101</key>
+			<input>0000000000000000</input>
+			<output>90BA680B22AEB525</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 82</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101100101010101</key>
+			<input>0000000000000000</input>
+			<output>CE7A24F350E280B6</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 83</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101080101010101</key>
+			<input>0000000000000000</input>
+			<output>882BFF0AA01A0B87</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 84</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101040101010101</key>
+			<input>0000000000000000</input>
+			<output>25610288924511C2</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 85</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101020101010101</key>
+			<input>0000000000000000</input>
+			<output>C71516C29C75D170</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 86</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101018001010101</key>
+			<input>0000000000000000</input>
+			<output>5199C29A52C9F059</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 87</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101014001010101</key>
+			<input>0000000000000000</input>
+			<output>C22F0A294A71F29F</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 88</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101012001010101</key>
+			<input>0000000000000000</input>
+			<output>EE371483714C02EA</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 89</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101011001010101</key>
+			<input>0000000000000000</input>
+			<output>A81FBD448F9E522F</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 90</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010801010101</key>
+			<input>0000000000000000</input>
+			<output>4F644C92E192DFED</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 91</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010401010101</key>
+			<input>0000000000000000</input>
+			<output>1AFA9A66A6DF92AE</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 92</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010201010101</key>
+			<input>0000000000000000</input>
+			<output>B3C1CC715CB879D8</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 93</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010180010101</key>
+			<input>0000000000000000</input>
+			<output>19D032E64AB0BD8B</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 94</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010140010101</key>
+			<input>0000000000000000</input>
+			<output>3CFAA7A7DC8720DC</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 95</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010120010101</key>
+			<input>0000000000000000</input>
+			<output>B7265F7F447AC6F3</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 96</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010110010101</key>
+			<input>0000000000000000</input>
+			<output>9DB73B3C0D163F54</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 97</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010108010101</key>
+			<input>0000000000000000</input>
+			<output>8181B65BABF4A975</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 98</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010104010101</key>
+			<input>0000000000000000</input>
+			<output>93C9B64042EAA240</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 99</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010102010101</key>
+			<input>0000000000000000</input>
+			<output>5570530829705592</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 100</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101800101</key>
+			<input>0000000000000000</input>
+			<output>8638809E878787A0</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 101</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101400101</key>
+			<input>0000000000000000</input>
+			<output>41B9A79AF79AC208</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 102</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101200101</key>
+			<input>0000000000000000</input>
+			<output>7A9BE42F2009A892</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 103</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101100101</key>
+			<input>0000000000000000</input>
+			<output>29038D56BA6D2745</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 104</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101080101</key>
+			<input>0000000000000000</input>
+			<output>5495C6ABF1E5DF51</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 105</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101040101</key>
+			<input>0000000000000000</input>
+			<output>AE13DBD561488933</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 106</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101020101</key>
+			<input>0000000000000000</input>
+			<output>024D1FFA8904E389</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 107</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101018001</key>
+			<input>0000000000000000</input>
+			<output>D1399712F99BF02E</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 108</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101014001</key>
+			<input>0000000000000000</input>
+			<output>14C1D7C1CFFEC79E</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 109</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101012001</key>
+			<input>0000000000000000</input>
+			<output>1DE5279DAE3BED6F</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 110</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101011001</key>
+			<input>0000000000000000</input>
+			<output>E941A33F85501303</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 111</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010801</key>
+			<input>0000000000000000</input>
+			<output>DA99DBBC9A03F379</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 112</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010401</key>
+			<input>0000000000000000</input>
+			<output>B7FC92F91D8E92E9</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 113</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010201</key>
+			<input>0000000000000000</input>
+			<output>AE8E5CAA3CA04E85</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 114</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010180</key>
+			<input>0000000000000000</input>
+			<output>9CC62DF43B6EED74</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 115</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010140</key>
+			<input>0000000000000000</input>
+			<output>D863DBB5C59A91A0</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 116</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010120</key>
+			<input>0000000000000000</input>
+			<output>A1AB2190545B91D7</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 117</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010110</key>
+			<input>0000000000000000</input>
+			<output>0875041E64C570F7</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 118</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010108</key>
+			<input>0000000000000000</input>
+			<output>5A594528BEBEF1CC</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 119</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010104</key>
+			<input>0000000000000000</input>
+			<output>FCDB3291DE21F0C0</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 120</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0101010101010102</key>
+			<input>0000000000000000</input>
+			<output>869EFD7F9F265A09</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 121</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>1046913489980131</key>
+			<input>0000000000000000</input>
+			<output>88D55E54F54C97B4</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 122</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>1007103489988020</key>
+			<input>0000000000000000</input>
+			<output>0C0CC00C83EA48FD</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 123</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>10071034C8980120</key>
+			<input>0000000000000000</input>
+			<output>83BC8EF3A6570183</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 124</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>1046103489988020</key>
+			<input>0000000000000000</input>
+			<output>DF725DCAD94EA2E9</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 125</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>1086911519190101</key>
+			<input>0000000000000000</input>
+			<output>E652B53B550BE8B0</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 126</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>1086911519580101</key>
+			<input>0000000000000000</input>
+			<output>AF527120C485CBB0</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 127</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>5107B01519580101</key>
+			<input>0000000000000000</input>
+			<output>0F04CE393DB926D5</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 128</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>1007B01519190101</key>
+			<input>0000000000000000</input>
+			<output>C9F00FFC74079067</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 129</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>3107915498080101</key>
+			<input>0000000000000000</input>
+			<output>7CFD82A593252B4E</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 130</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>3107919498080101</key>
+			<input>0000000000000000</input>
+			<output>CB49A2F9E91363E3</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 131</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>10079115B9080140</key>
+			<input>0000000000000000</input>
+			<output>00B588BE70D23F56</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 132</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>3107911598080140</key>
+			<input>0000000000000000</input>
+			<output>406A9A6AB43399AE</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 133</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>1007D01589980101</key>
+			<input>0000000000000000</input>
+			<output>6CB773611DCA9ADA</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 134</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>9107911589980101</key>
+			<input>0000000000000000</input>
+			<output>67FD21C17DBB5D70</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 135</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>9107D01589190101</key>
+			<input>0000000000000000</input>
+			<output>9592CB4110430787</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 136</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>1007D01598980120</key>
+			<input>0000000000000000</input>
+			<output>A6B7FF68A318DDD3</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 137</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>1007940498190101</key>
+			<input>0000000000000000</input>
+			<output>4D102196C914CA16</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 138</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0107910491190401</key>
+			<input>0000000000000000</input>
+			<output>2DFA9F4573594965</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 139</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0107910491190101</key>
+			<input>0000000000000000</input>
+			<output>B46604816C0E0774</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 140</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0107940491190401</key>
+			<input>0000000000000000</input>
+			<output>6E7E6221A4F34E87</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 141</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>19079210981A0101</key>
+			<input>0000000000000000</input>
+			<output>AA85E74643233199</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 142</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>1007911998190801</key>
+			<input>0000000000000000</input>
+			<output>2E5A19DB4D1962D6</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 143</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>10079119981A0801</key>
+			<input>0000000000000000</input>
+			<output>23A866A809D30894</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 144</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>1007921098190101</key>
+			<input>0000000000000000</input>
+			<output>D812D961F017D320</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 145</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>100791159819010B</key>
+			<input>0000000000000000</input>
+			<output>055605816E58608F</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 146</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>1004801598190101</key>
+			<input>0000000000000000</input>
+			<output>ABD88E8B1B7716F1</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 147</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>1004801598190102</key>
+			<input>0000000000000000</input>
+			<output>537AC95BE69DA1E1</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 148</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>1004801598190108</key>
+			<input>0000000000000000</input>
+			<output>AED0F6AE3C25CDD8</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 149</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>1002911598100104</key>
+			<input>0000000000000000</input>
+			<output>B3E35A5EE53E7B8D</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 150</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>1002911598190104</key>
+			<input>0000000000000000</input>
+			<output>61C79C71921A2EF8</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 151</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>1002911598100201</key>
+			<input>0000000000000000</input>
+			<output>E2F5728F0995013C</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 152</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>1002911698100101</key>
+			<input>0000000000000000</input>
+			<output>1AEAC39A61F0A464</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 153</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>7CA110454A1A6E57</key>
+			<input>01A1D6D039776742</input>
+			<output>690F5B0D9A26939B</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 154</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0131D9619DC1376E</key>
+			<input>5CD54CA83DEF57DA</input>
+			<output>7A389D10354BD271</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 155</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>07A1133E4A0B2686</key>
+			<input>0248D43806F67172</input>
+			<output>868EBB51CAB4599A</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 156</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>3849674C2602319E</key>
+			<input>51454B582DDF440A</input>
+			<output>7178876E01F19B2A</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 157</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>04B915BA43FEB5B6</key>
+			<input>42FD443059577FA2</input>
+			<output>AF37FB421F8C4095</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 158</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0113B970FD34F2CE</key>
+			<input>059B5E0851CF143A</input>
+			<output>86A560F10EC6D85B</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 159</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>0170F175468FB5E6</key>
+			<input>0756D8E0774761D2</input>
+			<output>0CD3DA020021DC09</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 160</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>43297FAD38E373FE</key>
+			<input>762514B829BF486A</input>
+			<output>EA676B2CB7DB2B7A</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 161</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>07A7137045DA2A16</key>
+			<input>3BDD119049372802</input>
+			<output>DFD64A815CAF1A0F</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 162</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>04689104C2FD3B2F</key>
+			<input>26955F6835AF609A</input>
+			<output>5C513C9C4886C088</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 163</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>37D06BB516CB7546</key>
+			<input>164D5E404F275232</input>
+			<output>0A2AEEAE3FF4AB77</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 164</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>1F08260D1AC2465E</key>
+			<input>6B056E18759F5CCA</input>
+			<output>EF1BF03E5DFA575A</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 165</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>584023641ABA6176</key>
+			<input>004BD6EF09176062</input>
+			<output>88BF0DB6D70DEE56</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 166</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>025816164629B007</key>
+			<input>480D39006EE762F2</input>
+			<output>A1F9915541020B56</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 167</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>49793EBC79B3258F</key>
+			<input>437540C8698F3CFA</input>
+			<output>6FBF1CAFCFFD0556</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 168</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>4FB05E1515AB73A7</key>
+			<input>072D43A077075292</input>
+			<output>2F22E49BAB7CA1AC</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 169</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>49E95D6D4CA229BF</key>
+			<input>02FE55778117F12A</input>
+			<output>5A6B612CC26CCE4A</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 170</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>018310DC409B26D6</key>
+			<input>1D9D5C5018F728C2</input>
+			<output>5F4C038ED12B2E41</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 171</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>1C587F1C13924FEF</key>
+			<input>305532286D6F295A</input>
+			<output>63FAC0D034D9F793</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 0</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>10316E028C8F3B4A10316E028C8F3B4A10316E028C8F3B4A</key>
+			<input>0000000000000000</input>
+			<output>82DCBAFBDEAB6602</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 1</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>8000000000000000</input>
+			<output>95F8A5E5DD31D900</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 2</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>4000000000000000</input>
+			<output>DD7F121CA5015619</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 3</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>2000000000000000</input>
+			<output>2E8653104F3834EA</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 4</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>1000000000000000</input>
+			<output>4BD388FF6CD81D4F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 5</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0800000000000000</input>
+			<output>20B9E767B2FB1456</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 6</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0400000000000000</input>
+			<output>55579380D77138EF</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 7</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0200000000000000</input>
+			<output>6CC5DEFAAF04512F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 8</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0100000000000000</input>
+			<output>0D9F279BA5D87260</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 9</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0080000000000000</input>
+			<output>D9031B0271BD5A0A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 10</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0040000000000000</input>
+			<output>424250B37C3DD951</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 11</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0020000000000000</input>
+			<output>B8061B7ECD9A21E5</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 12</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0010000000000000</input>
+			<output>F15D0F286B65BD28</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 13</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0008000000000000</input>
+			<output>ADD0CC8D6E5DEBA1</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 14</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0004000000000000</input>
+			<output>E6D5F82752AD63D1</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 15</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0002000000000000</input>
+			<output>ECBFE3BD3F591A5E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 16</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0001000000000000</input>
+			<output>F356834379D165CD</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 17</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000800000000000</input>
+			<output>2B9F982F20037FA9</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 18</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000400000000000</input>
+			<output>889DE068A16F0BE6</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 19</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000200000000000</input>
+			<output>E19E275D846A1298</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 20</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000100000000000</input>
+			<output>329A8ED523D71AEC</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 21</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000080000000000</input>
+			<output>E7FCE22557D23C97</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 22</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000040000000000</input>
+			<output>12A9F5817FF2D65D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 23</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000020000000000</input>
+			<output>A484C3AD38DC9C19</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 24</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000010000000000</input>
+			<output>FBE00A8A1EF8AD72</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 25</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000008000000000</input>
+			<output>750D079407521363</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 26</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000004000000000</input>
+			<output>64FEED9C724C2FAF</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 27</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000002000000000</input>
+			<output>F02B263B328E2B60</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 28</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000001000000000</input>
+			<output>9D64555A9A10B852</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 29</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000800000000</input>
+			<output>D106FF0BED5255D7</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 30</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000400000000</input>
+			<output>E1652C6B138C64A5</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 31</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000200000000</input>
+			<output>E428581186EC8F46</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 32</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000100000000</input>
+			<output>AEB5F5EDE22D1A36</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 33</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000080000000</input>
+			<output>E943D7568AEC0C5C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 34</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000040000000</input>
+			<output>DF98C8276F54B04B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 35</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000020000000</input>
+			<output>B160E4680F6C696F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 36</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000010000000</input>
+			<output>FA0752B07D9C4AB8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 37</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000008000000</input>
+			<output>CA3A2B036DBC8502</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 38</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000004000000</input>
+			<output>5E0905517BB59BCF</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 39</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000002000000</input>
+			<output>814EEB3B91D90726</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 40</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000001000000</input>
+			<output>4D49DB1532919C9F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 41</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000000800000</input>
+			<output>25EB5FC3F8CF0621</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 42</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000000400000</input>
+			<output>AB6A20C0620D1C6F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 43</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000000200000</input>
+			<output>79E90DBC98F92CCA</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 44</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000000100000</input>
+			<output>866ECEDD8072BB0E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 45</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000000080000</input>
+			<output>8B54536F2F3E64A8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 46</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000000040000</input>
+			<output>EA51D3975595B86B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 47</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000000020000</input>
+			<output>CAFFC6AC4542DE31</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 48</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000000010000</input>
+			<output>8DD45A2DDF90796C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 49</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000000008000</input>
+			<output>1029D55E880EC2D0</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 50</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000000004000</input>
+			<output>5D86CB23639DBEA9</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 51</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000000002000</input>
+			<output>1D1CA853AE7C0C5F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 52</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000000001000</input>
+			<output>CE332329248F3228</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 53</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000000000800</input>
+			<output>8405D1ABE24FB942</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 54</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000000000400</input>
+			<output>E643D78090CA4207</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 55</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000000000200</input>
+			<output>48221B9937748A23</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 56</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000000000100</input>
+			<output>DD7C0BBD61FAFD54</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 57</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000000000080</input>
+			<output>2FBC291A570DB5C4</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 58</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000000000040</input>
+			<output>E07C30D7E4E26E12</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 59</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000000000020</input>
+			<output>0953E2258E8E90A1</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 60</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000000000010</input>
+			<output>5B711BC4CEEBF2EE</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 61</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000000000008</input>
+			<output>CC083F1E6D9E85F6</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 62</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000000000004</input>
+			<output>D2FD8867D50D2DFE</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 63</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000000000002</input>
+			<output>06E7EA22CE92708F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 64</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000000000001</input>
+			<output>166B40B44ABA4BD6</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 65</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>800101010101010180010101010101018001010101010101</key>
+			<input>0000000000000000</input>
+			<output>95A8D72813DAA94D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 66</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>400101010101010140010101010101014001010101010101</key>
+			<input>0000000000000000</input>
+			<output>0EEC1487DD8C26D5</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 67</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>200101010101010120010101010101012001010101010101</key>
+			<input>0000000000000000</input>
+			<output>7AD16FFB79C45926</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 68</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>100101010101010110010101010101011001010101010101</key>
+			<input>0000000000000000</input>
+			<output>D3746294CA6A6CF3</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 69</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>080101010101010108010101010101010801010101010101</key>
+			<input>0000000000000000</input>
+			<output>809F5F873C1FD761</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 70</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>040101010101010104010101010101010401010101010101</key>
+			<input>0000000000000000</input>
+			<output>C02FAFFEC989D1FC</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 71</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>020101010101010102010101010101010201010101010101</key>
+			<input>0000000000000000</input>
+			<output>4615AA1D33E72F10</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 72</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>018001010101010101800101010101010180010101010101</key>
+			<input>0000000000000000</input>
+			<output>2055123350C00858</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 73</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>014001010101010101400101010101010140010101010101</key>
+			<input>0000000000000000</input>
+			<output>DF3B99D6577397C8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 74</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>012001010101010101200101010101010120010101010101</key>
+			<input>0000000000000000</input>
+			<output>31FE17369B5288C9</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 75</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>011001010101010101100101010101010110010101010101</key>
+			<input>0000000000000000</input>
+			<output>DFDD3CC64DAE1642</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 76</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010801010101010101080101010101010108010101010101</key>
+			<input>0000000000000000</input>
+			<output>178C83CE2B399D94</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 77</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010401010101010101040101010101010104010101010101</key>
+			<input>0000000000000000</input>
+			<output>50F636324A9B7F80</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 78</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010201010101010101020101010101010102010101010101</key>
+			<input>0000000000000000</input>
+			<output>A8468EE3BC18F06D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 79</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010180010101010101018001010101010101800101010101</key>
+			<input>0000000000000000</input>
+			<output>A2DC9E92FD3CDE92</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 80</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010140010101010101014001010101010101400101010101</key>
+			<input>0000000000000000</input>
+			<output>CAC09F797D031287</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 81</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010120010101010101012001010101010101200101010101</key>
+			<input>0000000000000000</input>
+			<output>90BA680B22AEB525</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 82</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010110010101010101011001010101010101100101010101</key>
+			<input>0000000000000000</input>
+			<output>CE7A24F350E280B6</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 83</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010108010101010101010801010101010101080101010101</key>
+			<input>0000000000000000</input>
+			<output>882BFF0AA01A0B87</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 84</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010104010101010101010401010101010101040101010101</key>
+			<input>0000000000000000</input>
+			<output>25610288924511C2</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 85</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010102010101010101010201010101010101020101010101</key>
+			<input>0000000000000000</input>
+			<output>C71516C29C75D170</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 86</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101800101010101010180010101010101018001010101</key>
+			<input>0000000000000000</input>
+			<output>5199C29A52C9F059</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 87</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101400101010101010140010101010101014001010101</key>
+			<input>0000000000000000</input>
+			<output>C22F0A294A71F29F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 88</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101200101010101010120010101010101012001010101</key>
+			<input>0000000000000000</input>
+			<output>EE371483714C02EA</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 89</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101100101010101010110010101010101011001010101</key>
+			<input>0000000000000000</input>
+			<output>A81FBD448F9E522F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 90</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101080101010101010108010101010101010801010101</key>
+			<input>0000000000000000</input>
+			<output>4F644C92E192DFED</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 91</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101040101010101010104010101010101010401010101</key>
+			<input>0000000000000000</input>
+			<output>1AFA9A66A6DF92AE</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 92</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101020101010101010102010101010101010201010101</key>
+			<input>0000000000000000</input>
+			<output>B3C1CC715CB879D8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 93</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101018001010101010101800101010101010180010101</key>
+			<input>0000000000000000</input>
+			<output>19D032E64AB0BD8B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 94</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101014001010101010101400101010101010140010101</key>
+			<input>0000000000000000</input>
+			<output>3CFAA7A7DC8720DC</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 95</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101012001010101010101200101010101010120010101</key>
+			<input>0000000000000000</input>
+			<output>B7265F7F447AC6F3</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 96</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101011001010101010101100101010101010110010101</key>
+			<input>0000000000000000</input>
+			<output>9DB73B3C0D163F54</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 97</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010801010101010101080101010101010108010101</key>
+			<input>0000000000000000</input>
+			<output>8181B65BABF4A975</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 98</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010401010101010101040101010101010104010101</key>
+			<input>0000000000000000</input>
+			<output>93C9B64042EAA240</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 99</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010201010101010101020101010101010102010101</key>
+			<input>0000000000000000</input>
+			<output>5570530829705592</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 100</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010180010101010101018001010101010101800101</key>
+			<input>0000000000000000</input>
+			<output>8638809E878787A0</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 101</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010140010101010101014001010101010101400101</key>
+			<input>0000000000000000</input>
+			<output>41B9A79AF79AC208</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 102</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010120010101010101012001010101010101200101</key>
+			<input>0000000000000000</input>
+			<output>7A9BE42F2009A892</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 103</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010110010101010101011001010101010101100101</key>
+			<input>0000000000000000</input>
+			<output>29038D56BA6D2745</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 104</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010108010101010101010801010101010101080101</key>
+			<input>0000000000000000</input>
+			<output>5495C6ABF1E5DF51</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 105</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010104010101010101010401010101010101040101</key>
+			<input>0000000000000000</input>
+			<output>AE13DBD561488933</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 106</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010102010101010101010201010101010101020101</key>
+			<input>0000000000000000</input>
+			<output>024D1FFA8904E389</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 107</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101800101010101010180010101010101018001</key>
+			<input>0000000000000000</input>
+			<output>D1399712F99BF02E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 108</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101400101010101010140010101010101014001</key>
+			<input>0000000000000000</input>
+			<output>14C1D7C1CFFEC79E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 109</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101200101010101010120010101010101012001</key>
+			<input>0000000000000000</input>
+			<output>1DE5279DAE3BED6F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 110</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101100101010101010110010101010101011001</key>
+			<input>0000000000000000</input>
+			<output>E941A33F85501303</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 111</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101080101010101010108010101010101010801</key>
+			<input>0000000000000000</input>
+			<output>DA99DBBC9A03F379</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 112</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101040101010101010104010101010101010401</key>
+			<input>0000000000000000</input>
+			<output>B7FC92F91D8E92E9</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 113</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101020101010101010102010101010101010201</key>
+			<input>0000000000000000</input>
+			<output>AE8E5CAA3CA04E85</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 114</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101018001010101010101800101010101010180</key>
+			<input>0000000000000000</input>
+			<output>9CC62DF43B6EED74</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 115</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101014001010101010101400101010101010140</key>
+			<input>0000000000000000</input>
+			<output>D863DBB5C59A91A0</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 116</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101012001010101010101200101010101010120</key>
+			<input>0000000000000000</input>
+			<output>A1AB2190545B91D7</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 117</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101011001010101010101100101010101010110</key>
+			<input>0000000000000000</input>
+			<output>0875041E64C570F7</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 118</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010801010101010101080101010101010108</key>
+			<input>0000000000000000</input>
+			<output>5A594528BEBEF1CC</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 119</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010401010101010101040101010101010104</key>
+			<input>0000000000000000</input>
+			<output>FCDB3291DE21F0C0</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 120</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010101010101010201010101010101020101010101010102</key>
+			<input>0000000000000000</input>
+			<output>869EFD7F9F265A09</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 121</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>104691348998013110469134899801311046913489980131</key>
+			<input>0000000000000000</input>
+			<output>88D55E54F54C97B4</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 122</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>100710348998802010071034899880201007103489988020</key>
+			<input>0000000000000000</input>
+			<output>0C0CC00C83EA48FD</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 123</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>10071034C898012010071034C898012010071034C8980120</key>
+			<input>0000000000000000</input>
+			<output>83BC8EF3A6570183</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 124</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>104610348998802010461034899880201046103489988020</key>
+			<input>0000000000000000</input>
+			<output>DF725DCAD94EA2E9</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 125</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>108691151919010110869115191901011086911519190101</key>
+			<input>0000000000000000</input>
+			<output>E652B53B550BE8B0</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 126</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>108691151958010110869115195801011086911519580101</key>
+			<input>0000000000000000</input>
+			<output>AF527120C485CBB0</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 127</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>5107B015195801015107B015195801015107B01519580101</key>
+			<input>0000000000000000</input>
+			<output>0F04CE393DB926D5</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 128</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>1007B015191901011007B015191901011007B01519190101</key>
+			<input>0000000000000000</input>
+			<output>C9F00FFC74079067</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 129</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>310791549808010131079154980801013107915498080101</key>
+			<input>0000000000000000</input>
+			<output>7CFD82A593252B4E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 130</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>310791949808010131079194980801013107919498080101</key>
+			<input>0000000000000000</input>
+			<output>CB49A2F9E91363E3</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 131</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>10079115B908014010079115B908014010079115B9080140</key>
+			<input>0000000000000000</input>
+			<output>00B588BE70D23F56</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 132</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>310791159808014031079115980801403107911598080140</key>
+			<input>0000000000000000</input>
+			<output>406A9A6AB43399AE</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 133</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>1007D015899801011007D015899801011007D01589980101</key>
+			<input>0000000000000000</input>
+			<output>6CB773611DCA9ADA</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 134</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>910791158998010191079115899801019107911589980101</key>
+			<input>0000000000000000</input>
+			<output>67FD21C17DBB5D70</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 135</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>9107D015891901019107D015891901019107D01589190101</key>
+			<input>0000000000000000</input>
+			<output>9592CB4110430787</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 136</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>1007D015989801201007D015989801201007D01598980120</key>
+			<input>0000000000000000</input>
+			<output>A6B7FF68A318DDD3</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 137</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>100794049819010110079404981901011007940498190101</key>
+			<input>0000000000000000</input>
+			<output>4D102196C914CA16</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 138</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010791049119040101079104911904010107910491190401</key>
+			<input>0000000000000000</input>
+			<output>2DFA9F4573594965</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 139</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010791049119010101079104911901010107910491190101</key>
+			<input>0000000000000000</input>
+			<output>B46604816C0E0774</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 140</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>010794049119040101079404911904010107940491190401</key>
+			<input>0000000000000000</input>
+			<output>6E7E6221A4F34E87</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 141</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>19079210981A010119079210981A010119079210981A0101</key>
+			<input>0000000000000000</input>
+			<output>AA85E74643233199</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 142</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>100791199819080110079119981908011007911998190801</key>
+			<input>0000000000000000</input>
+			<output>2E5A19DB4D1962D6</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 143</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>10079119981A080110079119981A080110079119981A0801</key>
+			<input>0000000000000000</input>
+			<output>23A866A809D30894</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 144</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>100792109819010110079210981901011007921098190101</key>
+			<input>0000000000000000</input>
+			<output>D812D961F017D320</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 145</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>100791159819010B100791159819010B100791159819010B</key>
+			<input>0000000000000000</input>
+			<output>055605816E58608F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 146</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>100480159819010110048015981901011004801598190101</key>
+			<input>0000000000000000</input>
+			<output>ABD88E8B1B7716F1</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 147</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>100480159819010210048015981901021004801598190102</key>
+			<input>0000000000000000</input>
+			<output>537AC95BE69DA1E1</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 148</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>100480159819010810048015981901081004801598190108</key>
+			<input>0000000000000000</input>
+			<output>AED0F6AE3C25CDD8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 149</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>100291159810010410029115981001041002911598100104</key>
+			<input>0000000000000000</input>
+			<output>B3E35A5EE53E7B8D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 150</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>100291159819010410029115981901041002911598190104</key>
+			<input>0000000000000000</input>
+			<output>61C79C71921A2EF8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 151</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>100291159810020110029115981002011002911598100201</key>
+			<input>0000000000000000</input>
+			<output>E2F5728F0995013C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 152</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>100291169810010110029116981001011002911698100101</key>
+			<input>0000000000000000</input>
+			<output>1AEAC39A61F0A464</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 153</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>7CA110454A1A6E577CA110454A1A6E577CA110454A1A6E57</key>
+			<input>01A1D6D039776742</input>
+			<output>690F5B0D9A26939B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 154</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>0131D9619DC1376E0131D9619DC1376E0131D9619DC1376E</key>
+			<input>5CD54CA83DEF57DA</input>
+			<output>7A389D10354BD271</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 155</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>07A1133E4A0B268607A1133E4A0B268607A1133E4A0B2686</key>
+			<input>0248D43806F67172</input>
+			<output>868EBB51CAB4599A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 156</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>3849674C2602319E3849674C2602319E3849674C2602319E</key>
+			<input>51454B582DDF440A</input>
+			<output>7178876E01F19B2A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 157</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>04B915BA43FEB5B604B915BA43FEB5B604B915BA43FEB5B6</key>
+			<input>42FD443059577FA2</input>
+			<output>AF37FB421F8C4095</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 158</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>0113B970FD34F2CE0113B970FD34F2CE0113B970FD34F2CE</key>
+			<input>059B5E0851CF143A</input>
+			<output>86A560F10EC6D85B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 159</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>0170F175468FB5E60170F175468FB5E60170F175468FB5E6</key>
+			<input>0756D8E0774761D2</input>
+			<output>0CD3DA020021DC09</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 160</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>43297FAD38E373FE43297FAD38E373FE43297FAD38E373FE</key>
+			<input>762514B829BF486A</input>
+			<output>EA676B2CB7DB2B7A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 161</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>07A7137045DA2A1607A7137045DA2A1607A7137045DA2A16</key>
+			<input>3BDD119049372802</input>
+			<output>DFD64A815CAF1A0F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 162</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>04689104C2FD3B2F04689104C2FD3B2F04689104C2FD3B2F</key>
+			<input>26955F6835AF609A</input>
+			<output>5C513C9C4886C088</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 163</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>37D06BB516CB754637D06BB516CB754637D06BB516CB7546</key>
+			<input>164D5E404F275232</input>
+			<output>0A2AEEAE3FF4AB77</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 164</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>1F08260D1AC2465E1F08260D1AC2465E1F08260D1AC2465E</key>
+			<input>6B056E18759F5CCA</input>
+			<output>EF1BF03E5DFA575A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 165</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>584023641ABA6176584023641ABA6176584023641ABA6176</key>
+			<input>004BD6EF09176062</input>
+			<output>88BF0DB6D70DEE56</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 166</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>025816164629B007025816164629B007025816164629B007</key>
+			<input>480D39006EE762F2</input>
+			<output>A1F9915541020B56</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 167</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>49793EBC79B3258F49793EBC79B3258F49793EBC79B3258F</key>
+			<input>437540C8698F3CFA</input>
+			<output>6FBF1CAFCFFD0556</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 168</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>4FB05E1515AB73A74FB05E1515AB73A74FB05E1515AB73A7</key>
+			<input>072D43A077075292</input>
+			<output>2F22E49BAB7CA1AC</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 169</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>49E95D6D4CA229BF49E95D6D4CA229BF49E95D6D4CA229BF</key>
+			<input>02FE55778117F12A</input>
+			<output>5A6B612CC26CCE4A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 170</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>018310DC409B26D6018310DC409B26D6018310DC409B26D6</key>
+			<input>1D9D5C5018F728C2</input>
+			<output>5F4C038ED12B2E41</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 171</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>1C587F1C13924FEF1C587F1C13924FEF1C587F1C13924FEF</key>
+			<input>305532286D6F295A</input>
+			<output>63FAC0D034D9F793</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 172</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>0123456789ABCDEF23456789ABCDEF01456789ABCDEF0123</key>
+			<input>4E6F77206973207468652074696D6520666F7220616C6C20</input>
+			<output>314F8327FA7A09A84362760CC13BA7DAFF55C5F80FAAAC45</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 0</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>10316E028C8F3B4A10316E028C8F3B4A10316E028C8F3B4A</key>
+			<input>0000000000000000</input>
+			<output>82DCBAFBDEAB6602</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 1</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>8000000000000000</input>
+			<output>95F8A5E5DD31D900</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 2</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>4000000000000000</input>
+			<output>DD7F121CA5015619</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 3</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>2000000000000000</input>
+			<output>2E8653104F3834EA</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 4</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>1000000000000000</input>
+			<output>4BD388FF6CD81D4F</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 5</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0800000000000000</input>
+			<output>20B9E767B2FB1456</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 6</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0400000000000000</input>
+			<output>55579380D77138EF</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 7</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0200000000000000</input>
+			<output>6CC5DEFAAF04512F</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 8</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0100000000000000</input>
+			<output>0D9F279BA5D87260</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 9</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0080000000000000</input>
+			<output>D9031B0271BD5A0A</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 10</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0040000000000000</input>
+			<output>424250B37C3DD951</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 11</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0020000000000000</input>
+			<output>B8061B7ECD9A21E5</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 12</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0010000000000000</input>
+			<output>F15D0F286B65BD28</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 13</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0008000000000000</input>
+			<output>ADD0CC8D6E5DEBA1</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 14</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0004000000000000</input>
+			<output>E6D5F82752AD63D1</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 15</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0002000000000000</input>
+			<output>ECBFE3BD3F591A5E</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 16</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0001000000000000</input>
+			<output>F356834379D165CD</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 17</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000800000000000</input>
+			<output>2B9F982F20037FA9</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 18</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000400000000000</input>
+			<output>889DE068A16F0BE6</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 19</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000200000000000</input>
+			<output>E19E275D846A1298</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 20</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000100000000000</input>
+			<output>329A8ED523D71AEC</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 21</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000080000000000</input>
+			<output>E7FCE22557D23C97</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 22</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000040000000000</input>
+			<output>12A9F5817FF2D65D</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 23</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000020000000000</input>
+			<output>A484C3AD38DC9C19</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 24</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000010000000000</input>
+			<output>FBE00A8A1EF8AD72</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 25</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000008000000000</input>
+			<output>750D079407521363</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 26</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000004000000000</input>
+			<output>64FEED9C724C2FAF</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 27</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000002000000000</input>
+			<output>F02B263B328E2B60</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 28</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000001000000000</input>
+			<output>9D64555A9A10B852</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 29</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000800000000</input>
+			<output>D106FF0BED5255D7</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 30</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000400000000</input>
+			<output>E1652C6B138C64A5</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 31</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000200000000</input>
+			<output>E428581186EC8F46</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 32</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000100000000</input>
+			<output>AEB5F5EDE22D1A36</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 33</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000080000000</input>
+			<output>E943D7568AEC0C5C</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 34</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000040000000</input>
+			<output>DF98C8276F54B04B</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 35</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000020000000</input>
+			<output>B160E4680F6C696F</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 36</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000010000000</input>
+			<output>FA0752B07D9C4AB8</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 37</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000008000000</input>
+			<output>CA3A2B036DBC8502</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 38</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000004000000</input>
+			<output>5E0905517BB59BCF</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 39</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000002000000</input>
+			<output>814EEB3B91D90726</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 40</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000001000000</input>
+			<output>4D49DB1532919C9F</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 41</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000000800000</input>
+			<output>25EB5FC3F8CF0621</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 42</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000000400000</input>
+			<output>AB6A20C0620D1C6F</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 43</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000000200000</input>
+			<output>79E90DBC98F92CCA</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 44</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000000100000</input>
+			<output>866ECEDD8072BB0E</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 45</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000000080000</input>
+			<output>8B54536F2F3E64A8</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 46</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000000040000</input>
+			<output>EA51D3975595B86B</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 47</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000000020000</input>
+			<output>CAFFC6AC4542DE31</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 48</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000000010000</input>
+			<output>8DD45A2DDF90796C</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 49</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000000008000</input>
+			<output>1029D55E880EC2D0</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 50</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000000004000</input>
+			<output>5D86CB23639DBEA9</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 51</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000000002000</input>
+			<output>1D1CA853AE7C0C5F</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 52</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000000001000</input>
+			<output>CE332329248F3228</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 53</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000000000800</input>
+			<output>8405D1ABE24FB942</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 54</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000000000400</input>
+			<output>E643D78090CA4207</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 55</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000000000200</input>
+			<output>48221B9937748A23</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 56</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000000000100</input>
+			<output>DD7C0BBD61FAFD54</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 57</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000000000080</input>
+			<output>2FBC291A570DB5C4</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 58</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000000000040</input>
+			<output>E07C30D7E4E26E12</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 59</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000000000020</input>
+			<output>0953E2258E8E90A1</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 60</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000000000010</input>
+			<output>5B711BC4CEEBF2EE</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 61</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000000000008</input>
+			<output>CC083F1E6D9E85F6</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 62</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000000000004</input>
+			<output>D2FD8867D50D2DFE</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 63</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000000000002</input>
+			<output>06E7EA22CE92708F</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 64</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010101010101010101010101010101010101</key>
+			<input>0000000000000001</input>
+			<output>166B40B44ABA4BD6</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 65</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>800101010101010180010101010101018001010101010101</key>
+			<input>0000000000000000</input>
+			<output>95A8D72813DAA94D</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 66</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>400101010101010140010101010101014001010101010101</key>
+			<input>0000000000000000</input>
+			<output>0EEC1487DD8C26D5</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 67</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>200101010101010120010101010101012001010101010101</key>
+			<input>0000000000000000</input>
+			<output>7AD16FFB79C45926</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 68</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>100101010101010110010101010101011001010101010101</key>
+			<input>0000000000000000</input>
+			<output>D3746294CA6A6CF3</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 69</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>080101010101010108010101010101010801010101010101</key>
+			<input>0000000000000000</input>
+			<output>809F5F873C1FD761</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 70</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>040101010101010104010101010101010401010101010101</key>
+			<input>0000000000000000</input>
+			<output>C02FAFFEC989D1FC</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 71</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>020101010101010102010101010101010201010101010101</key>
+			<input>0000000000000000</input>
+			<output>4615AA1D33E72F10</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 72</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>018001010101010101800101010101010180010101010101</key>
+			<input>0000000000000000</input>
+			<output>2055123350C00858</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 73</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>014001010101010101400101010101010140010101010101</key>
+			<input>0000000000000000</input>
+			<output>DF3B99D6577397C8</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 74</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>012001010101010101200101010101010120010101010101</key>
+			<input>0000000000000000</input>
+			<output>31FE17369B5288C9</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 75</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>011001010101010101100101010101010110010101010101</key>
+			<input>0000000000000000</input>
+			<output>DFDD3CC64DAE1642</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 76</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010801010101010101080101010101010108010101010101</key>
+			<input>0000000000000000</input>
+			<output>178C83CE2B399D94</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 77</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010401010101010101040101010101010104010101010101</key>
+			<input>0000000000000000</input>
+			<output>50F636324A9B7F80</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 78</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010201010101010101020101010101010102010101010101</key>
+			<input>0000000000000000</input>
+			<output>A8468EE3BC18F06D</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 79</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010180010101010101018001010101010101800101010101</key>
+			<input>0000000000000000</input>
+			<output>A2DC9E92FD3CDE92</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 80</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010140010101010101014001010101010101400101010101</key>
+			<input>0000000000000000</input>
+			<output>CAC09F797D031287</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 81</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010120010101010101012001010101010101200101010101</key>
+			<input>0000000000000000</input>
+			<output>90BA680B22AEB525</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 82</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010110010101010101011001010101010101100101010101</key>
+			<input>0000000000000000</input>
+			<output>CE7A24F350E280B6</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 83</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010108010101010101010801010101010101080101010101</key>
+			<input>0000000000000000</input>
+			<output>882BFF0AA01A0B87</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 84</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010104010101010101010401010101010101040101010101</key>
+			<input>0000000000000000</input>
+			<output>25610288924511C2</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 85</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010102010101010101010201010101010101020101010101</key>
+			<input>0000000000000000</input>
+			<output>C71516C29C75D170</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 86</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101800101010101010180010101010101018001010101</key>
+			<input>0000000000000000</input>
+			<output>5199C29A52C9F059</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 87</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101400101010101010140010101010101014001010101</key>
+			<input>0000000000000000</input>
+			<output>C22F0A294A71F29F</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 88</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101200101010101010120010101010101012001010101</key>
+			<input>0000000000000000</input>
+			<output>EE371483714C02EA</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 89</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101100101010101010110010101010101011001010101</key>
+			<input>0000000000000000</input>
+			<output>A81FBD448F9E522F</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 90</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101080101010101010108010101010101010801010101</key>
+			<input>0000000000000000</input>
+			<output>4F644C92E192DFED</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 91</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101040101010101010104010101010101010401010101</key>
+			<input>0000000000000000</input>
+			<output>1AFA9A66A6DF92AE</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 92</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101020101010101010102010101010101010201010101</key>
+			<input>0000000000000000</input>
+			<output>B3C1CC715CB879D8</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 93</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101018001010101010101800101010101010180010101</key>
+			<input>0000000000000000</input>
+			<output>19D032E64AB0BD8B</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 94</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101014001010101010101400101010101010140010101</key>
+			<input>0000000000000000</input>
+			<output>3CFAA7A7DC8720DC</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 95</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101012001010101010101200101010101010120010101</key>
+			<input>0000000000000000</input>
+			<output>B7265F7F447AC6F3</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 96</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101011001010101010101100101010101010110010101</key>
+			<input>0000000000000000</input>
+			<output>9DB73B3C0D163F54</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 97</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010801010101010101080101010101010108010101</key>
+			<input>0000000000000000</input>
+			<output>8181B65BABF4A975</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 98</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010401010101010101040101010101010104010101</key>
+			<input>0000000000000000</input>
+			<output>93C9B64042EAA240</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 99</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010201010101010101020101010101010102010101</key>
+			<input>0000000000000000</input>
+			<output>5570530829705592</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 100</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010180010101010101018001010101010101800101</key>
+			<input>0000000000000000</input>
+			<output>8638809E878787A0</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 101</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010140010101010101014001010101010101400101</key>
+			<input>0000000000000000</input>
+			<output>41B9A79AF79AC208</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 102</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010120010101010101012001010101010101200101</key>
+			<input>0000000000000000</input>
+			<output>7A9BE42F2009A892</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 103</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010110010101010101011001010101010101100101</key>
+			<input>0000000000000000</input>
+			<output>29038D56BA6D2745</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 104</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010108010101010101010801010101010101080101</key>
+			<input>0000000000000000</input>
+			<output>5495C6ABF1E5DF51</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 105</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010104010101010101010401010101010101040101</key>
+			<input>0000000000000000</input>
+			<output>AE13DBD561488933</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 106</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010102010101010101010201010101010101020101</key>
+			<input>0000000000000000</input>
+			<output>024D1FFA8904E389</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 107</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101800101010101010180010101010101018001</key>
+			<input>0000000000000000</input>
+			<output>D1399712F99BF02E</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 108</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101400101010101010140010101010101014001</key>
+			<input>0000000000000000</input>
+			<output>14C1D7C1CFFEC79E</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 109</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101200101010101010120010101010101012001</key>
+			<input>0000000000000000</input>
+			<output>1DE5279DAE3BED6F</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 110</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101100101010101010110010101010101011001</key>
+			<input>0000000000000000</input>
+			<output>E941A33F85501303</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 111</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101080101010101010108010101010101010801</key>
+			<input>0000000000000000</input>
+			<output>DA99DBBC9A03F379</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 112</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101040101010101010104010101010101010401</key>
+			<input>0000000000000000</input>
+			<output>B7FC92F91D8E92E9</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 113</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101020101010101010102010101010101010201</key>
+			<input>0000000000000000</input>
+			<output>AE8E5CAA3CA04E85</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 114</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101018001010101010101800101010101010180</key>
+			<input>0000000000000000</input>
+			<output>9CC62DF43B6EED74</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 115</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101014001010101010101400101010101010140</key>
+			<input>0000000000000000</input>
+			<output>D863DBB5C59A91A0</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 116</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101012001010101010101200101010101010120</key>
+			<input>0000000000000000</input>
+			<output>A1AB2190545B91D7</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 117</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101011001010101010101100101010101010110</key>
+			<input>0000000000000000</input>
+			<output>0875041E64C570F7</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 118</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010801010101010101080101010101010108</key>
+			<input>0000000000000000</input>
+			<output>5A594528BEBEF1CC</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 119</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010401010101010101040101010101010104</key>
+			<input>0000000000000000</input>
+			<output>FCDB3291DE21F0C0</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 120</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010101010101010201010101010101020101010101010102</key>
+			<input>0000000000000000</input>
+			<output>869EFD7F9F265A09</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 121</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>104691348998013110469134899801311046913489980131</key>
+			<input>0000000000000000</input>
+			<output>88D55E54F54C97B4</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 122</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>100710348998802010071034899880201007103489988020</key>
+			<input>0000000000000000</input>
+			<output>0C0CC00C83EA48FD</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 123</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>10071034C898012010071034C898012010071034C8980120</key>
+			<input>0000000000000000</input>
+			<output>83BC8EF3A6570183</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 124</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>104610348998802010461034899880201046103489988020</key>
+			<input>0000000000000000</input>
+			<output>DF725DCAD94EA2E9</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 125</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>108691151919010110869115191901011086911519190101</key>
+			<input>0000000000000000</input>
+			<output>E652B53B550BE8B0</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 126</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>108691151958010110869115195801011086911519580101</key>
+			<input>0000000000000000</input>
+			<output>AF527120C485CBB0</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 127</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>5107B015195801015107B015195801015107B01519580101</key>
+			<input>0000000000000000</input>
+			<output>0F04CE393DB926D5</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 128</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>1007B015191901011007B015191901011007B01519190101</key>
+			<input>0000000000000000</input>
+			<output>C9F00FFC74079067</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 129</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>310791549808010131079154980801013107915498080101</key>
+			<input>0000000000000000</input>
+			<output>7CFD82A593252B4E</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 130</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>310791949808010131079194980801013107919498080101</key>
+			<input>0000000000000000</input>
+			<output>CB49A2F9E91363E3</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 131</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>10079115B908014010079115B908014010079115B9080140</key>
+			<input>0000000000000000</input>
+			<output>00B588BE70D23F56</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 132</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>310791159808014031079115980801403107911598080140</key>
+			<input>0000000000000000</input>
+			<output>406A9A6AB43399AE</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 133</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>1007D015899801011007D015899801011007D01589980101</key>
+			<input>0000000000000000</input>
+			<output>6CB773611DCA9ADA</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 134</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>910791158998010191079115899801019107911589980101</key>
+			<input>0000000000000000</input>
+			<output>67FD21C17DBB5D70</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 135</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>9107D015891901019107D015891901019107D01589190101</key>
+			<input>0000000000000000</input>
+			<output>9592CB4110430787</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 136</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>1007D015989801201007D015989801201007D01598980120</key>
+			<input>0000000000000000</input>
+			<output>A6B7FF68A318DDD3</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 137</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>100794049819010110079404981901011007940498190101</key>
+			<input>0000000000000000</input>
+			<output>4D102196C914CA16</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 138</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010791049119040101079104911904010107910491190401</key>
+			<input>0000000000000000</input>
+			<output>2DFA9F4573594965</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 139</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010791049119010101079104911901010107910491190101</key>
+			<input>0000000000000000</input>
+			<output>B46604816C0E0774</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 140</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>010794049119040101079404911904010107940491190401</key>
+			<input>0000000000000000</input>
+			<output>6E7E6221A4F34E87</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 141</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>19079210981A010119079210981A010119079210981A0101</key>
+			<input>0000000000000000</input>
+			<output>AA85E74643233199</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 142</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>100791199819080110079119981908011007911998190801</key>
+			<input>0000000000000000</input>
+			<output>2E5A19DB4D1962D6</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 143</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>10079119981A080110079119981A080110079119981A0801</key>
+			<input>0000000000000000</input>
+			<output>23A866A809D30894</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 144</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>100792109819010110079210981901011007921098190101</key>
+			<input>0000000000000000</input>
+			<output>D812D961F017D320</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 145</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>100791159819010B100791159819010B100791159819010B</key>
+			<input>0000000000000000</input>
+			<output>055605816E58608F</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 146</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>100480159819010110048015981901011004801598190101</key>
+			<input>0000000000000000</input>
+			<output>ABD88E8B1B7716F1</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 147</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>100480159819010210048015981901021004801598190102</key>
+			<input>0000000000000000</input>
+			<output>537AC95BE69DA1E1</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 148</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>100480159819010810048015981901081004801598190108</key>
+			<input>0000000000000000</input>
+			<output>AED0F6AE3C25CDD8</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 149</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>100291159810010410029115981001041002911598100104</key>
+			<input>0000000000000000</input>
+			<output>B3E35A5EE53E7B8D</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 150</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>100291159819010410029115981901041002911598190104</key>
+			<input>0000000000000000</input>
+			<output>61C79C71921A2EF8</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 151</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>100291159810020110029115981002011002911598100201</key>
+			<input>0000000000000000</input>
+			<output>E2F5728F0995013C</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 152</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>100291169810010110029116981001011002911698100101</key>
+			<input>0000000000000000</input>
+			<output>1AEAC39A61F0A464</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 153</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>7CA110454A1A6E577CA110454A1A6E577CA110454A1A6E57</key>
+			<input>01A1D6D039776742</input>
+			<output>690F5B0D9A26939B</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 154</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>0131D9619DC1376E0131D9619DC1376E0131D9619DC1376E</key>
+			<input>5CD54CA83DEF57DA</input>
+			<output>7A389D10354BD271</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 155</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>07A1133E4A0B268607A1133E4A0B268607A1133E4A0B2686</key>
+			<input>0248D43806F67172</input>
+			<output>868EBB51CAB4599A</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 156</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>3849674C2602319E3849674C2602319E3849674C2602319E</key>
+			<input>51454B582DDF440A</input>
+			<output>7178876E01F19B2A</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 157</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>04B915BA43FEB5B604B915BA43FEB5B604B915BA43FEB5B6</key>
+			<input>42FD443059577FA2</input>
+			<output>AF37FB421F8C4095</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 158</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>0113B970FD34F2CE0113B970FD34F2CE0113B970FD34F2CE</key>
+			<input>059B5E0851CF143A</input>
+			<output>86A560F10EC6D85B</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 159</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>0170F175468FB5E60170F175468FB5E60170F175468FB5E6</key>
+			<input>0756D8E0774761D2</input>
+			<output>0CD3DA020021DC09</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 160</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>43297FAD38E373FE43297FAD38E373FE43297FAD38E373FE</key>
+			<input>762514B829BF486A</input>
+			<output>EA676B2CB7DB2B7A</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 161</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>07A7137045DA2A1607A7137045DA2A1607A7137045DA2A16</key>
+			<input>3BDD119049372802</input>
+			<output>DFD64A815CAF1A0F</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 162</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>04689104C2FD3B2F04689104C2FD3B2F04689104C2FD3B2F</key>
+			<input>26955F6835AF609A</input>
+			<output>5C513C9C4886C088</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 163</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>37D06BB516CB754637D06BB516CB754637D06BB516CB7546</key>
+			<input>164D5E404F275232</input>
+			<output>0A2AEEAE3FF4AB77</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 164</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>1F08260D1AC2465E1F08260D1AC2465E1F08260D1AC2465E</key>
+			<input>6B056E18759F5CCA</input>
+			<output>EF1BF03E5DFA575A</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 165</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>584023641ABA6176584023641ABA6176584023641ABA6176</key>
+			<input>004BD6EF09176062</input>
+			<output>88BF0DB6D70DEE56</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 166</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>025816164629B007025816164629B007025816164629B007</key>
+			<input>480D39006EE762F2</input>
+			<output>A1F9915541020B56</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 167</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>49793EBC79B3258F49793EBC79B3258F49793EBC79B3258F</key>
+			<input>437540C8698F3CFA</input>
+			<output>6FBF1CAFCFFD0556</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 168</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>4FB05E1515AB73A74FB05E1515AB73A74FB05E1515AB73A7</key>
+			<input>072D43A077075292</input>
+			<output>2F22E49BAB7CA1AC</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 169</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>49E95D6D4CA229BF49E95D6D4CA229BF49E95D6D4CA229BF</key>
+			<input>02FE55778117F12A</input>
+			<output>5A6B612CC26CCE4A</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 170</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>018310DC409B26D6018310DC409B26D6018310DC409B26D6</key>
+			<input>1D9D5C5018F728C2</input>
+			<output>5F4C038ED12B2E41</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 171</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>1C587F1C13924FEF1C587F1C13924FEF1C587F1C13924FEF</key>
+			<input>305532286D6F295A</input>
+			<output>63FAC0D034D9F793</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 172</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>0123456789ABCDEF23456789ABCDEF01456789ABCDEF0123</key>
+			<input>4E6F77206973207468652074696D6520666F7220616C6C20</input>
+			<output>F3C0FF026C023089656FBB169DEF7EDB30BA36075D6F0176</output>
+			<iv>1234567890ABCDEF</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 173</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>112233445566778811223344556677881122334455667788</key>
+			<input>000102030405060708091011121314151617181920212223</input>
+			<output>4C0CE7EA6E1FD7C57284B9D5DE41E8AA00E1F61DD4537842</output>
+			<iv>0011223344556677</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 174</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>112233445566778811223344556677881122334455667788</key>
+			<input>000102030405060708091011121314151617181920212223</input>
+			<output>3BD6E1D301A382E0F6DC9868C7A019EC470F379D9928148D</output>
+			<iv>7766554433221100</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 175</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>7CA110454A1A6E577CA110454A1A6E57FEDCBA9876543210</key>
+			<input>0123456789ABCDEF</input>
+			<output>ED39D950FA74BCC4</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 176</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>7CA110454A1A6E57FEDCBA9876543210FEDCBA9876543210</key>
+			<input>01A1D6D039776742</input>
+			<output>690F5B0D9A26939B</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 177</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>0123456789ABCDEF23456789ABCDEF01456789ABCDEF0123</key>
+			<input>4E6F77206973207468652074696D6520666F7220616C6C20</input>
+			<output>F3C0FF026C023089656FBB169DEF7EDB30BA36075D6F0176</output>
+			<iv>1234567890ABCDEF</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 178</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF</key>
+			<input>6789ABCDEF012345</input>
+			<output>FC624960B90F7A7D</output>
+			<iv>00000000EFAB23EF</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 179</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF</key>
+			<input>6789ABCDEF012345</input>
+			<output>FC624960B90F7A7D</output>
+			<iv>00000000EFAB23EF</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 180</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF</key>
+			<input>6789ABCDEF0123450808080808080808</input>
+			<output>FC624960B90F7A7D2551005F74269110</output>
+			<iv>00000000EFAB23EF</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 181</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF</key>
+			<input>010203040506070809101112131415160808080808080808</input>
+			<output>67D89FDD4DB55CDFE7886E07EBD3B3DF47D8B20E93909B58</output>
+			<iv>00000000EFAB23EF</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 182</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF</key>
+			<input>01020304050607080910111213141501</input>
+			<output>67D89FDD4DB55CDFF52A136D17A87E8F</output>
+			<iv>00000000EFAB23EF</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 183</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF</key>
+			<input>01020304050607080910111213140202</input>
+			<output>67D89FDD4DB55CDF9FF22B5301F5BA69</output>
+			<iv>00000000EFAB23EF</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 184</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF</key>
+			<input>01020304050607080910111213030303</input>
+			<output>67D89FDD4DB55CDF7AC916277CC636EF</output>
+			<iv>00000000EFAB23EF</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 185</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF</key>
+			<input>01020304050607080910111204040404</input>
+			<output>67D89FDD4DB55CDFE204DB2A32A7B8C8</output>
+			<iv>00000000EFAB23EF</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 186</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF</key>
+			<input>01020304050607080910110505050505</input>
+			<output>67D89FDD4DB55CDF287F784D76357583</output>
+			<iv>00000000EFAB23EF</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 187</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF</key>
+			<input>01020304050607080910060606060606</input>
+			<output>67D89FDD4DB55CDF4C58EA5623CD0B5B</output>
+			<iv>00000000EFAB23EF</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 188</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF</key>
+			<input>01020304050607080907070707070707</input>
+			<output>67D89FDD4DB55CDFD784A16124DF7747</output>
+			<iv>00000000EFAB23EF</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 189</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF</key>
+			<input>01020304050607080808080808080808</input>
+			<output>67D89FDD4DB55CDF9A19483ADB5C2975</output>
+			<iv>00000000EFAB23EF</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 190</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF</key>
+			<input>0102030405060701</input>
+			<output>977C3A184FA1E78D</output>
+			<iv>00000000EFAB23EF</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 191</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF</key>
+			<input>0102030405060202</input>
+			<output>D1AEE6C6FAE1828B</output>
+			<iv>00000000EFAB23EF</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 192</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF</key>
+			<input>0102030405030303</input>
+			<output>A5EF9A711DE975CA</output>
+			<iv>00000000EFAB23EF</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 193</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF</key>
+			<input>0102030404040404</input>
+			<output>A429C178F9A65553</output>
+			<iv>00000000EFAB23EF</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 194</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF</key>
+			<input>0102030505050505</input>
+			<output>B53A1C038D1B89CD</output>
+			<iv>00000000EFAB23EF</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 195</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF</key>
+			<input>0102060606060606</input>
+			<output>0D00D9D7CA3C98A4</output>
+			<iv>00000000EFAB23EF</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 196</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF</key>
+			<input>0107070707070707</input>
+			<output>C3F1BA84FB6E4664</output>
+			<iv>00000000EFAB23EF</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 197</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF</key>
+			<input>0808080808080808</input>
+			<output>D470869B58D76FAD</output>
+			<iv>00000000EFAB23EF</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 0</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>88</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>0000000000000000</input>
+			<output>61A8A244ADACCCF0</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 1</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>88BCA90E90875A</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>0000000000000000</input>
+			<output>6CCF4308974C267F</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 2</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>88BCA90E90875A7F0F79C384627BAFB2</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>0000000000000000</input>
+			<output>1A807D272BBE5DB1</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 3</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>0000000000000000</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>0000000000000000</input>
+			<output>EBB773F993278EFF</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 4</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>0123456789ABCDEF</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>1122334455667788</input>
+			<output>560788C117EC3BF0</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 5</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>FFFFFFFFFFFFFFFF</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>FFFFFFFFFFFFFFFF</input>
+			<output>278B27E42E2F0D49</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 6</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>3000000000000000</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>1000000000000001</input>
+			<output>30649EDF9BE7D2C2</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 7</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>1111111111111111</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>1111111111111111</input>
+			<output>08BA6FFA24CD2448</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 8</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>0123456789ABCDEF</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>1111111111111111</input>
+			<output>83919A5CBDDA91E8</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 9</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>1111111111111111</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>0123456789ABCDEF</input>
+			<output>715D05DCBAD0A52D</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 10</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>FEDCBA9876543210</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>0123456789ABCDEF</input>
+			<output>AFF61F28ADB8F992</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 11</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>7CA110454A1A6E57</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>01A1D6D039776742</input>
+			<output>E6C72BD91A8317DA</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 12</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>0131D9619DC1376E</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>5CD54CA83DEF57DA</input>
+			<output>5DEC877636C097F4</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 13</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>07A1133E4A0B2686</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>0248D43806F67172</input>
+			<output>F6A678D160B219E1</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 14</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>3849674C2602319E</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>51454B582DDF440A</input>
+			<output>F10947AADA21CC24</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 15</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>04B915BA43FEB5B6</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>42FD443059577FA2</input>
+			<output>2F999B72BFE16FA7</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 16</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>0113B970FD34F2CE</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>059B5E0851CF143A</input>
+			<output>35783A7937FC0786</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 17</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>0170F175468FB5E6</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>0756D8E0774761D2</input>
+			<output>4BE2541E1F1E9AE9</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 18</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>43297FAD38E373FE</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>762514B829BF486A</input>
+			<output>0D827AB91CBE6B81</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 19</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>07A7137045DA2A16</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>3BDD119049372802</input>
+			<output>0E4D330B57B01F64</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 20</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>04689104C2FD3B2F</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>26955F6835AF609A</input>
+			<output>0F89859336A2BB56</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 21</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>37D06BB516CB7546</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>164D5E404F275232</input>
+			<output>CC22A66F79417445</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 22</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>1F08260D1AC2465E</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>6B056E18759F5CCA</input>
+			<output>9A9FA77A5CE073A0</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 23</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>584023641ABA6176</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>004BD6EF09176062</input>
+			<output>D896266223671934</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 24</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>025816164629B007</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>480D39006EE762F2</input>
+			<output>4DF89CF7EE3D5B40</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 25</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>49793EBC79B3258F</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>437540C8698F3CFA</input>
+			<output>141F405CA84C25C4</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 26</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>4FB05E1515AB73A7</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>072D43A077075292</input>
+			<output>3F0558B19B018711</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 27</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>49E95D6D4CA229BF</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>02FE55778117F12A</input>
+			<output>585FE24017619CCF</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 28</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>018310DC409B26D6</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>1D9D5C5018F728C2</input>
+			<output>7963042382F61893</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 29</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>1C587F1C13924FEF</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>305532286D6F295A</input>
+			<output>B3073BCAE8912B3B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 30</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>0101010101010101</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>0123456789ABCDEF</input>
+			<output>927B508FF3609651</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 31</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>1F1F1F1F0E0E0E0E</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>0123456789ABCDEF</input>
+			<output>D8E4684DCE864C3B</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 32</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>E0FEE0FEF1FEF1FE</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>0123456789ABCDEF</input>
+			<output>AF317F8DB5F2B33C</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 33</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>0000000000000000</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>FFFFFFFFFFFFFFFF</input>
+			<output>0770C3EB6DC04678</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 34</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>FFFFFFFFFFFFFFFF</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>0000000000000000</input>
+			<output>A3A112654F81C5CD</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 35</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>0123456789ABCDEF</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>0000000000000000</input>
+			<output>A9F36E0F75C4D4E7</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 36</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>FEDCBA9876543210</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>FFFFFFFFFFFFFFFF</input>
+			<output>285155EE09767F79</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 37 ***NEW*** from test spec</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>88BCA90E90875A7F0F79C384627BAFB2</key>
+			<effectiveKeyLength>128</effectiveKeyLength>
+			<input>0000000000000000</input>
+			<output>2269552AB0F85CA6</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 38 ***NEW*** from test spec</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>88BCA90E90875A7F0F79C384627BAFB216F80A6F85920584C42FCEB0BE255DAF1E</key>
+			<effectiveKeyLength>129</effectiveKeyLength>
+			<input>0000000000000000</input>
+			<output>5B78D3A43DFFF1F1</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 39 - from openssl test code</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<effectiveKeyLength>1024</effectiveKeyLength>
+			<input>0000000000000000</input>
+			<output>1C198A838DF028B7</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 40 - from openssl test code</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>00000000000000000000000000000001</key>
+			<effectiveKeyLength>1024</effectiveKeyLength>
+			<input>0000000000000000</input>
+			<output>21829C78A9F9C074</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 41 - from openssl test code</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>00000000000000000000000000000000</key>
+			<effectiveKeyLength>1024</effectiveKeyLength>
+			<input>FFFFFFFFFFFFFFFF</input>
+			<output>13DB3517D321869E</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 42 - from openssl test code</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>000102030405060708090A0B0C0D0E0F</key>
+			<effectiveKeyLength>1024</effectiveKeyLength>
+			<input>0000000000000000</input>
+			<output>50DC0162BD757F31</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 0</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>0000000000000000</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>0000000000000000</input>
+			<output>EBB773F993278EFF</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 1</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>0123456789ABCDEF</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>1110010110010100</input>
+			<output>83919A5CBDDA91E8</output>
+			<iv>0001101001101011</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 2</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>0123456789ABCDEF</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>0001101001101011</input>
+			<output>83919A5CBDDA91E8</output>
+			<iv>1110010110010100</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 3</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>0123456789ABCDEF</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>88BCA90E90875A7F</input>
+			<output>B0E5CDDD09CB4581</output>
+			<iv>456789ABCDEF0123</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 4</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>0123456789ABCDEF</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>0F79C384627BAFB2</input>
+			<output>B20420ABB639D2BE</output>
+			<iv>B0E5CDDD09CB4581</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 5</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>0123456789ABCDEF</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>16F80A6F85920584</input>
+			<output>0BB613FC9B702A66</output>
+			<iv>B20420ABB639D2BE</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 6</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>0123456789ABCDEF</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>88BCA90E90875A7F0F79C384627BAFB216F80A6F85920584</input>
+			<output>B0E5CDDD09CB4581B20420ABB639D2BE0BB613FC9B702A66</output>
+			<iv>456789ABCDEF0123</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 7</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>0123456789ABCDEF</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>1122334455667788</input>
+			<output>560788C117EC3BF0</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 8</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>0123456789ABCDEF</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>1122334455667788AA11223344556677</input>
+			<output>560788C117EC3BF028D552DB234B64C5</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 9</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>0123456789ABCDEF</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>1122334455667788AA1122334455667788AA112233445566</input>
+			<output>560788C117EC3BF028D552DB234B64C58E0C5D57AF03D760</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 10</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>FFFFFFFFFFFFFFFF</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>FFFFFFFFFFFFFFFF</input>
+			<output>278B27E42E2F0D49</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 11</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>3000000000000000</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>1000000000000001</input>
+			<output>30649EDF9BE7D2C2</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 12</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>1111111111111111</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>1111111111111111</input>
+			<output>08BA6FFA24CD2448</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 13</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>0123456789ABCDEF</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>1111111111111111</input>
+			<output>83919A5CBDDA91E8</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 14</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>1111111111111111</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>0123456789ABCDEF</input>
+			<output>715D05DCBAD0A52D</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 15</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>FEDCBA9876543210</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>0123456789ABCDEF</input>
+			<output>AFF61F28ADB8F992</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 16</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>7CA110454A1A6E57</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>01A1D6D039776742</input>
+			<output>E6C72BD91A8317DA</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 17</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>0131D9619DC1376E</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>5CD54CA83DEF57DA</input>
+			<output>5DEC877636C097F4</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 18</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>07A1133E4A0B2686</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>0248D43806F67172</input>
+			<output>F6A678D160B219E1</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 19</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>3849674C2602319E</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>51454B582DDF440A</input>
+			<output>F10947AADA21CC24</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 20</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>04B915BA43FEB5B6</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>42FD443059577FA2</input>
+			<output>2F999B72BFE16FA7</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 21</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>0113B970FD34F2CE</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>059B5E0851CF143A</input>
+			<output>35783A7937FC0786</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 22</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>0170F175468FB5E6</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>0756D8E0774761D2</input>
+			<output>4BE2541E1F1E9AE9</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 23</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>43297FAD38E373FE</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>762514B829BF486A</input>
+			<output>0D827AB91CBE6B81</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 24</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>07A7137045DA2A16</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>3BDD119049372802</input>
+			<output>0E4D330B57B01F64</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 25</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>04689104C2FD3B2F</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>26955F6835AF609A</input>
+			<output>0F89859336A2BB56</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 26</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>37D06BB516CB7546</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>164D5E404F275232</input>
+			<output>CC22A66F79417445</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 27</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>1F08260D1AC2465E</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>6B056E18759F5CCA</input>
+			<output>9A9FA77A5CE073A0</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 28</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>584023641ABA6176</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>004BD6EF09176062</input>
+			<output>D896266223671934</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 29</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>025816164629B007</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>480D39006EE762F2</input>
+			<output>4DF89CF7EE3D5B40</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 30</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>49793EBC79B3258F</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>437540C8698F3CFA</input>
+			<output>141F405CA84C25C4</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 31</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>4FB05E1515AB73A7</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>072D43A077075292</input>
+			<output>3F0558B19B018711</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 32</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>49E95D6D4CA229BF</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>02FE55778117F12A</input>
+			<output>585FE24017619CCF</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 33</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>018310DC409B26D6</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>1D9D5C5018F728C2</input>
+			<output>7963042382F61893</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 34</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>1C587F1C13924FEF</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>305532286D6F295A</input>
+			<output>B3073BCAE8912B3B</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 35</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>0101010101010101</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>0123456789ABCDEF</input>
+			<output>927B508FF3609651</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 36</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>1F1F1F1F0E0E0E0E</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>0123456789ABCDEF</input>
+			<output>D8E4684DCE864C3B</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 37</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>E0FEE0FEF1FEF1FE</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>0123456789ABCDEF</input>
+			<output>AF317F8DB5F2B33C</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 38</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>0000000000000000</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>FFFFFFFFFFFFFFFF</input>
+			<output>0770C3EB6DC04678</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 39</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>FFFFFFFFFFFFFFFF</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>0000000000000000</input>
+			<output>A3A112654F81C5CD</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 40</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>0123456789ABCDEF</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>0000000000000000</input>
+			<output>A9F36E0F75C4D4E7</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 41</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>FEDCBA9876543210</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>FFFFFFFFFFFFFFFF</input>
+			<output>285155EE09767F79</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 42</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>0123456789ABCDEF</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>6789ABCDEF012345</input>
+			<output>8AB9812A157EFA87</output>
+			<iv>00000000EFAB23EF</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 43</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>0123456789ABCDEF</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>6789ABCDEF0123450808080808080808</input>
+			<output>8AB9812A157EFA8791CF42833556FB07</output>
+			<iv>00000000EFAB23EF</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 44</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>0123456789ABCDEF</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>010203040506070809101112131415160808080808080808</input>
+			<output>2DEF62E545A755DEABB588A36AF7E2A11F65064B843373D0</output>
+			<iv>00000000EFAB23EF</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 45</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>0123456789ABCDEF</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>01020304050607080910111213141501</input>
+			<output>2DEF62E545A755DE377B2C5382276EC1</output>
+			<iv>00000000EFAB23EF</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 46</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>0123456789ABCDEF</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>01020304050607080910111213140202</input>
+			<output>2DEF62E545A755DE558B258C5E98416A</output>
+			<iv>00000000EFAB23EF</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 47</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>0123456789ABCDEF</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>01020304050607080910111213030303</input>
+			<output>2DEF62E545A755DE61202489EE7BA71D</output>
+			<iv>00000000EFAB23EF</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 48</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>0123456789ABCDEF</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>01020304050607080910111204040404</input>
+			<output>2DEF62E545A755DEE88E29056AE9DA70</output>
+			<iv>00000000EFAB23EF</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 49</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>0123456789ABCDEF</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>01020304050607080910110505050505</input>
+			<output>2DEF62E545A755DE3C07D96F3A786265</output>
+			<iv>00000000EFAB23EF</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 50</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>0123456789ABCDEF</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>01020304050607080910060606060606</input>
+			<output>2DEF62E545A755DEB44C5090B8835C81</output>
+			<iv>00000000EFAB23EF</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 51</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>0123456789ABCDEF</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>01020304050607080907070707070707</input>
+			<output>2DEF62E545A755DECC05EF7692F2C516</output>
+			<iv>00000000EFAB23EF</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 52</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>0123456789ABCDEF</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>01020304050607080808080808080808</input>
+			<output>2DEF62E545A755DEC6D72BD46DB0B596</output>
+			<iv>00000000EFAB23EF</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 53</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>0123456789ABCDEF</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>0102030405060701</input>
+			<output>BC833CE2076E664D</output>
+			<iv>00000000EFAB23EF</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 54</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>0123456789ABCDEF</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>0102030405060202</input>
+			<output>3A6906738CCCC62F</output>
+			<iv>00000000EFAB23EF</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 55</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>0123456789ABCDEF</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>0102030405030303</input>
+			<output>8C7CDFD20A4A6E28</output>
+			<iv>00000000EFAB23EF</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 56</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>0123456789ABCDEF</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>0102030404040404</input>
+			<output>7BC7D4549A008837</output>
+			<iv>00000000EFAB23EF</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 57</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>0123456789ABCDEF</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>0102030505050505</input>
+			<output>EB777B0CDB21B583</output>
+			<iv>00000000EFAB23EF</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 58</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>0123456789ABCDEF</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>0102060606060606</input>
+			<output>AD39A96DCDFA9702</output>
+			<iv>00000000EFAB23EF</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 59</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>0123456789ABCDEF</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>0107070707070707</input>
+			<output>7C57FF01CCB66C58</output>
+			<iv>00000000EFAB23EF</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 60</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>0123456789ABCDEF</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>0808080808080808</input>
+			<output>2F9C162C976D4D2E</output>
+			<iv>00000000EFAB23EF</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC4 Vector Test 0</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC4</ciphertype>
+			<key>70E40040838C10495A4B31551D2A18EF</key>
+			<input>9017E9CEB5ECDD634860A86C1BB51663A5244CED6125B0359DAE984EDE35C86D</input>
+			<output>1400000C12C873074727389C1041B96E3BF94260A8772A294823ACA42EF21651</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC4 Vector Test 1</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC4</ciphertype>
+			<key>022F0FFA3CB41D904C9D8A5EB98FC953</key>
+			<input>1400000CED47F2AC3869DAEA1E2A05F51BAACEA8885D0FECCAE2A4E9A9419C6B</input>
+			<output>09B6024ACDDAB55A0CE3D306A70467D39F1190C27280664153F7B713B0F61AC2</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC4 Vector Test 2 -- http://www.columbia.edu/~ariel/ssleay/rrc4.html</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC4</ciphertype>
+			<key>0123456789ABCDEF</key>
+			<input>0123456789ABCDEF</input>
+			<output>75B7878099E0C596</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC4 Vector Test 3 -- http://www.columbia.edu/~ariel/ssleay/rrc4.html</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC4</ciphertype>
+			<key>0123456789ABCDEF</key>
+			<input>0000000000000000</input>
+			<output>7494C2E7104B0879</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC4 Vector Test 4 -- http://www.columbia.edu/~ariel/ssleay/rrc4.html</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC4</ciphertype>
+			<key>0000000000000000</key>
+			<input>0000000000000000</input>
+			<output>DE188941A3375D3A</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC4 Vector Test 5 -- http://www.columbia.edu/~ariel/ssleay/rrc4.html</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC4</ciphertype>
+			<key>EF012345</key>
+			<input>00000000000000000000</input>
+			<output>D6A141A7EC3C38DFBD61</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC4 Vector Test 6 -- http://www.columbia.edu/~ariel/ssleay/rrc4.html</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC4</ciphertype>
+			<key>EF012345</key>
+			<input>D6A141A7EC3C38DFBD61</input>
+			<output>00000000000000000000</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC4 Vector Test 7 -- from cryptopp</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC4</ciphertype>
+			<key>0123456789ABCDEF</key>
+			<input>0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101</input>
+			<output>7595C3E6114A09780C4AD452338E1FFD9A1BE9498F813D76533449B6778DCAD8C78A8D2BA9AC66085D0E53D59C26C2D1C490C1EBBE0CE66D1B6B1B13B6B919B847C25A91447A95E75E4EF16779CDE8BF0A95850E32AF9689444FD377108F98FDCBD4E726567500990BCC7E0CA3C4AAA304A387D20F3B8FBBCD42A1BD311D7A4303DDA5AB078896AE80C18B0AF66DFF319616EB784E495AD2CE90D7F772A81747B65F62093B1E0DB9E5BA532FAFEC47508323E671327DF9444432CB7367CEC82F5D44C0D00B67D650A075CD4B70DEDD77EB9B10231B6B5B741347396D62897421D43DF9B42E446E358E9C11A9B2184ECBEF0CD8E7A877EF968F1390EC9B3D35A5585CB009290E2FCDE7B5EC66D9084BE44055A619D9DD7FC3166F9487F7CB272912426445998514C15D53A18C864CE3A2B7555793988126520EACF2E3066E230C91BEE4DD5304F5FD0405B35BD99C73135D3D9BC335EE049EF69B3867BF2D7BD1EAA595D8BFC0066FF8D31509EB0C6CAA006C807A623EF84C3D33C195D23EE320C40DE0558157C822D4B8C569D849AED59D4E0FD7F379586B4B7FF684ED6A189F7486D49B9C4BAD9BA24B96ABF924372C8A8FFFB10D55354900A77A3DB5F205E1B99FCD8660863A159AD4ABE40FA48934163DDDE542A6585540FD683CBFD8C00F12129A284DEACC4CDEFE58BE7137541C047126C8D49E2755AB181AB7E940B0C0</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+
+<action>
+	<actionname>Null Vector Test 1 -- oh the humour</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>NULL</ciphertype>
+			<input>6284093818384927</input>
+			<output>6284093818384927</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Null Vector Test 2 -- oh the humour</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>NULL</ciphertype>
+			<input>984908728230972B34</input>
+			<output>984908728230972B34</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+//Start of OOM testing
+//This section contains a copy of the first vector for each cipher type
+<action>
+    <actionname>OOM start</actionname>
+    <actiontype>startmemfailure</actiontype>
+    <actionbody></actionbody>
+    <actionresult>
+        <return>KErrNone</return>
+    </actionresult>
+</action>
+<action>
+	<actionname>DES ECB Vector Test 0 (OOM)</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESECB</ciphertype>
+			<key>10316E028C8F3B4A</key>
+			<input>0000000000000000</input>
+			<output>82DCBAFBDEAB6602</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Vector Test 0 (OOM)</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>DESCBC</ciphertype>
+			<key>10316E028C8F3B4A</key>
+			<input>0000000000000000</input>
+			<output>82DCBAFBDEAB6602</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES ECB Vector Test 0 (OOM)</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESECB</ciphertype>
+			<key>10316E028C8F3B4A10316E028C8F3B4A10316E028C8F3B4A</key>
+			<input>0000000000000000</input>
+			<output>82DCBAFBDEAB6602</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>3 DES CBC Vector Test 0 (OOM)</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>3DESCBC</ciphertype>
+			<key>10316E028C8F3B4A10316E028C8F3B4A10316E028C8F3B4A</key>
+			<input>0000000000000000</input>
+			<output>82DCBAFBDEAB6602</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 ECB Vector Test 0 (OOM)</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2ECB</ciphertype>
+			<key>88</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>0000000000000000</input>
+			<output>61A8A244ADACCCF0</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC2 CBC Vector Test 0 (OOM)</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC2CBC</ciphertype>
+			<key>0000000000000000</key>
+			<effectiveKeyLength>64</effectiveKeyLength>
+			<input>0000000000000000</input>
+			<output>EBB773F993278EFF</output>
+			<iv>0000000000000000</iv>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>RC4 Vector Test 0 (OOM)</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>RC4</ciphertype>
+			<key>70E40040838C10495A4B31551D2A18EF</key>
+			<input>9017E9CEB5ECDD634860A86C1BB51663A5244CED6125B0359DAE984EDE35C86D</input>
+			<output>1400000C12C873074727389C1041B96E3BF94260A8772A294823ACA42EF21651</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>Null Vector Test 1 -- oh the humour (OOM)</actionname>
+	<actiontype>Vector</actiontype>
+	<actionbody>
+		<vector>
+			<ciphertype>NULL</ciphertype>
+			<input>6284093818384927</input>
+			<output>6284093818384927</output>
+			<result>ETrue</result>
+		</vector>
+	</actionbody>
+	<actionresult>
+		<return>KErrNone</return>
+	</actionresult>
+</action>
+<action>
+    <actionname>OOM end</actionname>
+    <actiontype>stopmemfailure</actiontype>
+    <actionbody></actionbody>
+    <actionresult>
+        <return>KErrNone</return>
+    </actionresult>
+</action>
+<action>
+	<actionname>DES ECB Weak Key Test</actionname>
+	<actiontype>Incremental</actiontype>
+	<actionbody>
+		<incremental>
+			<ciphertype>DESECB_WKT</ciphertype>
+			<key>0101010101010101</key>
+			<input>012345678901234567</input>
+		</incremental>
+	</actionbody>
+	<actionresult>
+		<return>KErrWeakKey</return>
+	</actionresult>
+</action>
+<action>
+	<actionname>DES CBC Weak Key Test</actionname>
+	<actiontype>Incremental</actiontype>
+	<actionbody>
+		<incremental>
+			<ciphertype>DESCBC_WKT</ciphertype>
+			<key>E01FE01FF10EF10E</key>
+			<input>012345678901234567</input>
+			<iv>8877665544332211</iv>
+		</incremental>
+	</actionbody>
+	<actionresult>
+		<return>KErrWeakKey</return>
+	</actionresult>
+</action>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tsymmetric/tactionincremental.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,253 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include "tactionincremental.h"
+#include "symmetric.h"
+#include "des.h"
+
+CTestAction* CActionIncremental::NewL(RFs& aFs,
+									   CConsoleBase& aConsole,
+									   Output& aOut, 
+									   const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction* self = CActionIncremental::NewLC(aFs, aConsole,
+		aOut, aTestActionSpec);
+	CleanupStack::Pop();
+	return self;
+	}
+
+CTestAction* CActionIncremental::NewLC(RFs& aFs,
+										CConsoleBase& aConsole,
+										Output& aOut, 
+										const TTestActionSpec& aTestActionSpec)
+	{
+	CActionIncremental* self = new(ELeave) CActionIncremental(aFs, aConsole, aOut);
+	CleanupStack::PushL(self);
+	self->ConstructL(aTestActionSpec);
+	return self;
+	}
+
+CActionIncremental::~CActionIncremental()
+{
+}
+
+CActionIncremental::CActionIncremental(RFs& aFs, 
+								 CConsoleBase& aConsole,
+								 Output& aOut)						 
+: CCryptoTestAction(aFs, aConsole, aOut)
+{}
+
+void CActionIncremental::DoPerformPostrequisiteL()
+{
+	delete iEncryptor;
+	delete iDecryptor;
+}
+
+void CActionIncremental::DoPerformPrerequisiteL()
+{
+	TInt err = KErrNone;
+	TInt pos = 0;
+	TPtrC8 incremental = Input::ParseElement(*iBody, KIncrementalStart, KIncrementalEnd, pos, err);
+
+	DoInputParseL(incremental);
+
+	CBlockTransformation* encryptor = NULL;
+	CBlockTransformation* decryptor = NULL;
+
+	iEncryptor =0;
+	iDecryptor =0;
+
+	switch (iCipherType)
+	{
+		case (EDESECB):
+		{
+			//If the test is weak key test
+			if(iExpectedWeakResult == KErrWeakKey)
+				{
+				//we expect to leave with KErrWeakKey reason
+				if(CDES::IsWeakKey(iKey->Des()))
+					{
+					User::Leave(KErrWeakKey);
+					}
+				else //test is unsuccessful, leave with a different reason
+					{
+					User::Leave(KErrGeneral);
+					}	
+				}
+			encryptor = CDESEncryptor::NewLC(iKey->Des());
+			decryptor = CDESDecryptor::NewL(iKey->Des());
+			CleanupStack::Pop(encryptor);
+		}
+		break;
+		case (EDESCBC):
+		{
+			CBlockTransformation* desEncryptor = NULL;
+			CBlockTransformation* desDecryptor = NULL;
+			
+			if(iExpectedWeakResult == KErrWeakKey)
+				{
+				if(CDES::IsWeakKey(iKey->Des()))
+					{
+					User::Leave(KErrWeakKey);
+					}
+				else
+					{
+					User::Leave(KErrGeneral);
+					}	
+				}
+			desEncryptor = CDESEncryptor::NewLC(iKey->Des());
+			desDecryptor = CDESDecryptor::NewLC(iKey->Des());
+			
+			encryptor = CModeCBCEncryptor::NewL(desEncryptor, iIV->Des());
+			CleanupStack::PushL(encryptor);
+			decryptor = CModeCBCDecryptor::NewL(desDecryptor, iIV->Des());		
+			CleanupStack::Pop(3);
+		}
+		break;
+		case (E3DESECB):
+		{
+			encryptor = C3DESEncryptor::NewLC(iKey->Des());
+			decryptor = C3DESDecryptor::NewL(iKey->Des());
+			CleanupStack::Pop(encryptor);
+		}
+		break;
+		case (E3DESCBC):
+		{
+			CBlockTransformation* the3DESencryptor = NULL;
+			CBlockTransformation* the3DESdecryptor = NULL;
+
+			the3DESencryptor = C3DESEncryptor::NewLC(iKey->Des());
+			the3DESdecryptor = C3DESDecryptor::NewLC(iKey->Des());
+			
+			encryptor = CModeCBCEncryptor::NewL(the3DESencryptor, iIV->Des());
+			CleanupStack::PushL(encryptor);
+			decryptor = CModeCBCDecryptor::NewL(the3DESdecryptor, iIV->Des());		
+			CleanupStack::Pop(3);
+		}
+		break;
+		case (EAESECB):
+		{
+			encryptor = CAESEncryptor::NewLC(iKey->Des());
+			decryptor = CAESDecryptor::NewL(iKey->Des());
+			CleanupStack::Pop(encryptor);
+		}
+		break;
+		case (ERC2ECB):
+		{
+			encryptor = CRC2Encryptor::NewLC(iKey->Des(), iEffectiveKeyLen);
+			decryptor = CRC2Decryptor::NewL(iKey->Des(), iEffectiveKeyLen);
+			CleanupStack::Pop(encryptor);
+		}
+		break;
+		case (ERC2CBC):
+		{
+			encryptor = CRC2Encryptor::NewLC(iKey->Des(), iEffectiveKeyLen);
+			decryptor = CRC2Decryptor::NewL(iKey->Des(), iEffectiveKeyLen);
+			CleanupStack::Pop(encryptor);
+		}
+		break;
+		case (ERC4):
+		{
+			iEncryptor = CARC4::NewL(*iKey, 0); 
+			iDecryptor = CARC4::NewL(*iKey, 0); 
+		}
+		break;
+		case (ECipherNull):
+		{
+			iEncryptor = CNullCipher::NewL(); 
+			iDecryptor = CNullCipher::NewL(); 
+		}
+		break;	
+		default:
+			ASSERT(0);
+			User::Leave(KErrNotSupported);
+	}
+
+	CleanupStack::PushL(encryptor);
+	CleanupStack::PushL(decryptor);
+	if(!iEncryptor && !iDecryptor)
+		{
+		CPaddingSSLv3* dPadding = CPaddingSSLv3::NewLC(decryptor->BlockSize());
+		CPaddingSSLv3* ePadding = CPaddingSSLv3::NewLC(encryptor->BlockSize());
+		iEncryptor = CBufferedEncryptor::NewL(encryptor, ePadding);
+		CleanupStack::Pop(ePadding);
+		iDecryptor = CBufferedDecryptor::NewL(decryptor, dPadding);
+		CleanupStack::Pop(dPadding);
+		}
+
+	CleanupStack::Pop(2, encryptor);
+
+	iEResult = HBufC8::NewMaxL(iEncryptor->MaxFinalOutputLength(iInput->Length()));
+	iDResult = HBufC8::NewMaxL(iDecryptor->MaxFinalOutputLength(iEResult->Size()));
+}
+
+void CActionIncremental::DoPerformActionL()
+	{
+	TRAPD(res, DoDoPerformActionL())
+	if(res == KErrNoMemory)
+		{
+		iEncryptor->Reset();
+		iDecryptor->Reset();
+		}
+	}
+
+void CActionIncremental::DoDoPerformActionL()
+{
+	__UHEAP_MARK;
+	iResult = ETrue;
+	TPtr8 eResultActual = iEResult->Des();
+	eResultActual.FillZ(eResultActual.MaxLength());
+	eResultActual.SetLength(0);
+
+	TPtr8 dResultActual = iDResult->Des();
+	dResultActual.FillZ(dResultActual.MaxLength());
+	dResultActual.SetLength(0);
+
+	TInt len = iInput->Length();
+	for(TInt i=1; i<len; i++)
+	{
+		TInt j = 0;
+		for(; j+i<len; j+=i)
+		{//	encryption in blocks of size i
+			iEncryptor->Process(iInput->Mid(j,i), eResultActual);
+		}
+	
+		iEncryptor->ProcessFinalL(iInput->Mid(j), eResultActual);
+		
+		j=0;
+		for(; (j+(len-i))<len; j+=(len-i))
+		{//	Decryption in blocks of size (len - i)
+			iDecryptor->Process(eResultActual.Mid(j, len-i), dResultActual);
+		}
+		
+		iDecryptor->ProcessFinalL(eResultActual.Mid(j), dResultActual);
+		
+		if(dResultActual != *iInput)
+		{
+			iResult = EFalse;
+		}
+		
+		eResultActual.FillZ(eResultActual.MaxLength());
+		dResultActual.FillZ(dResultActual.MaxLength());
+		eResultActual.SetLength(0);
+		dResultActual.SetLength(0);
+	}
+	__UHEAP_MARKEND;
+
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tsymmetric/tactionincremental.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,46 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#ifndef __TACTIONINCREMENTAL_H__
+#define __TACTIONINCREMENTAL_H__
+
+#include "cryptotestaction.h"
+#include "padding.h"
+#include <symmetric.h>
+
+class CActionIncremental : public CCryptoTestAction
+{
+public:
+	static CTestAction* NewL(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	static CTestAction* NewLC(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	virtual ~CActionIncremental();	
+protected:
+	CActionIncremental(RFs& aFs, CConsoleBase& aConsole, Output& aOut);
+protected:
+	virtual void DoPerformActionL();
+	virtual void DoDoPerformActionL();
+	virtual void DoPerformPrerequisiteL();
+	virtual void DoPerformPostrequisiteL();
+private:
+	CSymmetricCipher* iEncryptor;
+	CSymmetricCipher* iDecryptor;
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tsymmetric/tactionmontecarlo.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,261 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include "tactionmontecarlo.h"
+#include "bufferedtransformation.h"
+#include "rijndael.h"
+#include "cbcmode.h"
+#include "padding.h"
+
+const TInt KAESBlockSizeBytes = 16;	//	128 bits
+
+CTestAction* CActionMonteCarlo::NewL(RFs& aFs,
+									   CConsoleBase& aConsole,
+									   Output& aOut, 
+									   const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction* self = CActionMonteCarlo::NewLC(aFs, aConsole,
+		aOut, aTestActionSpec);
+	CleanupStack::Pop();
+	return self;
+	}
+
+CTestAction* CActionMonteCarlo::NewLC(RFs& aFs,
+										CConsoleBase& aConsole,
+										Output& aOut, 
+										const TTestActionSpec& aTestActionSpec)
+	{
+	CActionMonteCarlo* self = new(ELeave) CActionMonteCarlo(aFs, aConsole, aOut);
+	CleanupStack::PushL(self);
+	self->ConstructL(aTestActionSpec);
+	return self;
+	}
+
+CActionMonteCarlo::~CActionMonteCarlo()
+{
+	delete iEncrypt;
+	delete iDecrypt;
+}
+
+CActionMonteCarlo::CActionMonteCarlo(RFs& aFs, 
+								 CConsoleBase& aConsole,
+								 Output& aOut)
+								 
+: CCryptoTestAction(aFs, aConsole, aOut)
+{}
+
+
+void CActionMonteCarlo::DoPerformPrerequisiteL()
+{
+	TInt err = KErrNone;
+	TInt pos = 0;
+	TPtrC8 monteCarlo = Input::ParseElement(*iBody, KMonteCarloStart, KMonteCarloEnd, pos, err);
+
+	DoInputParseL(monteCarlo);
+
+	CBlockTransformation* encryptor = NULL;
+	CBlockTransformation* decryptor = NULL;
+
+	switch (iCipherType)
+	{
+		case (EAESMonteCarloEncryptECB):
+		{
+			encryptor = CAESEncryptor::NewLC(iKey->Des());
+		}
+		break;
+		case (EAESMonteCarloDecryptECB):
+		{
+			decryptor = CAESDecryptor::NewLC(iKey->Des());
+		}
+		break;
+		case (EAESMonteCarloEncryptCBC):
+		{
+			CBlockTransformation* aesEncryptor = NULL;		
+			aesEncryptor = CAESEncryptor::NewLC(iKey->Des());
+			
+			encryptor = CModeCBCEncryptor::NewL(aesEncryptor, iIV->Des());
+			CleanupStack::Pop(aesEncryptor);
+			CleanupStack::PushL(encryptor);		
+		}
+		break;
+		case (EAESMonteCarloDecryptCBC):
+		{
+			CBlockTransformation* aesDecryptor = NULL;		
+			aesDecryptor = CAESDecryptor::NewLC(iKey->Des());
+			
+			decryptor = CModeCBCDecryptor::NewL(aesDecryptor, iIV->Des());
+			CleanupStack::Pop(aesDecryptor);
+			CleanupStack::PushL(decryptor);		
+		}
+		break;
+		default:
+		{
+			ASSERT(0);
+			User::Leave(KErrNotSupported);
+		}
+	}
+	
+
+	CPaddingSSLv3* padding = 0;
+	if (encryptor)
+		{
+		padding = CPaddingSSLv3::NewLC(encryptor->BlockSize());
+		iEncrypt = CBufferedEncryptor::NewL(encryptor, padding);	
+		iEResult = HBufC8::NewMaxL(iEncrypt->MaxOutputLength(iInput->Length()));
+		}
+	else if (decryptor)
+		{
+		padding = CPaddingSSLv3::NewLC(decryptor->BlockSize());
+		iDecrypt = CBufferedDecryptor::NewL(decryptor, padding);
+		iDResult = HBufC8::NewMaxL(iDecrypt->MaxOutputLength(iInput->Size()));
+		}
+
+	CleanupStack::Pop(2);	//	padding, encryptor/decryptor
+
+}
+
+
+void CActionMonteCarlo::DoPerformActionL()
+{
+	iResult = EFalse;
+
+	__ASSERT_DEBUG(iInput->Size()==KAESBlockSizeBytes, User::Panic(_L("tsymmetric"), KErrNotSupported));
+	
+	if (iCipherType==EAESMonteCarloEncryptECB)
+		DoAESEncryptECB();
+	else if (iCipherType==EAESMonteCarloDecryptECB)
+		DoAESDecryptECB();	
+	else if (iCipherType==EAESMonteCarloEncryptCBC)
+		DoAESEncryptCBC();
+	else if (iCipherType==EAESMonteCarloDecryptCBC)
+		DoAESDecryptCBC();
+	else
+		User::Leave(KErrNotSupported);
+}
+
+void CActionMonteCarlo::DoAESEncryptECB()
+{
+	TPtr8 theEncryptResult(iEResult->Des());
+	theEncryptResult.FillZ(theEncryptResult.MaxLength());
+	theEncryptResult.SetLength(0);
+
+	TInt index = 0;
+	TPtr8 theInput(iInput->Des());
+	for (; index < KMonteCarloIterations; index++)
+	{
+		iEncrypt->Process(theInput, theEncryptResult);	
+		theInput.Copy(theEncryptResult);
+		theEncryptResult.FillZ(theEncryptResult.MaxLength());
+		theEncryptResult.SetLength(0);
+	}
+	
+	if (*iOutput==*iEResult)
+	{	
+		iResult = ETrue;
+	}
+}
+
+void CActionMonteCarlo::DoAESDecryptECB()
+{
+	TPtr8 theDecryptResult(iDResult->Des());
+	theDecryptResult.FillZ(theDecryptResult.MaxLength());
+	theDecryptResult.SetLength(0);
+
+	TInt index = 0;
+	TPtr8 theInput(iInput->Des());
+	for (; index < KMonteCarloIterations; index++)
+	{
+		iDecrypt->Process(theInput, theDecryptResult);	
+		theInput.Copy(theDecryptResult);
+		theDecryptResult.FillZ(theDecryptResult.MaxLength());
+		theDecryptResult.SetLength(0);
+	}
+	
+	if (*iOutput==*iInput)
+	{	
+		iResult = ETrue;
+	}
+}
+
+void CActionMonteCarlo::DoAESEncryptCBC()
+    {	
+	TPtr8 theEncryptResult(iEResult->Des());
+	theEncryptResult.FillZ(theEncryptResult.MaxLength());
+	theEncryptResult.SetLength(0);
+
+	TInt index = 0;
+	TPtr8 theInput(iInput->Des());
+
+	TBuf8<KAESBlockSizeBytes> nextBuf;
+	nextBuf.FillZ(KAESBlockSizeBytes);
+
+    for (; index < KMonteCarloIterations-1; index++)
+	    {
+	    iEncrypt->Process(theInput, theEncryptResult);	
+
+	    if (index==0)
+		theInput.Copy(*iIV);	//	First loop, use the original IV as next PT block
+		else	
+		theInput.Copy(nextBuf);	//	Use previous CT block as next PT block
+		
+	    //	 Save CT block for next loop when it'll become the PT block	
+		nextBuf.Copy(theEncryptResult);
+	    //	 Reset for next encryption	
+		theEncryptResult.FillZ(theEncryptResult.MaxLength());
+		theEncryptResult.SetLength(0);
+	    }
+	
+    iEncrypt->Process(theInput, theEncryptResult);	
+	
+	if  (theEncryptResult.Compare(*iOutput)==KErrNone)
+	    {	
+	    iResult = ETrue;
+	    }
+
+    }
+
+void CActionMonteCarlo::DoAESDecryptCBC()
+    {
+	TPtr8 theDecryptResult(iDResult->Des());
+	theDecryptResult.FillZ(theDecryptResult.MaxLength());
+	theDecryptResult.SetLength(0);
+
+	TInt index = 0;
+    TPtr8 theInput(iInput->Des());
+
+    for (; index < KMonteCarloIterations-1; index++)
+	    {
+	    iDecrypt->Process(theInput, theDecryptResult);	
+		
+		//	Use previous PT block as next CT block
+	 	theInput.Copy(theDecryptResult);
+
+	    //  Reset for next decryption	
+		theDecryptResult.FillZ(theDecryptResult.MaxLength());
+		theDecryptResult.SetLength(0);
+	    }
+	
+    // Last loop	
+    iDecrypt->Process(theInput, theDecryptResult);	
+
+	if (theDecryptResult.Compare(*iOutput)==KErrNone)
+ 	   {	
+	   iResult = ETrue;
+	   }
+
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tsymmetric/tactionmontecarlo.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,52 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#ifndef __TACTIONMONTECARLO_H__
+#define __TACTIONMONTECARLO_H__
+
+#include "cryptotestaction.h"
+
+class CBufferedEncryptor;	//	Forward declare
+class CBufferedDecryptor;	//	Forward declare
+
+const TInt KMonteCarloIterations = 10000;
+
+class CActionMonteCarlo : public CCryptoTestAction
+{
+public:
+	static CTestAction* NewL(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	static CTestAction* NewLC(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	virtual ~CActionMonteCarlo();
+protected:
+	CActionMonteCarlo(RFs& aFs, CConsoleBase& aConsole, Output& aOut);
+protected:
+	virtual void DoPerformPrerequisiteL();
+	virtual void DoPerformActionL();
+protected:
+	void DoAESEncryptECB();
+	void DoAESDecryptECB();
+	void DoAESEncryptCBC();
+	void DoAESDecryptCBC();
+protected:
+	CBufferedEncryptor* iEncrypt;
+	CBufferedDecryptor* iDecrypt;
+};
+
+#endif	//	__TACTIONMONTECARLO_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tsymmetric/tactionvector.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,264 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include "tactionvector.h"
+#include "symmetric.h"
+
+CTestAction* CActionVector::NewL(RFs& aFs,
+									   CConsoleBase& aConsole,
+									   Output& aOut, 
+									   const TTestActionSpec& aTestActionSpec)
+{
+	CTestAction* self = CActionVector::NewLC(aFs, aConsole,
+		aOut, aTestActionSpec);
+	CleanupStack::Pop();
+	return self;
+}
+
+CTestAction* CActionVector::NewLC(RFs& aFs,
+										CConsoleBase& aConsole,
+										Output& aOut, 
+										const TTestActionSpec& aTestActionSpec)
+{
+	CActionVector* self = new(ELeave) CActionVector(aFs, aConsole, aOut);
+	CleanupStack::PushL(self);
+	self->ConstructL(aTestActionSpec);
+	return self;
+	}
+
+CActionVector::~CActionVector()
+{
+	delete iEncryptor;
+	delete iDecryptor;
+}
+
+CActionVector::CActionVector(RFs& aFs, 
+								 CConsoleBase& aConsole,
+								 Output& aOut)
+								 
+:	CCryptoTestAction(aFs, aConsole, aOut)
+{}
+
+
+void CActionVector::DoPerformPrerequisiteL()
+{
+	TInt err = KErrNone;
+	TInt pos = 0;
+	TPtrC8 vector = Input::ParseElement(*iBody, KVectorStart, KVectorEnd, pos, err);
+
+	DoInputParseL(vector);
+
+	CBlockTransformation* encryptor = NULL;
+	CBlockTransformation* decryptor = NULL;
+	iEncryptor = 0;
+	iDecryptor = 0;
+
+	switch (iCipherType)
+	{
+		case (EDESECB):
+		{
+			encryptor = CDESEncryptor::NewLC(iKey->Des());
+			decryptor = CDESDecryptor::NewL(iKey->Des());
+			CleanupStack::Pop(encryptor);
+		}
+		break;
+		case(EDESCBC):
+		{
+			CBlockTransformation* desEncryptor = NULL;
+			CBlockTransformation* desDecryptor = NULL;
+
+			desEncryptor = CDESEncryptor::NewLC(iKey->Des());
+			desDecryptor = CDESDecryptor::NewLC(iKey->Des());
+			
+			encryptor = CModeCBCEncryptor::NewL(desEncryptor, iIV->Des());
+			CleanupStack::PushL(encryptor);
+			decryptor = CModeCBCDecryptor::NewL(desDecryptor, iIV->Des());		
+
+			CleanupStack::Pop(3, desEncryptor);
+		}
+		break;
+		case (E3DESECB):
+		{
+			encryptor = C3DESEncryptor::NewLC(iKey->Des());
+			decryptor = C3DESDecryptor::NewL(iKey->Des());
+			CleanupStack::Pop(encryptor);
+		}
+		break;
+		case (E3DESCBC):
+		{
+			CBlockTransformation* the3DESencryptor = NULL;
+			CBlockTransformation* the3DESdecryptor = NULL;
+
+			the3DESencryptor = C3DESEncryptor::NewLC(iKey->Des());
+			the3DESdecryptor = C3DESDecryptor::NewLC(iKey->Des());
+			
+			encryptor = CModeCBCEncryptor::NewL(the3DESencryptor, iIV->Des());
+			CleanupStack::PushL(encryptor);
+			decryptor = CModeCBCDecryptor::NewL(the3DESdecryptor, iIV->Des());		
+
+			CleanupStack::Pop(3, the3DESencryptor);
+		}
+		break;
+		case (EAESECB):
+		{
+			encryptor = CAESEncryptor::NewLC(iKey->Des());
+			decryptor = CAESDecryptor::NewL(iKey->Des());
+			
+			CleanupStack::Pop(encryptor);
+		}
+		break;
+		case (ERC2ECB):
+		{
+			encryptor = CRC2Encryptor::NewLC(iKey->Des(), iEffectiveKeyLen);
+			decryptor = CRC2Decryptor::NewL(iKey->Des(), iEffectiveKeyLen);
+			CleanupStack::Pop(encryptor);
+		}
+		break;
+		case (ERC2CBC):
+		{
+			CBlockTransformation* theRC2encryptor = NULL;
+			CBlockTransformation* theRC2decryptor = NULL;
+
+			theRC2encryptor = CRC2Encryptor::NewLC(iKey->Des(), iEffectiveKeyLen);
+			theRC2decryptor = CRC2Decryptor::NewLC(iKey->Des(), iEffectiveKeyLen);
+			
+			encryptor = CModeCBCEncryptor::NewL(theRC2encryptor, iIV->Des());
+			CleanupStack::PushL(encryptor);
+			decryptor = CModeCBCDecryptor::NewL(theRC2decryptor, iIV->Des());		
+
+			CleanupStack::Pop(3, theRC2encryptor);
+		}
+		break;
+		case (ERC4):
+		{
+			iEncryptor = CARC4::NewL(*iKey,0);
+			iDecryptor = CARC4::NewL(*iKey,0);
+		}
+		break;
+		case (ECipherNull):
+		{
+			iEncryptor = CNullCipher::NewL();
+			iDecryptor = CNullCipher::NewL();
+		}
+		break;
+			
+		default:
+		{
+			ASSERT(0);
+			User::Leave(KErrNotSupported);
+		}
+	}
+	
+	CleanupStack::PushL(encryptor);
+	CleanupStack::PushL(decryptor);
+
+	if(!iEncryptor && !iDecryptor)
+		{
+		CPaddingSSLv3* dPadding = CPaddingSSLv3::NewLC(decryptor->BlockSize());
+		CPaddingSSLv3* ePadding = CPaddingSSLv3::NewLC(encryptor->BlockSize());
+		iEncryptor = CBufferedEncryptor::NewL(encryptor, ePadding);	
+		CleanupStack::Pop(ePadding);
+		iDecryptor = CBufferedDecryptor::NewL(decryptor, dPadding);
+		CleanupStack::Pop(dPadding);
+		}
+
+	iEResult = HBufC8::NewMaxL(iEncryptor->MaxOutputLength(iInput->Length()));
+	iDResult = HBufC8::NewMaxL(iDecryptor->MaxOutputLength(iEResult->Size()));
+
+	CleanupStack::Pop(2, encryptor);
+}
+
+void CActionVector::DoPerformActionL()
+{
+//	First perform the test blockwise (ie passing in one block at a time)	
+	TUint blockSize = iEncryptor->BlockSize();
+	TUint index = 0;
+	while (index <= (iInput->Size() - blockSize)) 
+	{
+		TPtr8 theEncryptResult((TUint8*)&(iEResult->operator[](index)), blockSize, blockSize);
+		theEncryptResult.FillZ(theEncryptResult.MaxLength());
+		theEncryptResult.SetLength(0);
+
+		TPtrC8 theEncryptInput(iInput->Mid(index, blockSize));	
+		iEncryptor->Process(theEncryptInput, theEncryptResult);
+
+		if (iOutput->Mid(index, blockSize) == theEncryptResult)
+			iResult = ETrue;
+		else
+			break;	//	No point doing any more
+	
+		index+=blockSize;
+	}
+	
+	if (*iOutput==*iEResult)
+	{
+		iResult = ETrue;
+
+		index = 0;
+		while (index <= (iEResult->Size()- blockSize))
+		{
+			TPtr8 theDecryptResult((TUint8*)&(iDResult->operator[](index)), blockSize, blockSize);
+			theDecryptResult.FillZ(theDecryptResult.MaxLength());
+			theDecryptResult.SetLength(0);
+
+			TPtrC8 theDecryptInput(iEResult->Mid(index, blockSize));
+			iDecryptor->Process(theDecryptInput, theDecryptResult);
+			
+			if(iInput->Mid(index, blockSize) != theDecryptResult)
+			{
+				iResult = EFalse;
+				break;	//	No point doing any more
+			}
+		
+			index+=blockSize;
+		}
+	
+		if (*iInput!=*iDResult)
+		iResult = EFalse;	
+	}
+	
+	
+	iEncryptor->Reset();
+	iDecryptor->Reset();
+//	Now, if input is longer than a single block, repeat passing all the data
+	if ((TUint)iInput->Size() > blockSize)
+	{
+		TPtr8 theEncryptResult(iEResult->Des());
+		theEncryptResult.FillZ(theEncryptResult.MaxLength());
+		theEncryptResult.SetLength(0);
+
+		TPtrC8 theInput(*iInput);
+		iEncryptor->Process(theInput, theEncryptResult);
+
+		if (*iOutput!=*iEResult)
+		{
+			iResult = EFalse;
+		}
+		else
+		{
+			TPtr8 theDecryptResult(iDResult->Des());
+			theDecryptResult.FillZ(theDecryptResult.MaxLength());
+			theDecryptResult.SetLength(0);
+
+			iDecryptor->Process(*iEResult, theDecryptResult);
+			if (*iInput!=*iDResult)
+				iResult = EFalse;
+		}
+	}
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tsymmetric/tactionvector.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,48 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#ifndef __TACTIONVECTOR_H__
+#define __TACTIONVECTOR_H__
+
+#include "cryptotestaction.h"
+#include <symmetric.h>
+
+class CBufferedEncryptor;	//	Forward declare
+class CBufferedDecryptor;	//	Forward declare
+
+class CActionVector : public CCryptoTestAction
+{
+public:
+	static CTestAction* NewL(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	static CTestAction* NewLC(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	virtual ~CActionVector();
+protected:
+	CActionVector(RFs& aFs, CConsoleBase& aConsole, Output& aOut);
+	void RunTest(void);
+	void TestPerformance(void);
+protected:
+	virtual void DoPerformActionL();
+	virtual void DoPerformPrerequisiteL();
+protected:
+	CSymmetricCipher* iEncryptor;
+	CSymmetricCipher* iDecryptor;
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tsymmetric/tperformancetest.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,632 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include "tperformancetest.h"
+#include "symmetric.h"
+#include <t_output.h>
+
+#ifndef _DEBUG
+_LIT(KPerfEFormat, "\tPerformance (encryption) : %f us/iteration (%i iterations in %iL us)\r\n");
+_LIT(KPerfDFormat, "\tPerformance (decryption) : %f us/iteration (%i iterations in %iL us)\r\n");
+_LIT(KTotalFormat, "\tPerformance (total) : %f us/iteration (%i iterations in %iL us)\r\n");
+_LIT(KPerfThroughput, "\tThroughput (total): %f MB/s\r\n");
+_LIT(KPerfThroughputAfterSetup, "\tThroughput after setup: %f MB/s\r\n");
+_LIT(KPerfEncryptorCreate, "\tPerformance (encryptor create) : %f us/iteration (%i iterations in %iL us)\r\n");
+_LIT(KPerfDecryptorCreate, "\tPerformance (decryptor create) : %f us/iteration (%i iterations in %iL us)\r\n");
+_LIT(KDataSize,"\tData input size : %i B\r\n");
+#endif
+
+CTestAction* CPerformanceTest::NewL(RFs& aFs,
+									   CConsoleBase& aConsole,
+									   Output& aOut, 
+									   const TTestActionSpec& aTestActionSpec)
+	{
+	CTestAction* self = CPerformanceTest::NewLC(aFs, aConsole,
+		aOut, aTestActionSpec);
+	CleanupStack::Pop();
+	return self;
+	}
+
+CTestAction* CPerformanceTest::NewLC(RFs& aFs,
+										CConsoleBase& aConsole,
+										Output& aOut, 
+										const TTestActionSpec& aTestActionSpec)
+	{
+	CPerformanceTest* self = new(ELeave) CPerformanceTest(aFs, aConsole, aOut);
+	CleanupStack::PushL(self);
+	self->ConstructL(aTestActionSpec);
+	return self;
+	}
+
+CPerformanceTest::~CPerformanceTest()
+{
+	delete iEncryptor;
+	delete iDecryptor;
+}
+
+CPerformanceTest::CPerformanceTest(RFs& aFs, 
+								 CConsoleBase& aConsole,
+								 Output& aOut)
+								 
+: CCryptoTestAction(aFs, aConsole, aOut)
+{}
+
+void CPerformanceTest::DoPerformPrerequisiteL()
+{
+#ifndef _DEBUG
+	TInt err = KErrNone;
+	TInt pos = 0;
+	TPtrC8 vector = Input::ParseElement(*iBody, KVectorStart, KVectorEnd, pos, err);
+
+	DoInputParseL(vector);
+
+	CBlockTransformation* encryptor = 0;
+	CBlockTransformation* decryptor = 0;
+
+	switch (iCipherType)
+	{
+		case (EDESECB):
+		{//	Time the length of time it takes to set up the key schedule,
+		//	save it and add to encrypt time, to be consistent with old API
+		//	for comparison purposes (old API does both set up and encrypt/decrypt
+		//	in a single operation).
+			TTime startTime;
+			TTime endTime;
+			TTimeIntervalSeconds diff(0);
+			const TTimeIntervalSeconds iterationTime(iIterationTime);
+			
+			encryptor = CDESEncryptor::NewL(iKey->Des());
+			iEncryptIterations = 0;
+			startTime.UniversalTime();	
+			while (diff < iterationTime)
+				{
+				encryptor->Reset();
+				iEncryptIterations++;
+				endTime.UniversalTime();
+				endTime.SecondsFrom(startTime, diff);
+				}
+			endTime.UniversalTime();
+			iEncryptorCreateTime = endTime.MicroSecondsFrom(startTime);
+
+			delete encryptor;
+			
+			decryptor = CDESDecryptor::NewL(iKey->Des());
+			
+			diff = 0;
+			iDecryptIterations = 0;
+			startTime.UniversalTime();	
+			while (diff < iterationTime)
+				{
+				decryptor->Reset();
+				iDecryptIterations++;
+				endTime.UniversalTime();
+				endTime.SecondsFrom(startTime, diff);
+				}
+			endTime.UniversalTime();
+			iDecryptorCreateTime = endTime.MicroSecondsFrom(startTime);
+
+			delete decryptor;
+
+			encryptor = CDESEncryptor::NewLC(iKey->Des());
+			decryptor = CDESDecryptor::NewL(iKey->Des());
+			CleanupStack::Pop(encryptor);
+		}
+		break;
+		case(EDESCBC):
+		{
+			CBlockTransformation* desEncryptor = NULL;
+			CBlockTransformation* desDecryptor = NULL;
+
+			desEncryptor = CDESEncryptor::NewLC(iKey->Des());								
+			encryptor = CModeCBCEncryptor::NewL(desEncryptor, iIV->Des());				
+			
+			TTime startTime;
+			TTime endTime;
+			TTimeIntervalSeconds diff(0);
+			const TTimeIntervalSeconds iterationTime(iIterationTime);
+
+			iEncryptIterations = 0;
+			startTime.UniversalTime();
+			while (diff < iterationTime)
+				{
+				iEncryptIterations++;
+				encryptor->Reset();
+				endTime.UniversalTime();
+				endTime.SecondsFrom(startTime, diff);
+				}
+			endTime.UniversalTime();
+			iEncryptorCreateTime = endTime.MicroSecondsFrom(startTime);
+
+			CleanupStack::Pop(1);
+			delete encryptor;
+
+			desDecryptor = CDESDecryptor::NewLC(iKey->Des());
+			decryptor = CModeCBCDecryptor::NewL(desDecryptor, iIV->Des());
+			
+			diff = 0;
+			iDecryptIterations = 0;
+			startTime.UniversalTime();
+			while (diff < iterationTime)
+				{
+				decryptor->Reset();
+				iDecryptIterations++;
+				endTime.UniversalTime();
+				endTime.SecondsFrom(startTime, diff);
+				}
+			endTime.UniversalTime();
+			iDecryptorCreateTime = endTime.MicroSecondsFrom(startTime);
+
+			CleanupStack::Pop(1);
+			delete decryptor;				
+
+			desEncryptor = CDESEncryptor::NewLC(iKey->Des());
+			desDecryptor = CDESDecryptor::NewLC(iKey->Des());
+			
+			encryptor = CModeCBCEncryptor::NewL(desEncryptor, iIV->Des());
+			CleanupStack::PushL(encryptor);
+			decryptor = CModeCBCDecryptor::NewL(desDecryptor, iIV->Des());					
+			CleanupStack::Pop(3);
+		}
+		break;
+		case (E3DESECB):
+		{
+			encryptor = C3DESEncryptor::NewL(iKey->Des());
+			TTime startTime;
+			TTime endTime;
+			TTimeIntervalSeconds diff(0);
+			const TTimeIntervalSeconds iterationTime(iIterationTime);
+
+			iEncryptIterations = 0;
+			startTime.UniversalTime();	
+			while (diff < iterationTime)
+				{
+				iEncryptIterations++;
+				encryptor->Reset();
+				endTime.UniversalTime();
+				endTime.SecondsFrom(startTime, diff);
+				}
+			endTime.UniversalTime();
+			iEncryptorCreateTime = endTime.MicroSecondsFrom(startTime);
+
+			delete encryptor;
+
+			diff = 0;
+			iDecryptIterations = 0;
+			decryptor = C3DESDecryptor::NewL(iKey->Des());
+			startTime.UniversalTime();	
+			while (diff < iterationTime)
+				{
+				decryptor->Reset();
+				iDecryptIterations++;
+				endTime.UniversalTime();
+				endTime.SecondsFrom(startTime, diff);
+				}
+			endTime.UniversalTime();
+			iDecryptorCreateTime = endTime.MicroSecondsFrom(startTime);
+			delete decryptor;
+
+			encryptor = C3DESEncryptor::NewLC(iKey->Des());
+			decryptor = C3DESDecryptor::NewL(iKey->Des());
+			CleanupStack::Pop(encryptor);
+		}
+		break;
+		case (E3DESCBC):
+		{
+			CBlockTransformation* the3DESencryptor = NULL;
+			CBlockTransformation* the3DESdecryptor = NULL;
+
+			the3DESencryptor = C3DESEncryptor::NewLC(iKey->Des());
+			encryptor = CModeCBCEncryptor::NewL(the3DESencryptor, iIV->Des());
+
+			TTime startTime;
+			TTime endTime;
+			TTimeIntervalSeconds diff(0);
+			const TTimeIntervalSeconds iterationTime(iIterationTime);
+
+			iEncryptIterations = 0;
+			startTime.UniversalTime();	
+			while (diff < iterationTime)
+				{
+				iEncryptIterations++;
+				encryptor->Reset();
+				endTime.UniversalTime();
+				endTime.SecondsFrom(startTime, diff);
+				}
+			endTime.UniversalTime();
+			iEncryptorCreateTime = endTime.MicroSecondsFrom(startTime);
+
+			CleanupStack::Pop(1);
+			delete encryptor;				
+
+			the3DESdecryptor = C3DESDecryptor::NewLC(iKey->Des());
+			decryptor = CModeCBCDecryptor::NewL(the3DESdecryptor, iIV->Des());		
+
+			diff = 0;
+			iDecryptIterations = 0;
+			startTime.UniversalTime();	
+			while (diff < iterationTime)
+				{
+				decryptor->Reset();
+				iDecryptIterations++;
+				endTime.UniversalTime();
+				endTime.SecondsFrom(startTime, diff);
+				}
+			endTime.UniversalTime();
+			iDecryptorCreateTime = endTime.MicroSecondsFrom(startTime);
+			CleanupStack::Pop(1);
+			delete decryptor;
+
+			the3DESencryptor = C3DESEncryptor::NewLC(iKey->Des());
+			the3DESdecryptor = C3DESDecryptor::NewLC(iKey->Des());
+			
+			encryptor = CModeCBCEncryptor::NewL(the3DESencryptor, iIV->Des());
+			CleanupStack::PushL(encryptor);
+			decryptor = CModeCBCDecryptor::NewL(the3DESdecryptor, iIV->Des());		
+			CleanupStack::Pop(3);
+		}
+		break;
+		case (EAESECB):
+		{
+			TTime startTime;
+			TTime endTime;
+			TTimeIntervalSeconds diff(0);
+			const TTimeIntervalSeconds iterationTime(iIterationTime);
+
+			iEncryptIterations = 0;
+			encryptor = CAESEncryptor::NewL(iKey->Des());
+			startTime.UniversalTime();
+			while (diff < iterationTime)
+				{
+				iEncryptIterations++;
+				encryptor->Reset();
+				endTime.UniversalTime();
+				endTime.SecondsFrom(startTime, diff);
+				}
+			endTime.UniversalTime();
+			iEncryptorCreateTime = endTime.MicroSecondsFrom(startTime);
+			delete encryptor;
+
+			diff = 0;
+			iDecryptIterations = 0;
+			decryptor = CAESDecryptor::NewL(iKey->Des());
+			startTime.UniversalTime();
+			while (diff < iterationTime)
+				{
+				decryptor->Reset();
+				iDecryptIterations++;
+				endTime.UniversalTime();
+				endTime.SecondsFrom(startTime, diff);
+				}
+			endTime.UniversalTime();
+			iDecryptorCreateTime = endTime.MicroSecondsFrom(startTime);
+			delete decryptor;
+			
+			encryptor = CAESEncryptor::NewLC(iKey->Des());
+			decryptor = CAESDecryptor::NewL(iKey->Des());
+			CleanupStack::Pop(encryptor);
+		}
+		break;	
+		case (ERC2ECB):
+		{
+			TTime startTime;
+			TTime endTime;
+			TTimeIntervalSeconds diff(0);
+			const TTimeIntervalSeconds iterationTime(iIterationTime);
+
+			iEncryptIterations = 0;
+			encryptor = CRC2Encryptor::NewL(iKey->Des(), iEffectiveKeyLen);
+			startTime.UniversalTime();	
+			while (diff < iterationTime)
+				{
+				iEncryptIterations++;
+				encryptor->Reset();
+				endTime.UniversalTime();
+				endTime.SecondsFrom(startTime, diff);
+				}
+			endTime.UniversalTime();
+			iEncryptorCreateTime = endTime.MicroSecondsFrom(startTime);
+			delete encryptor;
+			
+			diff = 0;
+			decryptor = CRC2Decryptor::NewL(iKey->Des(), iEffectiveKeyLen);
+			iDecryptIterations = 0;
+			startTime.UniversalTime();	
+			while (diff < iterationTime)
+				{
+				decryptor->Reset();
+				iDecryptIterations++;
+				endTime.UniversalTime();
+				endTime.SecondsFrom(startTime, diff);
+				}
+			endTime.UniversalTime();
+			iDecryptorCreateTime = endTime.MicroSecondsFrom(startTime);
+			delete decryptor;
+
+			encryptor = CRC2Encryptor::NewLC(iKey->Des(), iEffectiveKeyLen);
+			decryptor = CRC2Decryptor::NewL(iKey->Des(), iEffectiveKeyLen);
+			CleanupStack::Pop(encryptor);
+		}
+		break;
+		case (ERC2CBC):
+		{
+			CBlockTransformation* theRC2encryptor = NULL;
+			CBlockTransformation* theRC2decryptor = NULL;
+
+			theRC2encryptor = CRC2Encryptor::NewLC(iKey->Des(), iEffectiveKeyLen);
+			encryptor = CModeCBCEncryptor::NewL(theRC2encryptor, iIV->Des());
+
+			TTime startTime;
+			TTime endTime;
+			TTimeIntervalSeconds diff(0);
+			const TTimeIntervalSeconds iterationTime(iIterationTime);
+
+			iEncryptIterations = 0;
+			startTime.UniversalTime();
+			while (diff < iterationTime)
+				{
+				iEncryptIterations++;
+				encryptor->Reset();
+				endTime.UniversalTime();
+				endTime.SecondsFrom(startTime, diff);
+				}
+			endTime.UniversalTime();
+			iEncryptorCreateTime = endTime.MicroSecondsFrom(startTime);
+			CleanupStack::Pop(1);
+			delete encryptor;
+
+			diff = 0;
+			iDecryptIterations = 0;
+			theRC2decryptor = CRC2Decryptor::NewLC(iKey->Des(), iEffectiveKeyLen);
+			decryptor = CModeCBCDecryptor::NewL(theRC2decryptor, iIV->Des());		
+			startTime.UniversalTime();
+			while (diff < iterationTime)
+				{
+				decryptor->Reset();
+				iDecryptIterations++;
+				endTime.UniversalTime();
+				endTime.SecondsFrom(startTime, diff);
+				}
+			endTime.UniversalTime();
+			iDecryptorCreateTime = endTime.MicroSecondsFrom(startTime);
+			CleanupStack::Pop(1);
+			delete decryptor;
+
+			theRC2encryptor = CRC2Encryptor::NewLC(iKey->Des(), iEffectiveKeyLen);
+			theRC2decryptor = CRC2Decryptor::NewLC(iKey->Des(), iEffectiveKeyLen);
+			
+			encryptor = CModeCBCEncryptor::NewL(theRC2encryptor, iIV->Des());
+			CleanupStack::PushL(encryptor);
+			decryptor = CModeCBCDecryptor::NewL(theRC2decryptor, iIV->Des());		
+			CleanupStack::Pop(3);
+		}
+		break;
+		case (ERC4):
+		{
+			iEncryptor = CARC4::NewL(*iKey);
+			TTime startTime;
+			TTime endTime;
+			TTimeIntervalSeconds diff(0);
+			const TTimeIntervalSeconds iterationTime(iIterationTime);
+
+			iEncryptIterations = 0;
+			startTime.UniversalTime();	
+			while (diff < iterationTime)
+				{
+				iEncryptIterations++;
+				iEncryptor->Reset();
+				endTime.UniversalTime();
+				endTime.SecondsFrom(startTime, diff);
+				}
+			endTime.UniversalTime();
+			iEncryptorCreateTime = endTime.MicroSecondsFrom(startTime);
+
+			diff = 0;			
+			iDecryptIterations = 0;
+			iDecryptor = CARC4::NewL(*iKey);
+			startTime.UniversalTime();	
+			while (diff < iterationTime)
+				{
+				iDecryptor->Reset();
+				iDecryptIterations++;
+				endTime.UniversalTime();
+				endTime.SecondsFrom(startTime, diff);
+				}
+			endTime.UniversalTime();
+			iDecryptorCreateTime = endTime.MicroSecondsFrom(startTime);
+		}
+		break;
+		case (ECipherNull):
+		{
+			iEncryptor = CNullCipher::NewL();
+			TTime startTime;
+			TTime endTime;
+			TTimeIntervalSeconds diff(0);
+			const TTimeIntervalSeconds iterationTime(iIterationTime);
+
+			iEncryptIterations = 0;
+			startTime.UniversalTime();	
+			while (diff < iterationTime)
+				{
+				iEncryptIterations++;
+				iEncryptor->Reset();
+				endTime.UniversalTime();
+				endTime.SecondsFrom(startTime, diff);
+				}
+			endTime.UniversalTime();
+			iEncryptorCreateTime = endTime.MicroSecondsFrom(startTime);
+			
+			diff = 0;
+			iDecryptIterations = 0;
+			iDecryptor = CNullCipher::NewL();
+			startTime.UniversalTime();	
+			while (diff < iterationTime)
+				{
+				iDecryptor->Reset();
+				iDecryptIterations++;
+				endTime.UniversalTime();
+				endTime.SecondsFrom(startTime, diff);
+				}
+			endTime.UniversalTime();
+			iDecryptorCreateTime = endTime.MicroSecondsFrom(startTime);
+		}
+		break;
+			
+		default:
+		{
+			ASSERT(0);
+			User::Leave(KErrNotSupported);
+		}
+	}
+	
+	if( encryptor && decryptor )
+		{
+		CleanupStack::PushL(encryptor);
+		CleanupStack::PushL(decryptor);
+		
+		CPaddingSSLv3* ePadding = CPaddingSSLv3::NewLC(encryptor->BlockSize());
+		iEncryptor = CBufferedEncryptor::NewL(encryptor, ePadding);	
+		CleanupStack::Pop(ePadding);	
+		
+		CPaddingSSLv3* dPadding = CPaddingSSLv3::NewLC(decryptor->BlockSize());
+		iDecryptor = CBufferedDecryptor::NewL(decryptor, dPadding);
+		CleanupStack::Pop(dPadding);
+		CleanupStack::Pop(decryptor);
+		CleanupStack::Pop(encryptor);
+		}
+
+	// clear the default input and output fields and fill with random data
+	// since for performance testing we do not care about validating
+	// correct output
+	delete iInput;	
+	iInput = NULL;
+	iInput = HBufC8::NewMaxL(iRandDataSize);
+	TPtr8 tempPtr = iInput->Des();
+	TRandom::Random(tempPtr);	
+	TBuf<128> tempbuf;
+	tempbuf.Format(KDataSize, (iInput->Length()));
+	iOut.writeString(tempbuf);	
+	delete iOutput;
+	iOutput = NULL;
+	iOutput = HBufC8::NewMaxL(iRandDataSize);
+	TPtr8 tempPtr2 = iOutput->Des();
+	TRandom::Random(tempPtr2);	
+		
+	iEResult = HBufC8::NewMaxL(iEncryptor->MaxOutputLength(iInput->Length()));
+	iDResult = HBufC8::NewMaxL(iDecryptor->MaxOutputLength(iEResult->Size()));
+#endif
+}
+
+void CPerformanceTest::DoPerformActionL()
+{
+	iResult = ETrue;
+#ifndef _DEBUG
+	TBuf<128> buf;
+	TReal rate = I64REAL(iEncryptorCreateTime.Int64()) / iEncryptIterations;
+	buf.Format(KPerfEncryptorCreate, rate, iEncryptIterations, iEncryptorCreateTime.Int64());
+	iOut.writeString(buf);
+
+	TTime startTime;
+	TTime endTime;
+	TTimeIntervalSeconds diff(0);
+	const TTimeIntervalSeconds iterationTime(iIterationTime);
+	
+	iEncryptIterations = 0;
+	startTime.UniversalTime();
+	while (diff < iterationTime)
+		{
+		TPtr8 iEResultTemp(iEResult->Des());
+		iEResultTemp.Zero();
+
+		iEncryptor->Process(*iInput, iEResultTemp);
+		iEncryptIterations++;
+		endTime.UniversalTime();
+		endTime.SecondsFrom(startTime, diff);
+		}
+	endTime.UniversalTime();
+
+	TTimeIntervalMicroSeconds time = endTime.MicroSecondsFrom(startTime);
+	rate = I64REAL(time.Int64()) / iEncryptIterations;
+	buf.Format(KPerfEFormat, rate, iEncryptIterations, time.Int64());
+	iOut.writeString(buf);
+
+	rate = (static_cast<TReal>(iEncryptIterations) * iInput->Size() * 1000 * 1000) / (I64REAL(time.Int64()) * 1024 * 1024);	// Throughput in MB/s
+	buf.FillZ();
+	buf.Zero();
+	buf.Format(KPerfThroughputAfterSetup, rate);
+	iOut.writeString(buf);
+
+	TInt64 totalEncryptTime = time.Int64();
+	totalEncryptTime+=iEncryptorCreateTime.Int64();
+	rate = I64REAL(totalEncryptTime) / iEncryptIterations;
+	buf.FillZ();
+	buf.Zero();
+	buf.Format(KTotalFormat, rate, iEncryptIterations, totalEncryptTime);
+	iOut.writeString(buf);
+
+	rate = (static_cast<TReal>(iEncryptIterations) * iInput->Size() * 1000 * 1000) / (I64REAL(totalEncryptTime) * 1024 * 1024);	// Throughput in MB/s
+	buf.Zero();
+	buf.Format(KPerfThroughput, rate);
+	iOut.writeString(buf);
+
+//	Test decryption
+	rate = I64REAL(iDecryptorCreateTime.Int64()) / iDecryptIterations;
+	buf.Format(KPerfDecryptorCreate, rate, iDecryptIterations, iDecryptorCreateTime.Int64());
+	iOut.writeString(buf);
+	
+	diff = 0;
+	iDecryptIterations = 0;
+	startTime.UniversalTime();	
+	while (diff < iterationTime)
+		{
+		TPtr8 iDResultTemp(iDResult->Des());
+		iDResultTemp.Zero();
+		iDecryptor->Process(*iOutput, iDResultTemp);
+		iDecryptIterations++;
+		endTime.UniversalTime();
+		endTime.SecondsFrom(startTime, diff);
+		}
+	endTime.UniversalTime();
+
+	time = endTime.MicroSecondsFrom(startTime);	
+	rate = I64REAL(time.Int64()) / iDecryptIterations;
+	buf.FillZ();
+	buf.Zero();
+	buf.Format(KPerfDFormat, rate, iDecryptIterations, time.Int64());
+	iOut.writeString(buf);
+
+	rate = (static_cast<TReal>(iDecryptIterations) * iInput->Size() * 1000 * 1000) / (I64REAL(time.Int64()) * 1024 * 1024);	// Throughput in MB/s
+	buf.Zero();
+	buf.Format(KPerfThroughputAfterSetup, rate);
+	iOut.writeString(buf);
+
+	TInt64 totalDecryptTime = time.Int64();
+	totalDecryptTime+=iDecryptorCreateTime.Int64();
+	rate = I64REAL(totalDecryptTime) / iDecryptIterations;
+	buf.FillZ();
+	buf.Zero();
+	buf.Format(KTotalFormat, rate, iDecryptIterations, totalDecryptTime);
+	iOut.writeString(buf);
+	
+	rate = (static_cast<TReal>(iDecryptIterations) * iInput->Size() * 1000 * 1000) / (I64REAL(totalDecryptTime) * 1024 * 1024);	// Throughput in MB/s
+	buf.Zero();
+	buf.Format(KPerfThroughput, rate);
+	iOut.writeString(buf);
+	
+#endif
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tsymmetric/tperformancetest.h	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,44 @@
+/*
+* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#ifndef __TPERFORMANCETEST_H__
+#define __TPERFORMANCETEST_H__
+
+#include "cryptotestaction.h"
+
+class CSymmetricCipher;
+
+class CPerformanceTest : public CCryptoTestAction
+{
+public:
+	static CTestAction* NewL(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	static CTestAction* NewLC(RFs& aFs, CConsoleBase& aConsole,
+		Output& aOut, const TTestActionSpec& aTestActionSpec);
+	virtual ~CPerformanceTest();
+protected:
+	CPerformanceTest(RFs& aFs, CConsoleBase& aConsole, Output& aOut);
+protected:
+	void DoPerformActionL();
+	void DoPerformPrerequisiteL();	
+protected:
+	CSymmetricCipher* iEncryptor;
+	CSymmetricCipher* iDecryptor;
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcrypto/test/tsymmetric/tsymmetricmain.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -0,0 +1,133 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#include <e32base.h>
+#include "t_testhandler.h"
+#include "t_testsetup.h"
+#include "tscripttests.h"
+#include "tactionvector.h"
+#include "tperformancetest.h"
+#include "tactionincremental.h"
+#include "tactionmontecarlo.h"
+
+LOCAL_D void callExampleL() // initialize and call example code under cleanup stack
+{
+    START_SCRIPT_LIST
+	SCRIPT_ITEM(CActionVector,_L8("Vector")),
+	SCRIPT_ITEM(CPerformanceTest,_L8("Performance")),
+	SCRIPT_ITEM(CActionIncremental,_L8("Incremental")),
+	SCRIPT_ITEM(CActionMonteCarlo, _L8("MonteCarlo"))
+	END_SCRIPT_LIST
+	
+	TDriveUnit sysDrive (RFs::GetSystemDrive());
+	TDriveName sysDriveName (sysDrive.Name());
+	TBuf<64> scriptFile (sysDriveName);
+	scriptFile.Append(_L("\\tsymmetric\\tsymmetrictests.txt"));
+	
+	TBuf<64> logFile (sysDriveName);
+	logFile.Append(_L("\\tsymmetric\\tsymmetrictests.log"));
+	
+	
+//	RC2, RC4, DES, 3DES (ECB and CBC modes)
+/*	CTestSetup::CreateAndRunTestsL(theTestTypes, _L("c:\\tsymmetric\\symmetricOOMtests.txt"),
+		_L("c:\\tsymmetric\\symmetricOOMtests.log"));*/
+	CTestSetup::CreateAndRunTestsL(theTestTypes, scriptFile, logFile);
+
+//	CTestSetup::CreateAndRunTestsL(theTestTypes, _L("c:\\tsymmetric\\tsymmetricperformancetests.txt"),
+//		_L("c:\\tsymmetric\\tsymmetricperformancetests.log"));
+
+//	There are so many other test scripts because it is impossible to put all the test
+//	data in one big script.  The test framework just falls over with out of memory because
+//	it attempts to create all test objects at the start of the test.  All these tests
+//	are (of course) necessary hence they've been split.  Either run the top level build
+//	and test script or, if running this test specifically, uncomment the following and it'll run them
+//	all one after the other	
+//	AES (ECB) using Rijndael vectors for all table values	
+/*	CTestSetup::CreateAndRunTestsL(theTestTypes, _L("c:\\tsymmetric\\AESECBVectorsScript.txt"),
+		_L("c:\\tsymmetric\\aesecb_vectors.log"));
+
+//	AES (ECB) KAT using variable text, known key
+	CTestSetup::CreateAndRunTestsL(theTestTypes, _L("c:\\tsymmetric\\AESECB_KAT_VT.txt"),
+		_L("c:\\tsymmetric\\aesecb_kat_vt.log"));
+ 
+//	AES (ECB) KAT using variable key, known text
+	CTestSetup::CreateAndRunTestsL(theTestTypes, _L("c:\\tsymmetric\\AESECB_KAT_VK.txt"),
+		_L("c:\\tsymmetric\\aesecb_kat_vk.log"));
+
+//	AES Monte Carlo tests (ECB encrypt) with 128 bit key
+	CTestSetup::CreateAndRunTestsL(theTestTypes, _L("c:\\tsymmetric\\AESMonteCarloEncryptECB128.txt"),
+		_L("c:\\tsymmetric\\aesmontecarlo_encryptECB128.log"));
+
+//	AES Monte Carlo tests (ECB encrypt) with 192 bit key
+	CTestSetup::CreateAndRunTestsL(theTestTypes, _L("c:\\tsymmetric\\AESMonteCarloEncryptECB192.txt"),
+		_L("c:\\tsymmetric\\aesmontecarlo_encryptECB192.log"));
+
+//	AES Monte Carlo tests (ECB encrypt) with 256 bit key
+	CTestSetup::CreateAndRunTestsL(theTestTypes, _L("c:\\tsymmetric\\AESMonteCarloEncryptECB256.txt"),
+		_L("c:\\tsymmetric\\aesmontecarlo_encryptECB256.log"));
+
+//	AES Monte Carlo tests (ECB decrypt) with 128 bit key
+	CTestSetup::CreateAndRunTestsL(theTestTypes, _L("c:\\tsymmetric\\AESMonteCarloDecryptECB128.txt"),
+		_L("c:\\tsymmetric\\aesmontecarlo_decryptECB128.log"));
+
+//	AES Monte Carlo tests (ECB decrypt) with 192 bit key
+	CTestSetup::CreateAndRunTestsL(theTestTypes, _L("c:\\tsymmetric\\AESMonteCarloDecryptECB192.txt"),
+		_L("c:\\tsymmetric\\aesmontecarlo_decryptECB192.log"));
+
+//	AES Monte Carlo tests (ECB decrypt) with 256 bit key
+	CTestSetup::CreateAndRunTestsL(theTestTypes, _L("c:\\tsymmetric\\AESMonteCarloDecryptECB256.txt"),
+		_L("c:\\tsymmetric\\aesmontecarlo_decryptECB256.log"));
+
+//	AES Monte Carlo tests (CBC encrypt) with 128 bit key
+	CTestSetup::CreateAndRunTestsL(theTestTypes, _L("c:\\tsymmetric\\AESMonteCarloEncryptCBC128.txt"),
+		_L("c:\\tsymmetric\\aesmontecarlo_encryptCBC128.log"));
+
+//	AES Monte Carlo tests (CBC encrypt) with 192 bit key
+	CTestSetup::CreateAndRunTestsL(theTestTypes, _L("c:\\tsymmetric\\AESMonteCarloEncryptCBC192.txt"),
+		_L("c:\\tsymmetric\\aesmontecarlo_encryptCBC192.log"));
+
+//	AES Monte Carlo tests (CBC encrypt) with 256 bit key	
+	CTestSetup::CreateAndRunTestsL(theTestTypes, _L("c:\\tsymmetric\\AESMonteCarloEncryptCBC256.txt"),
+		_L("c:\\tsymmetric\\aesmontecarlo_encryptCBC256.log"));
+
+//	AES Monte Carlo tests (CBC decrypt) with 128 bit key
+	CTestSetup::CreateAndRunTestsL(theTestTypes, _L("c:\\tsymmetric\\AESMonteCarloDecryptCBC128.txt"),
+		_L("c:\\tsymmetric\\aesmontecarlo_decryptCBC128.log"));
+
+//	AES Monte Carlo tests (CBC decrypt) with 192 bit key
+	CTestSetup::CreateAndRunTestsL(theTestTypes, _L("c:\\tsymmetric\\AESMonteCarloDecryptCBC192.txt"),
+		_L("c:\\tsymmetric\\aesmontecarlo_decryptCBC192.log"));
+
+//	AES Monte Carlo tests (CBC decrypt) with 256 bit key
+	CTestSetup::CreateAndRunTestsL(theTestTypes, _L("c:\\tsymmetric\\AESMonteCarloDecryptCBC256.txt"),
+		_L("c:\\tsymmetric\\aesmontecarlo_decryptCBC256.log"));
+
+	CTestSetup::CreateAndRunTestsL(theTestTypes, _L("c:\\tsymmetric\\symmetricOOMtests.txt"),
+		_L("c:\\tsymmetric\\symmetricOOMtests.log"));
+*/}
+
+GLDEF_C TInt E32Main() // main function called by E32
+    {
+	__UHEAP_MARK;
+	CTrapCleanup* cleanup = CTrapCleanup::New(); // get clean-up stack
+	TRAPD(error, callExampleL());
+	__ASSERT_ALWAYS(!error,User::Panic(_L("tsymmetric"),error));
+	delete cleanup; // destroy clean-up stack
+	__UHEAP_MARKEND;
+	return 0;
+    }
--- a/crypto/weakcryptospi/group/ABLD.BAT	Thu May 27 14:32:46 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-@ECHO OFF
-
-REM Bldmake-generated batch file - ABLD.BAT
-REM ** DO NOT EDIT **
-
-perl -S ABLD.PL "\sf\os\security\crypto\weakcryptospi\group\\" %1 %2 %3 %4 %5 %6 %7 %8 %9
-if errorlevel==1 goto CheckPerl
-goto End
-
-:CheckPerl
-perl -v >NUL
-if errorlevel==1 echo Is Perl, version 5.003_07 or later, installed?
-goto End
-
-:End
--- a/crypto/weakcryptospi/group/security_cryptospi_strong.mrp	Thu May 27 14:32:46 2010 +0300
+++ b/crypto/weakcryptospi/group/security_cryptospi_strong.mrp	Fri Jun 11 15:32:35 2010 +0300
@@ -1,19 +1,3 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: 
-#
-
 component	security_cryptospi_strong
 source	\sf\os\security\crypto\weakcryptospi\BWINS
 source	\sf\os\security\crypto\weakcryptospi\docs
--- a/crypto/weakcryptospi/group/security_cryptospi_weak.mrp	Thu May 27 14:32:46 2010 +0300
+++ b/crypto/weakcryptospi/group/security_cryptospi_weak.mrp	Fri Jun 11 15:32:35 2010 +0300
@@ -1,19 +1,3 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: 
-#
-
 component security_cryptospi_weak
 binary  \sf\os\security\crypto\weakcryptospi\group all
 exports \sf\os\security\crypto\weakcryptospi\group security_cryptospi_strong
--- a/cryptomgmtlibs/cryptotokenfw/group/security_cryptotokens.mrp	Thu May 27 14:32:46 2010 +0300
+++ b/cryptomgmtlibs/cryptotokenfw/group/security_cryptotokens.mrp	Fri Jun 11 15:32:35 2010 +0300
@@ -1,19 +1,3 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: 
-#
-
 component	security_cryptotokens
 source	\sf\os\security\cryptomgmtlibs\cryptotokenfw
 binary	\sf\os\security\cryptomgmtlibs\cryptotokenfw\group	all
--- a/cryptomgmtlibs/securitycommonutils/group/security_commonutils.mrp	Thu May 27 14:32:46 2010 +0300
+++ b/cryptomgmtlibs/securitycommonutils/group/security_commonutils.mrp	Fri Jun 11 15:32:35 2010 +0300
@@ -1,18 +1,3 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: 
-#
 
 component	security_commonutils
 source	\sf\os\security\cryptomgmtlibs\securitycommonutils
--- a/cryptomgmtlibs/securitytestfw/group/security_testframework.mrp	Thu May 27 14:32:46 2010 +0300
+++ b/cryptomgmtlibs/securitytestfw/group/security_testframework.mrp	Fri Jun 11 15:32:35 2010 +0300
@@ -1,19 +1,3 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: 
-#
-
 component	security_testframework
 source	\sf\os\security\cryptomgmtlibs\securitytestfw\
 
--- a/cryptomgmtlibs/securityutils/group/security_common.mrp	Thu May 27 14:32:46 2010 +0300
+++ b/cryptomgmtlibs/securityutils/group/security_common.mrp	Fri Jun 11 15:32:35 2010 +0300
@@ -1,19 +1,3 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: 
-#
-
 component	security_common
 source    \sf\os\security\cryptomgmtlibs\securityutils
 binary	\sf\os\security\cryptomgmtlibs\securityutils\group all
--- a/cryptoplugins/cryptospiplugins/group/security_cryptospi_plugins.mrp	Thu May 27 14:32:46 2010 +0300
+++ b/cryptoplugins/cryptospiplugins/group/security_cryptospi_plugins.mrp	Fri Jun 11 15:32:35 2010 +0300
@@ -1,19 +1,3 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: 
-#
-
 component	security_cryptospi_plugins
 source	\sf\os\security\cryptoplugins\cryptospiplugins
 binary  \sf\os\security\cryptoplugins\cryptospiplugins\group all
--- a/cryptoservices/asnpkcs/group/security_asnpkcs.mrp	Thu May 27 14:32:46 2010 +0300
+++ b/cryptoservices/asnpkcs/group/security_asnpkcs.mrp	Fri Jun 11 15:32:35 2010 +0300
@@ -1,19 +1,3 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: 
-#
-
 component	security_asnpkcs
 source	\sf\os\security\cryptoservices\asnpkcs
 binary  \sf\os\security\cryptoservices\asnpkcs\group all
--- a/cryptoservices/certificateandkeymgmt/group/security_certman.mrp	Thu May 27 14:32:46 2010 +0300
+++ b/cryptoservices/certificateandkeymgmt/group/security_certman.mrp	Fri Jun 11 15:32:35 2010 +0300
@@ -1,19 +1,3 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: 
-#
-
 component	security_certman
 source	\sf\os\security\cryptoservices\certificateandkeymgmt
 binary	\sf\os\security\cryptoservices\certificateandkeymgmt\group	all
--- a/cryptoservices/filebasedcertificateandkeystores/group/security_filetokens.mrp	Thu May 27 14:32:46 2010 +0300
+++ b/cryptoservices/filebasedcertificateandkeystores/group/security_filetokens.mrp	Fri Jun 11 15:32:35 2010 +0300
@@ -1,19 +1,3 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: 
-#
-
 component	security_filetokens
 source	\sf\os\security\cryptoservices\filebasedcertificateandkeystores
 binary  \sf\os\security\cryptoservices\filebasedcertificateandkeystores\group all
--- a/cryptoservices/filebasedcertificateandkeystores/test/keytool/keytool.cpp	Thu May 27 14:32:46 2010 +0300
+++ b/cryptoservices/filebasedcertificateandkeystores/test/keytool/keytool.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -2,7 +2,7 @@
 * Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/security_info/security_metadata/security_metadata.mrp	Thu May 27 14:32:46 2010 +0300
+++ b/security_info/security_metadata/security_metadata.mrp	Fri Jun 11 15:32:35 2010 +0300
@@ -1,19 +1,3 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: 
-#
-
 component           security_metadata
 source   \sf\os\security\security_info\security_metadata 
 source   \sf\os\security\package_definition.xml
--- a/securityanddataprivacytools/securityconfig/group/security_config.mrp	Thu May 27 14:32:46 2010 +0300
+++ b/securityanddataprivacytools/securityconfig/group/security_config.mrp	Fri Jun 11 15:32:35 2010 +0300
@@ -1,19 +1,3 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: 
-#
-
 component	security_config
 source  	\sf\os\security\securityanddataprivacytools\securityconfig
 binary  	\sf\os\security\securityanddataprivacytools\securityconfig\group all
--- a/securityanddataprivacytools/securitytools/certapp/utils/openssl_license.cpp	Thu May 27 14:32:46 2010 +0300
+++ b/securityanddataprivacytools/securitytools/certapp/utils/openssl_license.cpp	Fri Jun 11 15:32:35 2010 +0300
@@ -2,7 +2,7 @@
 * Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
+* under the terms of the License "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
--- a/securityanddataprivacytools/securitytools/group/security_tools.mrp	Thu May 27 14:32:46 2010 +0300
+++ b/securityanddataprivacytools/securitytools/group/security_tools.mrp	Fri Jun 11 15:32:35 2010 +0300
@@ -1,19 +1,3 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: 
-#
-
 component	security_tools
 source	\sf\os\security\securityanddataprivacytools\securitytools
 binary	\sf\os\security\securityanddataprivacytools\securitytools\group	all